比如有个视频文件139MB input.avi
ffprobe input.avi
Input #0, avi, from 'input.avi':
Metadata:
encoder : Lavf51.12.1
Duration: 00:21:20.16, start: 0.000000, bitrate: 891 kb/s
Stream #0:0: Video: mpeg4 (Simple Profile) (xvid / 0x64697678), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 769 kb/s, 25 fps, 25 tbr, 25 tbn, 25 tbc
Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 32000 Hz, stereo, fltp, 112 kb/s
对于几乎无损的重新容器使用:
ffmpeg -i "input.avi" -c:v copy -c:a copy "input.mp4"
在哪里-c:v copy复制视频
-c:a copy复制音频
转换约 2 秒,结果为 input.mp4 138MB。它速度快,质量几乎与原版相同。 最佳做法是让音频保持原始格式。
ffprobe input.mp4
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
encoder : Lavf58.29.100
Duration: 00:21:20.16, start: 0.000000, bitrate: 884 kb/s
Stream #0:0(und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 769 kb/s, 25 fps, 25 tbr, 12800 tbn, 25 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 32000 Hz, stereo, fltp, 112 kb/s (default)
Metadata:
handler_name : SoundHandler
如果您有时间,并且想重新解码几乎相同的质量,但大小为 1/3,请使用:
ffmpeg -i "input.avi" -c:a copy -c:v vp9 -b:v 100K "input.vp9.mp4"
-c:a copy 复制音频-c:v vp9 -b:v 100K 以 100K 比特率重新编码视频。 138MB 重新编码大约需要 40 分钟,新文件大小为 41MB,质量几乎与原始文件相同,但有点像素化。
ffprobe input.vp9.mp4
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
encoder : Lavf58.29.100
Duration: 00:21:20.16, start: 0.000000, bitrate: 261 kb/s
Stream #0:0(und): Video: vp9 (Profile 0) (vp09 / 0x39307076), yuv420p(tv, progressive), 640x480, 146 kb/s, SAR 1:1 DAR 4:3, 25 fps, 25 tbr, 12800 tbn, 12800 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 32000 Hz, stereo, fltp, 112 kb/s (default)
Metadata:
handler_name : SoundHandler