Directshow持续捕获

时间:2012-06-06 15:22:15

标签: visual-c++ directshow video-capture

我在直接演示中有Mp4 Capture Application。在我的应用程序中,我需要连续拍摄30分钟(或说一些动态值)视频

为我做了一个WaitableTimer例程,30分钟后我想停止捕获然后重新开始...但是在我开始捕获后停止捕获下一个样本后,流不会被添加到文件中。要开始下一次捕获,我必须再次发布所有捕获变量获取设备并构建图形,然后我就可以开始捕获。

我不能简单地停止捕获,然后重命名输出文件并再次开始捕获?有什么需要添加额外的吗?

请帮我解决这个问题。

由于

修改: 以下是我用于录制的图表

Video Source --> x264vfw - H.264/MPEG-4 AVC Codec --------->GDCL MPEG-4 Multiplexer --> File Writer                                             
                                                        | 
Audio Source --> ACM Wrapper --> Monogram AAC Encoder --|

1 个答案:

答案 0 :(得分:0)

我们做类似捕捉DV-Avi的事情。你试过:

  1. 停止图表
  2. 删除文件编写器
  3. 创建新的File-Writer(并配置)
  4. 将文件编写器连接到多路复用器
  5. 然后重新开始
  6. 如果这不起作用,则Muxer或其他一个过滤器出现问题。你可以轻松测试这个,只需用音频和视频渲染器替换Muxer,然后尝试播放,停止,播放。

    您也可以尝试其他MP4 mux过滤器,例如monogram mp4 mux