如何使用LEADTOOLS捕获实时视频流,保存为DVR文件并传送:25天25个项目

发布时间:2016/12/26 00:12 发布者:Richard.Ma

返回博客中心

作为LEAD Technologies 25周年纪念的一部分,我们正在搞一个“25天收集25个项目来展示LEAD功能强度和易用性”的活动。今天要展示的项目来自于穆罕默德的分享。

 

它是做什么的

使用LEADTOOLS第19版,该C#编写的项目可以捕捉,并通过RTSP播放DVR和视频流。

 

所使用的功能

· RTSP

· Multimedia Capture

· DVR

· MPEG-4

· AAC

 

 

开发进程日志

大家好,我是穆罕默德。我要创建这样一个程序,该程序可以用我们的多媒体工具包来捕捉实况视频流,并将其保存为LEADTOOLS 的DVR文件格式,然后在现场捕获还在进行时使用我们的RTSPServer 来传送所生生的DVR文件。

一般在截屏开始后不久,就可以开始进行数据传送了。如果用户希望用这种方式的话,那么这基本就是实时传送视频流。

在这个项目中,我可以使用LEADTOOLS的多媒体SDK和并在.NET 环境下使用C#编程语言进行编码。该LEADTOOLS的多媒体SDK可以允许我对媒体文件进行显示、捕获和转换。该项目的整个进程包括以下几个部分:

  • 创建一个截屏控件,并列举可用的音频和视频设备。
  • 将该“Capture ”控件的目标格式类型设置为DVR,以便使视频在从录制的视频中读取数据的同时不断地得到补充,且无需停止截屏。
  • 创建RTSPServer ,并对RTSPServer的IP地址和端口号进行初始化。
  • 开始传送所生成的DVR文件。

首先,我要用Visual Studio 2010中一个新的Windows Forms应用程序来启动该项目。在该表单中,我要添加一个Capture 控件,两个音频和视频设备的组合框,几个按钮,以及几个每个步骤都需要用户来操作的按钮。

现在我已经将所需要的Capture 控件和其他对象添加到该项目中。要想使Capture 控件开始运行,我需要使用LEADTOOLS 的CaptureCtrl类:

Documentation: CaptureCtrl

该项目可以在一个组合框内枚举可用的视频和音频截取设备。此外,它有能力变更所选择的设备的属性。

处理这些设备中的截屏操作并将其保存为DVR格式只花了我不到一个小时的时间,因为我们的多媒体SDK大大简化了对多媒体功能的处理过程。如果我打算用DirectShow而不是LEADTOOLS来实现这一点,可能需要几天的时间才能做一个与之类似的、简单的应用程序。

接下来,我要为它添加一个可以获取你机器的V4IP地址的功能。

到现在为止,我所花费的总时间约为4小时。这包括进行窗体设计,获取IP地址,选择硬件设备,和用MPEG-4视频和AAC音频压缩工具将其结果保存为LBL格式(LEADTOOLS DVR)。

现在,我要添加RTSPSever 代码。基于目前为止我用LEADTOOLS的多媒体SDK所完成的部分,我希望该控件是只需要少量的代码就可以完成的、一个高水平的控件,但,同时它能够完成的工作量又是相当可观的。

Documentation: Creating a RTSP Server

这一部分现在已经完成了,总共花费了我大约半小时的时间。

接下来,我要对最终的外观设计再做一些收尾的工作...

这部分大概也花了我半个多小时的时间,而我现在对该程序的外观和感觉都是比较满意的。

最后涉及到的是程序测试这一部分,为此,我会体验一下将该应用程序在不同的机器上运行,以及在另一台机器上播放视频的效果如何。一个半小时之后,我认为该程序是稳定而可靠的。

在开发、调试和从头测试该应用程序这些进程上,我所花费的时间总量小于7个小时。但是,如果没有LEADTOOLS多媒体SDK的帮助,这个应用程序是不可能在一天之内完成的。

 

下载该项目

该示例项目的源代码您可以点击这里进行下载。

 

16 Capture, DVR and Stream with RTSP.zip (18.42 kb)

要运行该项目,请将其解压缩到该目录下:C:\LEADTOOLS 19\Examples\DotNet\CS directory。

 

支持

关于其他产品的更多信息,请访问我们的官方网站

欢迎下载免费的全功能评估版SDK,全功能试用版中有这个例子的全部源代码。

同时欢迎您使用评估版期间的免费技术支持


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网