FFMPEG 错误读取输入 h264 文件的 fps,导致输出文件的持续时间错误

FFMPEG reads fps of input h264 file wrong, resulting in wrong duration of output file

我正在尝试使用 ffmpeg 将使用 python 创建的 .h264 文件从传入流转换为 xvid 格式。

文件长 30 分钟,帧率为 12fps。但是,转换后的文件会自动创建一个 25fps 的文件,因此长度为 14.4 分钟。如果我将 fps 设置为 ffmpeg -i test.h264 -r 12 test.avi,它会创建一个 14.4 分钟长的视频,fps 为 12。

如何将其设置为以 12fps 的速度查看传入视频?我尝试使用 FOURCC 在 python 中编码的 xvid 中立即录制,但在 mac OS X 上,唯一似乎有效的编解码器是 mp4v。我还尝试使用 MP4Box,它创建了正确的视频持续时间和 fps,但我无法将其设置为 xvid 编码(我需要)。

输入和输出的选项相同。如果它们在 -i 之前设置,它们将应用于输入文件。在 -i 之后,它们将应用于输出。 一切都在 doc

中解释
ffmpeg -r 12 -i inuputAt12fps.h264 -r 25 outputAt25Fps.avi