例如,有一个视频文件139MB input.avi。
ffprobe input.avi
Input
Metadata:
encoder : Lavf51.12.1
Duration: 00:21:20.16, start: 0.000000, bitrate: 891 kb/s
Stream
Stream
对于几乎无损的重新容器化,请使用:
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
Metadata:
handler_name : VideoHandler
Stream
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
Metadata:
handler_name : VideoHandler
Stream
Metadata:
handler_name : SoundHandler
ffmpeg -i mymovie.avi
,其中mymovie.avi
被替换为你的视频名称。 - enhzflep