我只想创建一个简单的控制台应用程序,它可以录制来自网络摄像头的视频,并在没有GUI界面的情况下将其保存到后台的文件路径中。我只是想从另一个程序调用它,并让它运行基于调用控制台应用程序的母程序的运行时。我发现了这个,How to capture image using webcam in console application ???然而它只捕获图像,我希望它能捕获一个视频。这可能在控制台应用程序?我只找到了使用win Form的例子。我是一个完整的新手。我不确定我在做什么,只是试图复制例子,所以请原谅我的代码。
using System;
using System.Drawing;
using AForge.Video.DirectShow;
using AForge.Video;
using AForge.Video.FFMPEG;
namespace WebCamVideo
{
class Program
{
static FilterInfoCollection WebcamColl;
static VideoCaptureDevice Device;
static void Main(string[] args)
{
WebcamColl = new FilterInfoCollection(FilterCategory.VideoInputDevice);
Console.WriteLine("Press Any Key To Capture Video !");
Console.ReadKey();
Device = new VideoCaptureDevice(WebcamColl[0].MonikerString);
Device.NewFrame += Device_NewFrame;
Console.ReadLine();
}
static void Device_NewFrame(object sender, NewFrameEventArgs e)
{
int width = 320;
int height = 240;
VideoFileWriter FileWriter = new VideoFileWriter();
FileWriter.Open(@"C:\Users\PCuser\desktop\test.avi", width, height, 25, VideoCodec.MPEG4, 100000);
FileWriter.WriteVideoFrame((Bitmap)e.Frame.Clone());
//add code to delay or set timer?
FileWriter.Close();
Console.WriteLine("Stopped .");
}
}
}