audio - 在AVI混合时在AVISTREAMHEADER结构中设置deScale和日期值

标签 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。
如果此媒体文件仅在播放-一切正常,但是如果尝试在其他软件上重新编码为另一种视频格式,则显示不同步。

如何在AVI混合时在AVISTREAMHEADER结构中以编程方式设置dwScale和dwRate值?

最佳答案

How can I programmatically set dwScale and dwRate values in the AVISTREAMHEADER structure at AVI muxing?



MSDN:

This method works by adjusting the dwScale and dwRate values in the AVISTREAMHEADER structure.



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

关于audio - 在AVI混合时在AVISTREAMHEADER结构中设置deScale和日期值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12856809/

相关文章:

Python:使用 pygame 播放声音

javascript - WebGL 是否能够有效地处理声音?

android - 在无效状态 : 4 中调用 MediaRecorder 启动

c# - 有哪些网站提供有关 ASP.NET (C#) 的免费视频教程?

php - 使用 PHP 的同步函数

android - 在Android中录制几个音频

ios - 当我的应用程序的音频启动时,如何关闭另一个应用程序的音频?

video - 使用 FFMPEG 编码某个 MP4 GOP

JavaScript:setInterval() 不会产生预期的输出

android - 如何等到在 kotlin 中完成查询?