我只是创建从源过滤器简单的图来记录视频:DirectShow的记录问题 - FPS
SourceFilter ---> Muxer ---> FileWriter
我能保存视频当中来自SourceFilter到我的本地磁盘。
But when i try to play the recorded video, it play in "slow motion" :-).
确定存在fps(帧persecond)问题。我该如何解决它?有任何想法吗?
PS:
要检查我的SourceFilter给右击FPS我简单地创建另一个图表:
SourceFilter ---> Video Decoder ---> Video Renderer
和小青在合适的速度(fps)的
更多详细信息:
SourceFilter(*.mp4 file format) ---> Avi Mux Filter ---> File writer Filter
此记录但在错误的fps。
当我尝试gdcl MP4复合器(can see it here)我成功地获得正确的fps。
SourceFilter(*.mp4 file format) ---> GDCL MPEG 4 Mux Filter ---> File writer Filter
其他情形
SourceFilter(*.h264 file format) ---> Avi Mux Filter ---> File writer Filter
SourceFilter(*.h264 file format) ---> GDCL MPEG 4 Mux Filter---> File writer Filter
它的记录,但记录文件无法播放。
而实际上我不想解码任何东西......只需将最初编码的视频帧(mp4,h264)写入文件即可。而且我也许不需要与视频同步音频...为什么需要Mux?
我理想中的过滤器应该是这样的:
SourceFilter(whatever format) ---> File writer
它可以帮助如果您添加文件格式和编解码器信息的问题 – Ralf 2011-05-30 08:13:26
谢谢拉尔夫。文件格式是mp4和h264。我在更多细节部分提供了更多细节。 @Ralf – DSBoy 2011-05-30 08:45:42
我遇到过类似的问题与AVI mux之前,不幸的是很久以前我不记得在我的情况下是什么问题。根据http://msdn.microsoft,您是否在源代码过滤器中设置VIDEOINFOHEADER的AvgTimePerFrame?COM/EN-US /库/ dd318188(V = vs.85)的.aspx? – Ralf 2011-05-30 09:34:18