抖动视频源帧率

时间:2011-10-18 11:57:35

标签: video directshow avi

用C#编写的应用程序使用DirectShow将音频+视频录制到AVI文件中。 但是,视频源会产生不稳定的帧速率。例如,将帧速率设置为24 fps时,实际速率会抖动24到30 fps。

这会在生成的AVI文件中导致音频/视频同步问题。

一种可能的解决方案是在图形中添加一个过滤器(就在写入AVI之前),调整速率 - 丢帧或复制帧以保持请求的速率。

您认为解决方案是否可行?
解决这个问题的其他方法吗?

谢谢,
乌瑞。

1 个答案:

答案 0 :(得分:2)

AVI容器使用固定帧率,需要在启动文件之前提供。视频帧必须与帧速率匹配,否则如果没有足够的数据,它们可以被丢弃(零长度帧)。因此,AVI格式对于可变帧速率视频来说并不是那么好。

您的选择:

  • 按照建议调整视频帧时间
  • 使用更合适的容器格式
  • 使用较高的AVI帧速率和较低的帧速率,使用较小的时间网格为帧存储所有帧