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

 

posted @ 2024-08-21 12:54  ToDarcy  阅读(148)  评论(0编辑  收藏  举报