mencoder命令行参数以及我的实际操作脚本

昨天新买了一个MP4,想把电脑上的视频放到MP4里播放,原视频文件比特率太高,播放很卡。
决定用mencoder压缩,但是Ubuntu下没有图形界面,找了一篇命令行操作的,比较全,
参考文章:http://www.linuxidc.com/Linux/2009-02/18303.htm
压缩命令行操作没有问题,但是视频文件比较多,所以想写一个脚本,网上搜索

  1.   #!/bin/bash  
  2.  
  3.   find . -type f \( -name “*.mpg” -o -name “*.mpeg” \)|while read line;do  
  4.  
  5.   echo $line  
  6.  
  7.   mencoder $line -o ${line}.MP4 -oac MP3lame -ovc x264 -of lavf -vf lavcdeint
反复测试不行,感觉do应该有结束的语句,但是网上N篇文章都是这样,自己对脚本又一无所知,只好从看教程,最后查到结束语句是done。
下面是我修改好的脚本:
#!/bin/sh

find . -type f \( -name "*.mpg" -o -name "*.mpeg" \)|while read line;do

name=${line##*/}
name=${name%.mpg}
Folder2=${line%/*}
Folder="./480*272"${Folder2#.}
filename=$Folder"/s"$name".mp4"
mkdir -p $Folder
mencoder $line -o $filename -vf scale=480:272 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=112
done

1,文件压缩主要改了分辨率和视频比特率,适合在MP4上播放。
2,输出的文件名前加 s ,修改了后缀名并输出到新的文件夹,以区分原文件。
3,把上面的文件保存好以后,添加执行权限,放到视频文件所在的文件夹,支持子目录,执行就可以了。

====================================
加一段 mpg用mencoder转swf(flv)的代码
mencoder -forceidx -of lavf -oac mp3lame -lameopts abr:br=56 -srate 22050 -ovc lavc -lavcopts vcodec=flv:vbitrate=1000:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -vf scale=640:480 -o test.swf a.mpg

猜你喜欢

转载自huaonline.iteye.com/blog/1608148