本教程演示如何使用CaptureCtrl
使用LEADTOOLS多媒体SDK从视频源(如网络摄像头)捕获视频,并将其存储到c# Windows控制台应用程序中的磁盘文件中。188宝金博怎么下载
概述 | |
---|---|
总结 | 本教程介绍如何在c# Windows控制台应用程序中捕获视频文件。 |
完成时间 | 30分钟 |
Visual Studio项目 | 下载教程项目(3kb) |
平台 | Windows c#控制台应用程序 |
IDE | Visual Studio 2019, 2022 |
开发许可 | 下载LEADTOOLS |
用另一种语言试试 |
|
LEADTOOLS多媒体捕获188宝金博怎么下载控件包含许多高级功能,可简化从设备和摄像机捕获视频的过程。该工具包附带了使用这些特性的各种演示,比如主要的Multimedia C188金宝搏beat体育官网apture演示,它有多种编程语言的不同版本。188宝金博怎么下载
本教程演示如何使用Capture Control来执行视频文件的简化捕获。
步骤熟悉创建项目的基本步骤添加引用和设置License教程,在工作之前从视频源捕获到文件-控制台c#教程。
中创建的项目的副本开始添加引用和设置License教程。如果您没有该项目,请按照该教程中的步骤创建它。
本教程需要以下本地dll,它们位于< INSTALL_DIR > \ LEADTOOLS22 \ Bin \ Dotnet4 \ x64
Leadtools.dll
Leadtools.188宝金博怎么下载Multimedia.dll
请注意
不同的SDK特性需要不同的引用。有关完整列表,请参阅188宝金博怎么下载多媒体文件,你必须包括与您的应用程序.
许可证解锁项目所需的特性。它必须在调用任何工具箱函数之前设置。有关详细信息,包括针对不同平台的教程,请参阅设置运行时License.
有两种类型的运行时许可证:
随着项目的创建、引用的添加、工具包的解锁以及许可证的设置,编码就可以开始了。
在解决方案资源管理器,打开Program.cs
,然后加上使用Leadtools;
而且使用Leadtools.Mult188宝金博怎么下载imedia;
到使用
顶部的块。
//在顶部使用块
使用System.Windows.Forms;
使用Leadtools;
使用Leadtools.188宝金博怎么下载Multimedia;
添加一个名为CaptureVideo ()
,并在主要
方法。Unlock188宝金博怎么下载Multimedia ()
方法调用。
静态无效主要(字符串[]参数)
{
Unlock188宝金博怎么下载Multimedia ();
CaptureVideo ();
}
静态无效CaptureVideo ()
{
字符串outputFile =@“C: \ LEADTOOLS22 \资源\ \ captured.avi图像”;
CaptureCtrl capture =新CaptureCtrl (真正的);
intdeviceCount = capture.VideoDevices.Count;
如果(deviceCount < 1)
{
控制台。WriteLine (“没有找到兼容的设备。退出。”);
返回;
}
控制台。WriteLine ("输入设备编号并按Enter键选择设备:");
为(intN = 0;n < deviceCount;n + +)
Console.WriteLine (n.ToString () +": "+ capture.VideoDevices [n] .FriendlyName);
intdeviceIndex =int.Parse (Console.ReadLine ());
控制台。WriteLine (“准备捕获……”);
capture.VideoDevices.Selection = deviceIndex;
捕捉。TargetFile = outputFile;
捕捉。TargetFormat = TargetFormatType.AVI;
//选择合适的压缩机
capture.VideoCompressors.MJpeg.Selected =真正的;
/ /使用CaptureMode。如果音频设备也被选中,则VideoAndAudio。
capture.StartCapture (CaptureMode.Video);
控制台。WriteLine (“捕捉到文件。按任意键停止捕获…”);
而(Console.KeyAvailable !)
{
System.Windows.Forms.Application.DoEvents ();
intcapMilliSeconds = (int)(1000 * capture.CaptureTime);
如果(capMilliSeconds % 1000 == 0)//每秒打印一个点
{
控制台。写(“。”);
System.Threading.Thread.Sleep (1);
}
}
capture.StopCapture ();
控制台。ReadKey (真正的);
控制台。WriteLine ($\nFinished capturing {capture. "CaptureTime}秒到文件{outputFile}。按任意键继续…”);
控制台。ReadKey (真正的);
}
确保测试PC上至少有一个视频源,比如一个摄像设备。按下运行项目F5,或选择Debug ->开始调试.
如果步骤正确,应用程序将提示用户选择一个视频设备,然后开始录制到代码中指定的文件,直到按下一个键。
方法选择视频源并从中捕获CaptureCtrl
类。