本教程演示如何使用LEADTOOLS多媒体SDK创建一个使用188宝金博怎么下载CaptureCtrl从视频源(如网络摄像头)捕获视频,并将其存储到磁盘文件中。
| 概述 | |
|---|---|
| 总结 | 本教程介绍如何在c# Windows控制台应用程序中捕获视频文件。 |
| 完成时间 | 30分钟 |
| Visual Studio项目 | 下载教程项目(3kb) |
| 平台 | Windows c#控制台应用程序 |
| IDE | Visual Studio 2017, 2019 |
| 开发许可 | 下载LEADTOOLS |
| 用另一种语言试试 |
|
LEADTOOLS多媒体捕获188宝金博怎么下载控件包含许多高级功能,简化了从设备和摄像机捕获视频的过程。该工具包附带了利用这些特性的各种演示程序,例如主要的Multimedia188金宝搏beat体育官网 Capture演示程序,它具有多种编程语言的不同版本。188宝金博怎么下载
本教程演示如何使用Capture控件来执行视频文件的简化捕获。
来熟悉创建项目的基本步骤添加引用和设置License教程,在工作之前从视频源捕获到文件-控制台c#教程。
在Visual Studio中,创建一个新的c# Windows控制台项目,并添加以下必要的LEADTOOLS引用。
本教程需要以下本地dll,它们位于< INSTALL_DIR > \ LEADTOOLS21 \ Bin \ Dotnet4 \ x64
Leadtools.dllLeadtools.188宝金博怎么下载Multimedia.dll请注意
不同的SDK特性需要不同的参考。有关完整的列表,请参见188宝金博怎么下载应用程序中必须包含的多媒体文件.
许可证解锁项目所需的特性。它必须在调用任何工具包函数之前设置。有关详细信息,包括针对不同平台的教程,请参阅设置运行时License.
有两种类型的运行时许可证:
请注意
中更详细地介绍了添加LEADTOOLS NuGet和本地引用以及设置许可证添加引用和设置License教程。
随着项目的创建、引用的添加、工具包的解锁以及许可证的设置,编码就可以开始了。
在解决方案资源管理器,打开Program.cs,然后加上使用Leadtools;而且使用Leadtools.Mult188宝金博怎么下载imedia;到使用在顶部阻塞。
//在顶部使用块使用System.Windows.Forms;使用Leadtools;使用Leadtools.188宝金博怎么下载Multimedia;
添加一个名为CaptureVideo (),并在主要方法后Unlock188宝金博怎么下载Multimedia ()方法调用。
静态无效主要(字符串[]参数){Unlock188宝金博怎么下载Multimedia ();CaptureVideo ();}静态无效CaptureVideo (){字符串outputFile =@“C: \ LEADTOOLS21 \资源\ \ 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 = targetformtype . 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{捕获。CaptureTime}秒到文件{outputFile}。按任意键继续…”);控制台。ReadKey (真正的);}
确保测试PC上至少有一个视频源,比如一个摄像设备。通过按运行项目F5,或选择调试->开始调试.
如果步骤正确,应用程序将提示用户选择一个视频设备,然后开始录制到代码中指定的文件,直到按下一个键。
方法选择视频源并从中捕获CaptureCtrl类。