我有一批1080p的视频,在网上播放占用空间太大,需要进行压缩以后再上传,下面是记录一下ffmpeg命令的使用情况
原视频大小:288mb
--压缩加修改分辨率 640p
ffmpeg -y -i C4995.mp4 -vcodec libx264 -crf 18 -s vga C4995\C4995_2.MP4
-y: 强制覆盖
-i :输入文件
-vcodec libx264 :使用H.264编码格式,这种格式比较通用,其他格式可能会出现转化m3u8后没声音之类的问题,
-crf 18
命令行参数-crf
在优先保证画面质量(也不太在乎转码时间)的情况下,使用-crf参数来控制转码是比较适宜的。这个参数的取值范围为0——51,其中0为无损模式,数值越大,画质越差,生成的文件却越小。从主观上讲,18——28是一个合理的范围。18被认为是视觉无损的(从技术角度上看当然还是有损的),它的输出视频质量和输入视频相当。
-s vga: 指定分辨率, vga 代表 600*480
完成后7.89MB
--只压缩
ffmpeg -y -i C4995.mp4 -vcodec libx264 -crf 18 C4995\C4995_3.MP4
--修改分辨率 640p
ffmpeg -y -i C4995.mp4 -vcodec libx264 -s vga C4995\C4995_4.MP4
--修改分辨率 720p
ffmpeg -y -i C4995.mp4 -vcodec libx264 -vf scale=1280:720 C4995\C4995_5.MP4
-vf scale=1280:720
使用1280*720的分辨率
综合压缩后的文件大小以及视频质量来看,最后一种使用720P的比较适当一些