#! /bin/bash
function convert_video(){extens=("avi" "wmv" "rmvb" "3gp" "mp4")
for file in `ls $1` #遍历文件夹下的文件;注意此处这是两个反引号,表示运行系统命令
do
if [ -d $1"/"$file ] #判断是文件还是文件夹;注意此处之间一定要加上空格,否则会报错
then #文件夹则递归遍历
convert_video $1"/"$file
else
temp=${file##*.}
exten=$(echo $temp | tr '[A-Z]' '[a-z]')
filename=$1"/"$file #输出文件地址
filenamenew=${filename/\/tempfile/} #需要转码的文件放在tempfile临时目录下,比真实目录多了这层,所以删掉/tempfile这层
newpng="${filenamenew%.*}.png"
newmp4="${filenamenew%.*}.mp4"
ffmpeg -ss 3 -i $filename -y -f image2 -t 0.001 -s 380*260 $newpng
fi
done
}
#读取第一个参数convert_video $1
网友评论