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