在AVI多路复用器中设置AVISTREAMHEADER结构中的deScale和date值

时间:2012-10-12 10:09:36

标签: audio video synchronization directshow avi

从一些音频和视频源捕获并在AVI容器上进行编码以同步音频和放大器视频我将音频设置为主流,这为同步提供了最佳结果。

http://msdn.microsoft.com/en-us/library/windows/desktop/dd312034(v=vs.85).aspx

但是这种方法会产生更高的FPS值。大约40或50而不是30 FPS。 如果这个媒体文件只是播放 - 一切OK,但如果尝试在不同的软件上重新编码,则另一种视频格式显示不同步。

如何在AVI多路复用中以编程方式在AVISTREAMHEADER结构中设置dwScale和dwRate值?

1 个答案:

答案 0 :(得分:0)

  

如何在AVI多路复用中以编程方式在AVISTREAMHEADER结构中设置dwScale和dwRate值?

MSDN:

  

此方法通过调整AVISTREAMHEADER结构中的dwScale和dwRate值来工作。

您请求多路复用器管理比例/速率值,因此您无法对其进行调整。您应该在文件中看到更多奇怪的东西,而不仅仅是更高的FPS。文件本身可能不同步,只要您使用其他不进行播放微调的应用程序处理它,您就会开始看到问题。您可能正在使用显示一帧速率的视频媒体类型,并且实际上速率不同。