如何使用时间戳对视频进行编码以实现音频/视频同步

如何使用时间戳对视频进行编码以实现音频/视频同步

免责声明:不幸的是,我对编解码器和使用 FFMPEG 还很陌生,因此对于任何错误的术语或这实际上是一个很容易解决的问题,我深表歉意。

我有一系列 jpeg 图像和一系列 mp3 帧,其中每个帧都有一个相关的时间戳。

通过假设可以从图像数量/视频持续时间中找到的恒定帧速率,我能够将 jpeg 图像组合成 AVI,将 mp3 帧组合成 wav(在对 FFMPEG 进行一些愚蠢的操作之后)。然后可以以简单的方式将它们组合起来,以创建带有声音和视频的 avi 容器。

大多数情况下,帧速率恒定的假设是正确的,并且会产生音频和视频同步的产品。但是,有时最初录制流时帧速率会大幅降低,导致最终视频完全不同步。

由于我有时间戳,我觉得一定有一种直接的方法来编码视频,其中每个 jpg 帧都以其时间戳命名。然而,我对编码可变速率视频的搜索产生了两个解决方案。第一个需要使用像 MJPEG 这样的编解码器,它接受使用自定义脚本的可变速率编码(看起来不太简单,因为我不是 FFMPEG 的专业人士)。另一个需要重复图像帧以保持恒定的帧速率。

你们建议我做什么?

相关内容