视频捕获C#实现,之两种方法

by 曾经沧海
632 阅读

方法一

      视频捕获是指由专用的视频采集卡捕获声频和视频信息,然后将其进行数据化处理,再经过软件的压缩进行处理,这时就可对这些数据进行保存、回放、传输等各种操作。
Windows专门提供了Video for Windows来对视频处理进行支持,提供的接口可以被大多数的视频采集卡支持,并有多种视频压缩驱动供选择(当然视频压缩可以自己开发),采集卡支持摄像头,TV等多种输入。

     当你创建了一个AVICap类的捕捉窗口并将它连接到一个视频驱动时, 此捕捉窗口即可以开始捕捉数据, 你的程序可以简单的发送WM_CAP_SEQUENCE消息(或者使用capCaptureSequence宏)来开始捕捉.如果是缺省的设置, WM_CAP_SEQUENCE会开始捕捉视频音频流到CAPTURE.AVI文件中, 直到下面的某一事件发生为止:
用户按下了ESC键或者一个鼠标键
你的应用程序终止或异常中断捕捉操作,主要步骤有:

1.创建捕获窗口(CREATING A CAPTURE WINDOW) 8
2.连接到捕获驱动(CONNECTING TO A CAPTURE DRIVER) 9
3.列举所有已安装的捕获驱动(ENUMERATING INSTALLED CAPTURE DRIVERS) 9
4.得到捕获驱动的性能(OBTAINING THE CAPABILITIES OF A CAPTURE DRIVER) 9
5.得到捕获窗口的状态(OBTAINING THE STATUS OF A CAPTURE WINDOW) 10
6.显示对话框设置视频特征(DISPLAYING DIALOG BOXES TO SET VIDEO CHARACTERISTICS) 10
7.得到和设置视频格式(OBTAINING AND SETTING THE VIDEO FORMAT) 11
8. 预览视频(PREVIEWING VIDEO) 12
9.将视频设置为OVERLAY模式(ENABLING VIDEO OVERLAY) 12
10.命名捕获文件(NAMING THE CAPTURE FILE) 12
11.格式化声频捕获(FORMATTING AUDIO CAPTURE) 12
12.改变视频捕获设置(CHANGING A VIDEO CAPTURE SETTING) 13
13.捕获数据(CAPTURING DATA) 13
14.增加一个信息块(ADDING AN INFORMATION CHUNK) 14
15.在程序中加入一个回调函数(ADDING CALLBACK FUNCTIONS TO AN APPLICATION) 14
16.创建一个状态回调函数(CREATING A STATUS CALLBACK FUNCTION) 16
17.创建一个错误回调函数( CREATING AN ERROR CALLBACK FUNCTION) 17
18.创建一个框架回调函数(CREATING A FRAME CALLBACK FUNCTION) 18

可以参考资料ms-help://MS.MSDNQTR.2003FEB.2052/multimed/avicap_8xyd.htm

源代码下载点击下载

方法二代码下载点击下载

发表评论