ffmpeg 批量压缩 mp4 视频文件
2025-01-22 08:19:30 688 字
This post is also available in English and alternative languages.
本篇内容探讨一个用于压缩 MP4 视频的 Shell 脚本。
1. 脚本
此脚本从输入目录读取所有 mp4 文件,使用 H.265 编码进行压缩,并将压缩后的文件保存到输出目录。
1 |
|
2. ffmpeg 参数解释
ffmpeg -i “output_dir/${filename%.*}(1).mp4”
-i "$file"
:指定输入文件。ffmpeg
从$file
变量提供的路径读取输入视频。-c:v libx265
:设置视频编解码器为 H.265(也称为 HEVC)。H.265 是一种高效视频编解码器,与 H.264 相比,在保持相同质量的情况下提供更好的压缩。-x265-params crf=15:preset=veryslow
:该参数控制压缩的质量和速度:crf=15
:恒定码率因子(CRF)值。它控制输出视频的质量。CRF 值范围从 0 到 51,其中 0 为无损,23 为默认值,51 为最差质量。较低的 CRF 值意味着较高的质量。在此脚本中,crf=15
提供高质量输出。preset=veryslow
:控制压缩速度。预设值范围从ultrafast
到placebo
,veryslow
提供更好的压缩效果,但处理时间更长。使用veryslow
意味着脚本将花费更多时间压缩视频,但文件大小会更小,质量更高。
"$output_dir/${filename%.\*}(1).mp4"
:指定输出文件路径和名称。表达式${filename%.*}
移除原始文件名的扩展名,并附加(1)
以避免覆盖原文件。新文件以.mp4
扩展名保存在指定的输出目录中。