100分求保存avi的解决方案

heyjimmy 2006-04-08 09:43:10
我想控制视频流到AVI文件的保存,就是说可以自己决定什么时候开始保存avi,什么时候停止,但是预览不能停,中间我用的是inf tee分流,现在我做的是当点击保存时候重建graph,但这样效率好低,请问大家有什么好方法没有??
...全文
216 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wolf_baby 2006-04-08
  • 打赏
  • 举报
回复
可以重写file writer filter,在它里面触发写文件;即使是重建filter graph来写文件,我也不认为有什么效率低之说,不知你是什么意思?
happydeer 2006-04-08
  • 打赏
  • 举报
回复
重建filter graph会导致preview短时间的不可见。

一般用dshow来写avi文件,构建的filter graph如下:
(video stream) -> |
| avi mux |-> file writer
(audio stream) -> |
这个filter graph的问题是,只有在filter graph正常stop时,写出来的avi文件才是正常的,才能以后被playback。因为avi mux仅在filter graph stop的时候,往avi文件的头部或尾部写入一些信息,这些信息对于一个合法的avi文件来说必须的。(微软并没有公开avi mux的源码,以上仅是推测!)

现在的问题是,要在不stop filter graph的前提下写多个avi文件。解决的方法,要么自己研究透avi文件格式,然后完全自己来写avi文件(不用微软的avi mux + file writer);或者推荐LZ读一下下面一篇文章:
Multiple Graphs in DirectShow
http://www.gdcl.co.uk/articles/index.htm

2,554

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧