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 编解码器使用什么实现。如果有人知道,我将不胜感激。

4

1 回答 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 视频比特率。

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

于 2012-04-05T20:44:11.710 回答