Camera 程序

1、视频捕捉图形管理器接口

       CComPtr<ICaptureGraphBuilder2>      m_pCaptureGraphBuilder;

2、视频捕捉设备

   查找设备

HANDLE FindFirstDevice(DeviceSearchType searchType, LPCVOID pvSearchParam, __out PDEVMGR_DEVICE_INFORMATION pdi);

绑定设备

//创建视频捕捉Filter

CHK(m_pVideoCaptureFilter.CoCreateInstance(CLSID_VideoCapture));

//得到视频捕捉属性页接口

    CHK(m_pVideoCaptureFilter->QueryInterface(&m_pPropertyBag ));

//视频设备属性页

       CComPtr<IPersistPropertyBag>    m_pPropertyBag ;

 

3、视频捕捉filterpin

预览 pin 和捕捉 和和捕捉 pin

视频捕捉 Filter都提供了预览和捕捉的输出 pin,预览 pin 用来将视频流在屏幕上显示,捕捉pin 用来将视频流写入文件。

预览 pin和输出 pin有下面的区别:

1  为了保证捕捉 pin 对视频桢流量,预览 pin 必要的时候可以停止。

2  经过捕捉 pin 的视频桢都有时间戳,但是预览 pin 的视频流没有时间戳。

预览 pin 的视频流之所以没有时间戳的原因在于 filter 图表管理器在视频流里加一个很小的latency,如果捕捉时间被认为就是 render 时间的话,视频 renderFilter 就认为视频流有一个小小的延迟,如果此时 render filter试图连续播放的时候,就会丢桢。去掉时间戳就保证了视频桢来了就可以播放,不用等待,也不丢桢。

预览 pin的种类GUID PIN_CATEGORY_PREVIEW

捕捉 pin的种类GUID PIN_CATEGORY_CAPTURE

4、预览视频

CHK(m_pCaptureGraphBuilder->RenderStream( &PIN_CATEGORY_PREVIEW,

5、捕捉视频保存为文件

m_pCaptureGraphBuilder->RenderStream( &PIN_CATEGORY_CAPTURE

m_pCaptureGraphBuilder->RenderStream

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值