贴两个压缩碟子的脚本
发表于 : 2008-10-30 9:05
这段时间一直在把家里的VCD、DVD压缩存放到电脑上,所以对使用mencoder压缩碟子写了两个脚本。贴出来分享。
这个是压缩VCD的:
使用之前,先使用mplayer查看一下VCD分成了多少段:
这里注意使用-cdrom-device选项要指定自己光驱分配的设备名,我这里是/dev/scd0。VCD的第一段一般是版权画面,可以不要,从VCD://2开始处理。根据自己的VCD的段数,修改第二行中i<27中的值,我这里是26段,所以是小于27。
脚本开始使用循环,构造一个字符串,这个字符串其实就是一个类似“vcd://2 vcd://3 vcd://4 vcd://5 ……“的字符串。
“mencoder -cdrom-device /dev/scd0 vcd://$i -oac copy -ovc copy -of mpeg -o vcd-$i.mpg”就是把vcd中从第二段开始所有的段都复制对应的硬盘文件。
”mencoder $fname -oac copy -ovc copy -of mpeg -o vcd.mpg“就是把上面复制出来的文件都合并到vcd.mpg文件中。
"eject /dev/scd0"命令弹出光盘。下面的两个命令对复制出来的vcd.mpg文件进行二次编码。最后删除临时文件。
下面是压缩DVD的:
DVD的相对简单一些,可以一次性的把所有节目复制出来,进行二次编码。
注意我压缩的是儿童动画片,所以码率比较低。如果压缩的是电影,最好把bitrate设到700以上。需要音效好的好可以把br=64改为128。
二次编码中的第一次编码并没有指定码率,不知道这个对最终的编码质量有没有影响,希望知道的人解释一下。
这个是压缩VCD的:
代码: 全选
fname=""
for ((i=2; i<27; i++))
do
mencoder -cdrom-device /dev/scd0 vcd://$i -oac copy -ovc copy -of mpeg -o vcd-$i.mpg
fname=${fname}' 'vcd-$i.mpg
done
mencoder $fname -oac copy -ovc copy -of mpeg -o vcd.mpg
eject /dev/scd0
mencoder vcd.mpg -oac copy -ovc xvid -xvidencopts pass=1 -o /dev/null
mencoder vcd.mpg -oac mp3lame -lameopts aq=7:cbr:br=64 -srate 44100 -ovc xvid -xvidencopts bitrate=420:pass=2 -o 视频/大拇指儿歌.avi
rm vcd.mpg vcd-*.mpg
代码: 全选
mplayer -cdrom-device /dev/scd0 -identify vcd://1
脚本开始使用循环,构造一个字符串,这个字符串其实就是一个类似“vcd://2 vcd://3 vcd://4 vcd://5 ……“的字符串。
“mencoder -cdrom-device /dev/scd0 vcd://$i -oac copy -ovc copy -of mpeg -o vcd-$i.mpg”就是把vcd中从第二段开始所有的段都复制对应的硬盘文件。
”mencoder $fname -oac copy -ovc copy -of mpeg -o vcd.mpg“就是把上面复制出来的文件都合并到vcd.mpg文件中。
"eject /dev/scd0"命令弹出光盘。下面的两个命令对复制出来的vcd.mpg文件进行二次编码。最后删除临时文件。
下面是压缩DVD的:
代码: 全选
mencoder -dvd-device /dev/scd0 dvd:// -oac copy -ovc copy -of mpeg -o dvd.mpg
eject /dev/scd0
mencoder dvd.mpg -oac copy -ovc xvid -xvidencopts pass=1 -o /dev/null
mencoder dvd.mpg -oac mp3lame -lameopts aq=7:cbr:br=64 -srate 44100 -ovc xvid -xvidencopts bitrate=420:pass=2 -o 视频/东方神娃.avi
rm dvd.mpg
注意我压缩的是儿童动画片,所以码率比较低。如果压缩的是电影,最好把bitrate设到700以上。需要音效好的好可以把br=64改为128。
二次编码中的第一次编码并没有指定码率,不知道这个对最终的编码质量有没有影响,希望知道的人解释一下。