FFmpeg视频转化
使用 FFmpeg 将一个 4K 视频转换为高质量但大小减少的 1080P 视频,可以通过调整视频分辨率和编码参数来实现。以下是具体步骤和命令:
FFmpeg 命令说明
ffmpeg -i input_4k.mp4 -vf scale=1920:1080 -c:v libx264 -preset slow -crf 23 -c:a aac -b:a 192k -movflags +faststart output_1080p.mp4
参数详解
-i input_4k.mp4指定输入文件,替换为你的 4K 视频文件名。-vf scale=1920:1080使用视频滤镜将分辨率缩放到 1080P(1920x1080)。-c:v libx264指定视频编码器为 H.264(高效压缩且兼容性好)。-preset slow编码速度设置为slow,它会在保证质量的同时优化文件大小。其他选项包括ultrafast(最快但质量差)到veryslow(最慢但质量最好)。-crf 23CRF(恒定质量因子)是控制视频质量的关键参数,范围是 0-51,数值越低质量越高。推荐值为 18-28,23 是一个平衡质量和大小的选择。-c:a aac指定音频编码器为 AAC(高效音频编码)。-b:a 192k设置音频比特率为 192kbps,保证音频质量。-movflags +faststart为方便视频在网页上流式播放,将文件的元数据移动到开头。output_1080p.mp4指定输出文件名。
优化建议
-
进一步减小文件大小 如果文件大小仍然较大,可以尝试增加
-crf值(例如 25 或 28),但会牺牲一定的质量。 -
切换编码器 如果需要更高的压缩率,可以使用
libx265编码器(H.265),但需要确保目标设备支持 H.265:ffmpeg -i input_4k.mp4 -vf scale=1920:1080 -c:v libx265 -preset slow -crf 28 -c:a aac -b:a 192k -movflags +faststart output_1080p.mp4 -
调整帧率 如果帧率较高(如 60fps), 可以通过
-r参数降低帧率(如 30fps)来进一步减少文件大小:ffmpeg -i input_4k.mp4 -vf scale=1920:1080 -r 30 -c:v libx264 -preset slow -crf 23 -c:a aac -b:a 192k -movflags +faststart output_1080p.mp4