Direcshow中视频捕捉和参数设置报告.docVIP

  • 17
  • 0
  • 约2.02万字
  • 约 21页
  • 2021-08-11 发布于山东
  • 举报
Direcshow中视频捕捉和参数设置报告 Direcshow中视频捕捉和参数设置报告 PAGE / NUMPAGES Direcshow中视频捕捉和参数设置报告 Direcshow 中视频捕获和参数设置报告 1. 对于视频捕获( About Video Capture in Dshow ) 1 视频捕获  Graph 的建立 一个能够捕获音频或许视频的  graph 图都称之为捕获  graph 图。捕获  graph 图比一般的文件回放  graph 图要复杂很多,  dshow 供给了一个  Capture Graph Builder COM 组件使得捕获  graph 图的生成更为简单。  C apture Graph Builder 供给了一个 ICaptureGraphBuilder2 接口,这个接口供给了一些方法用来建立和控制捕 捉 graph。 第一创立一个 Capture Graph Builder 对象和一个 graph manger 对象,而后用 filter graph manager 作 参数,调用 ICaptureGraphBuilder2::SetFiltergraph 来初始化 Capture Graph Builder 。看下边的代码把 HRESULT InitCaptureGraphBuilder( IGraphBuilder **ppGraph, // Receives the pointer. ICaptureGraphBuilder2 **ppBuild // Receives the pointer. ) { if (!ppGraph || !ppBuild) { return E_POINTER; } IGraphBuilder *pGraph = NULL; ICaptureGraphBuilder2 *pBuild = NULL; // Create the Capture Graph Builder. HRESULT hr = CoCreateInstance(CLSID_CaptureGraphBuilder2, NULL, CLSCTX_INPROC_SERVER, IID_ICaptureGraphBuilder2, (void**)pGraph); if (SUCCEEDED(hr)) { // Create the Filter Graph Manager. hr = CoCreateInstance(CLSID_FilterGraph, 0, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void**)pGraph); if (SUCCEEDED(hr)) { Initialize the Capture Graph Builder. pBuild-SetFiltergraph(pGraph); Return both interface pointers to the caller. *ppBuild = pBuild; *ppGraph = pGraph; // The caller must release both interfaces. return S_OK; } Else { pBuild-Release(); } } return hr; // Failed } 2. Direcshow 中视频捕获的 Filter Pin 的种类 捕获 Filter 一般都有两个或多个输出 pin ,他们输出的媒体种类都同样, 比方预览 pin 和捕获 依据媒体种类就不可以很好的差别这些 pin 。此时就要依据 pin 的功能来差别每个 pin 了,每个 pin  pin,所以 都有一个 GUID ,称为  pin 的种类。 假如想认真的认识 pin 的种类,请看后边的有关内容 来说, ICaptureGraphBuilder2 供给了一些函数能够自动确立  Working with Pin Categories。对于大部分的应用 pin 的种类。 预览  pin 和捕获  pin 视频捕获 Filter 都供给了预览和捕获的输出 pin ,预览 pin 用来将视频流在屏幕上显示,捕获 pin 用来 将视频流写入文件。 预览 pin 和输出 pin 有下边的差别: 1 为了保证捕获 pin 对视频桢流量,预览 pin 必需的时候能够停止。 2 经过捕获 pin 的视频桢都有时间戳,可是预览 pin 的视频流没有时间戳。 预览 pin 的视频流之所以没有时间戳的原由在于 filter 图表管理器在视频流里加一个很小的 latency,如 果捕获时间被以为就是 render 时间的话,视频

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档