添加 archrived-shells/ffmpeg.sh
This commit is contained in:
29
archrived-shells/ffmpeg.sh
Normal file
29
archrived-shells/ffmpeg.sh
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
#!/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 "所有任务执行完毕。"
|
||||||
Reference in New Issue
Block a user