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