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

方法一

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

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

1.创建捕获窗口(CREATINGACAPTUREWINDOW)8
2.连接到捕获驱动(CONNECTINGTOACAPTUREDRIVER)9
3.列举所有已安装的捕获驱动(ENUMERATINGINSTALLEDCAPTUREDRIVERS)9
4.得到捕获驱动的性能(OBTAININGTHECAPABILITIESOFACAPTUREDRIVER)9
5.得到捕获窗口的状态(OBTAININGTHESTATUSOFACAPTUREWINDOW)10
6.显示对话框设置视频特征(DISPLAYINGDIALOGBOXESTOSETVIDEOCHARACTERISTICS)10
7.得到和设置视频格式(OBTAININGANDSETTINGTHEVIDEOFORMAT)11
8.预览视频(PREVIEWINGVIDEO)12
9.将视频设置为OVERLAY模式(ENABLINGVIDEOOVERLAY)12
10.命名捕获文件(NAMINGTHECAPTUREFILE)12
11.格式化声频捕获(FORMATTINGAUDIOCAPTURE)12
12.改变视频捕获设置(CHANGINGAVIDEOCAPTURESETTING)13
13.捕获数据(CAPTURINGDATA)13
14.增加一个信息块(ADDINGANINFORMATIONCHUNK)14
15.在程序中加入一个回调函数(ADDINGCALLBACKFUNCTIONSTOANAPPLICATION)14
16.创建一个状态回调函数(CREATINGASTATUSCALLBACKFUNCTION)16
17.创建一个错误回调函数(CREATINGANERRORCALLBACKFUNCTION)17
18.创建一个框架回调函数(CREATINGAFRAMECALLBACKFUNCTION)18

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

源代码下载点击下载

方法二代码下载点击下载

来自:http://fanhaijun.com/?p=447

你可能感兴趣的:(C#)