#!/bin/bash extensions=("mp4" "avi" "mov" "mkv" "flv" "wmv") echo "开始批量转码,输出格式为 AVC/H.264 编码的 MP4..." echo for ext in "${extensions[@]}"; do for file in *."$ext"; do # 检查文件是否存在(避免没有匹配文件时报错) [ -f "$file" ] || continue output="${file%.*}.mp4" if [ ! -f "$output" ]; then echo "正在转码: $file --> $output" ffmpeg -i "$file" -c:v libx264 -preset medium -crf 23 -c:a aac -b:a 128k "$output" if [ $? -eq 0 ]; then echo "完成: $file" else echo "转码失败: $file" fi echo else echo "跳过 $file,因为 $output 已存在。" fi done done echo "所有任务执行完毕。"