ffmpeg批量mov转换mp4格式脚本
vim convertMP4.sh
输入脚本:
#!/bin/bash # 检查是否提供了输入目录路径 if [ -z "$1" ]; then echo "Usage: $0 <input_directory>" exit 1 fi # 获取输入目录路径 input_directory="$1" # 检查输入目录是否存在 if [ ! -d "$input_directory" ]; then echo "Error: Directory $input_directory does not exist." exit 1 fi # 遍历输入目录下的所有 .mov 文件 for file in "$input_directory"/*.mov; do # 检查文件是否存在 if [ ! -f "$file" ]; then echo "No .mov files found in the directory." exit 1 fi # 获取文件名(不包括扩展名) filename=$(basename "$file" .mov) # 定义输出文件名 output_file="$input_directory/${filename}.mp4" # 执行转换 ffmpeg -i "$file" -c:v libx264 -preset slow -crf 22 -c:a aac -b:a 192k "$output_file" done echo "Conversion completed."
# 执行转换(转为4K压缩无损) ffmpeg -i "$file" -vf "scale=3840:2160" -c:v libx265 -x265-params lossless=1 -c:a aac -b:a 192k "$output_file"
解释 -vf "scale=3840:2160":此选项将视频分辨率调整为 4K(3840x2160)。 -c:v libx265:使用 libx265 编码器,这种编码器在处理高分辨率视频时更有效,并支持无损模式。 -x265-params lossless=1:设置 libx265 编码器为无损模式,以尽量保持原始画质。 -c:a aac -b:a 192k:音频部分使用 aac 编码器,码率设置为 192 kbps。你可以根据需要调整音频码率,虽然这不会影响视频画质。
授权:
chmod +x convertMP4.sh
执行脚本:
./convertMP4.sh /tmp/mov