DirectShow C ++:生成的avi文件中的持续时间和Fps错误

时间:2011-11-28 10:55:12

标签: c++ directshow duration avi frame-rate

我有一个如下所述的directshow图: “File.mov” - > haali Splitter-> ffdshow decoder - >自定义过滤器 - > avi Mux->文件编写器(File.avi)。

原始文件的Fps为30 Fps(File.mov),持续时间为6秒。

提示中的行为:当我在提示符中运行应用程序时,我获得了一个持续时间大约为12秒且Fps为25的文件。完成的是每个帧重复两次

Graphedit工具中的行为:当我在Graphedit中运行相同的图形时,播放正在进行,直到进度条已满,但从不停止(停止按钮不会变为灰色)。如果我使用停止按钮强制停止,File.avi将自动从光盘中删除。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

请参阅DirectShow Record Problem - fps

上的讨论

avi文件格式没有每帧时间戳。如果用于创建文件的媒体类型帧速率与您传递的时间戳不匹配,则多路复用器将创建丢弃的帧标记。