从视频源捕获到文件-控制台c#

本教程演示如何使用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#教程。

创建项目并添加LEADTOOLS引用

中创建的项目的副本开始添加引用和设置License教程。如果您没有该项目,请按照该教程中的步骤创建它。

本教程需要以下本地dll,它们位于< INSTALL_DIR > \ LEADTOOLS22 \ Bin \ Dotnet4 \ x64

请注意

不同的SDK特性需要不同的参考。有关完整的列表,请参见188宝金博怎么下载应用程序中必须包含的多媒体文件

设置License文件

许可证解锁项目所需的特性。它必须在调用任何工具包函数之前设置。有关详细信息,包括针对不同平台的教程,请参阅设置运行时License

有两种类型的运行时许可证:

请注意

中更详细地介绍了添加LEADTOOLS NuGet和本地引用以及设置许可证添加引用和设置License教程。

添加视频捕获代码

随着项目的创建、引用的添加、工具包的解锁以及许可证的设置,编码就可以开始了。

解决方案资源管理器,打开Program.cs,然后添加使用Leadtools;而且使用Leadtools.Mult188宝金博怎么下载imedia;使用在顶部阻塞。

c#
//在顶部使用块使用System.Windows.Forms;使用Leadtools;使用Leadtools.188宝金博怎么下载Multimedia;

添加一个名为CaptureVideo (),并在主要方法后Unlock188宝金博怎么下载Multimedia ()方法调用。

c#
静态无效主要(字符串[]参数)Unlock188宝金博怎么下载Multimedia ();CaptureVideo ();静态无效CaptureVideo ()字符串outputFile =@“C: \ LEADTOOLS22 \资源\ \ captured.avi图像”CaptureCtrl捕捉=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捕捉{捕捉。CaptureTime}秒到文件{outputFile}。按任意键继续…”);控制台。ReadKey (真正的);

运行该项目

确保测试PC上至少有一个视频源,比如一个摄像设备。通过按运行项目F5,或选择调试->开始调试

如果步骤正确,应用程序将提示用户选择一个视频设备,然后开始录制到代码中指定的文件,直到按下一个键。

总结

方法选择视频源并从中捕获CaptureCtrl类。

另请参阅

net
iOS
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2022领先的技术公司。保留所有权利。