用法:miniconvert [-o 文件夹] 待转换文件
不用-o选项时转换后文件在当前目录下
转换后文件名:在原文件名前加了[mz] 后缀是avi
代码: 全选
cat miniconvert
#!/bin/bash
filelist=
to=
show()
{
echo "Usage:$0 [-o dir] files"
}
while getopts o: options
do
case $options in
o) to=$OPTARG;;
\?) show
exit 1;;
esac
done
shift $((OPTIND-1))
if [ "$#" -eq 0 ]
then
show
exit 1
fi
for from in "$@"
do
if [ ! -f "$from" ]
then
echo ""$from" does not found!"
continue
fi
if [ -z $to ]
then
tofile="[mz]${from%.*}.avi"
elif [ -d $to ]
then
tofile="$to/[mz]${from%.*}.avi"
else
echo ""$to" is not a Dir"
show
exit 1
fi
if [ -f "$tofile" ]
then
echo "$tofile has found!"
read -p "Are you wanna overwrite it?(y/n)" yes
if [ "$yes" != y ]
then
echo "$from convert canceled"
continue
fi
fi
cat <<EOF
-------------------------------------------------------
Start Convert
$from
to
$tofile
-------------------------------------------------------
EOF
mencoder -noodml "$from" -o "$tofile" -mc 0 -ofps 18.000 \
-vf-add crop=0:0:-1:-1 -vf-add scale=320:-3 -vf-add \
expand=320:240:-1:-1:1 -vf-add rotate=1 -srate 44100 \
-ovc xvid -xvidencopts bitrate=384 -oac mp3lame \
-lameopts vbr=0 -lameopts br=128 -lameopts vol=0 \
-lameopts mode=0 -lameopts aq=7 -lameopts padding=3 \
-af volnorm -xvidencopts max_bframes=0:nogmc:noqpel 2>/dev/null
cat <<EOF
-------------------------------------------------------
$from
Convert to
$tofile
Complete!
-------------------------------------------------------
EOF
echo
done
-subpos 5 -subfont-text-scale 10 -unicode -font c:\arial.ttf -sub "$from".srt
原文作者的说明:
subpos 是说明字幕的位置:垂直方向上越大越靠下,水平方向的参数我没找到,最小0,最大100
subfont-text-scale 设置字体的大小
-unicode 文字编码方式,其他的没试过
-font 字体文件
-sub 你的字幕文件
------------------------------------------
-font 人人喜好不同 有需要的自己设置
-sub 查找源文件名加后缀.srt的字幕文件