首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > 多媒体 >

directshow不用编码filter能不能直接捕获视频保存为文件?该如何解决

2012-03-19 
directshow不用编码filter能不能直接捕获视频保存为文件?在写一个视频捕获程序~~使用的是directshow~~预览

directshow不用编码filter能不能直接捕获视频保存为文件?
在写一个视频捕获程序~~使用的是directshow~~
预览可以了,但是在捕获保存为文件时出问题了~~


      HRESULT   hr;
      IBaseFilter   *pMux;
      hr   =   pBuild-> SetOutputFileName(
              &MEDIASUBTYPE_Avi,   //   Specifies   AVI   for   the   target   file.
              L "K:\\Example.avi ",   //   File   name.
              &pMux,   //   Receives   a   pointer   to   the   mux.
              NULL);   //   (Optional)   Receives   a   pointer   to   the   file   sink.
      if   (FAILED(hr))
      {
              AfxMessageBox( "´´½¨graphʧ°Ü ");
                      return   hr;        
      }
      hr   =   pBuild-> RenderStream(
              &PIN_CATEGORY_CAPTURE,   //   Pin   category.
              &MEDIATYPE_Video,   //   Media   type.
              pVideoCap,   //   Capture   filter.
              NULL,   //   Intermediate   filter   (optional).
              pMux);   //   Mux   or   file   sink   filter.
      if   (FAILED(hr))
      {
              AfxMessageBox( "ÊÓƵдÈëÎļþʧ°Ü ");
                      return   hr;
      }


这样直接捕获,而没有用编码filter,可以吗?

如果可以的话,为什么我捕获下来的文件都打不开,每次一打开explorer就占用CPU100%?

[解决办法]
这样理论上也是可以的,不过我都是利用avi mux + File write来保存文件的。
可否把你的构建filter graph的代码贴出来看看!

热点排行