ffprobe显示h264流的比特率为0.0或N/A

4

我有一个11分钟的.mkv文件,其中包含一个h264视频流,占用了184MB的空间。我想要减小这个文件的大小。我认为可以通过降低比特率来实现。但是ffprobe没有输出任何比特率。事实上,它说文件长度是从比特率计算出来的,因此可能不准确,但是在摘要或[FORMAT]条目中也没有比特率:

> ffprobe -show_format file.mkv
[matroska,webm @ 0x7f8e8084b200] Estimating duration from bitrate, this may be inaccurate
Input #0, matroska,webm, from 'file.mkv':
  Duration: 00:11:11.59, start: 0.000000, bitrate: N/A
    Stream #0.0: Video: h264 (High), yuv420p, 1280x720 [PAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc (default)
    Stream #0.1: Audio: aac, 48000 Hz, 5.1, s16 (default)
[FORMAT]
...
bit_rate=0.000000 
[/FORMAT]

谢谢。

编辑:我的理解是H.264是一个协议。因此,根据ffprobe文档,我无法确定h264编解码器使用的实现方式。如果有人知道,请告诉我,我会非常感激。

1个回答

5

文件大小/假定持续时间=比特率。(184 MB * 8192 [将MB转换为千比特])/ 671秒=约2246千比特每秒。当然,这是整个文件的平均比特率,而不仅仅是视频流。

如果您想要针对特定的输出文件大小,例如100 MB,并希望音频占用128 kb/s:(100 MB * 8192)/ 671秒=1220 kb/s总比特率-128 kb/s期望音频比特率=1092 kb/s视频比特率。

实际输出文件的最终结果可能会有所不同。


谢谢您的回答,这解决了我的真正问题(压缩那个视频)。 - Dan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接