我有一个带有h264视频流的11分钟.mkv文件,占用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编解码器使用的实现。如果有人知道,我将不胜感激。答案 0 :(得分:4)
文件大小/假设持续时间=比特率。 (184 MB * 8192 [将MB转换为千位])/ 671秒= ~2246千位/秒。当然这是整个文件的平均比特率,而不仅仅是视频流。
如果要定位特定输出文件大小(例如100 MB)并希望音频占用最高128 kb / s:(100 MB * 8192)/ 671秒= 1220 kb / s总比特率 - 128 kb /所需的音频比特率= 1092 kb / s视频比特率。
实际输出文件的最终结果可能会有所不同。