确定 H.264 流的帧速率

确定 H.264 流的帧速率

我使用 x264 将 Lagarith 的视频编码为 H.264,我可能无意中忘记记下它的帧速率。视频流本身不在任何容器中(只是一个 h264 文件),因此它没有任何尺寸或帧速率标头。我无法重新编码视频,因为它花了 4 天时间进行编码并且大小为 66GB。

如果有帮助的话,我知道 fps =(帧数)/持续时间,并且我有一个长度完全相同的 FLAC 文件,但我不知道从 h264 文件中获取帧数和 FLAC 文件的确切长度。

我该如何找到视频的帧速率?

答案1

您可以尝试将 .264 比特流包装到容器中MP4盒

mp4box -add input.264 -new out.mov

然后,使用任何播放工具照常识别帧速率,或媒体信息。但是,这可能不是开箱即用的。您可以尝试像这样指定帧速率:

mp4box -add input.264 -fps 30 out.mov

现在,您要做的就是尝试不同的帧速率,看看它们是否能给您正确的输出。从这些开始:

  • 24
  • 二十五
  • 29.97
  • 三十
  • 50
  • 60

答案2

事实证明,主文件编码不正确。显然,Adobe Media Encoder CS6 与 Lagarith VfW 编解码器存在一些问题。我在 VirtualDub 中播放了它,音频与视频几乎不同步一个小时(它长达 3 小时)。所以我必须让 AME 将其导出为原始视频(我知道这有效),然后编码为 H.264 和 Lagarith。

查看临时文件夹中的 x264 日志,显然帧速率为 5650/143 fps。

无论如何,谢谢你的帮助:)

相关内容