Archive for 08月 12th, 2008
给 iPod 转视频的脚本
由于新买了个 iPod touch,这几天认真钻研了下它的视频格式,搞了个nautilus脚本,使用mencoder做后端.
以后想把某个视频文件转成iPod的格式的话,直接在 nautilus 里面右键点文件-脚本-toIpod 就可以搞定了.
脚本的特点:
* 借助mplayer的强大,支持N多的源格式(已测试: avi rmvb mov flv).
* 支持srt/ass格式的外挂字幕.
* 自动缩放画面比例到适合ipod touch的480*320,如果是 ipod shuffle 之类的话,可以自己修改下脚本.
* 可视化的进度提示
* 转换速度较快
* 默认保存到当前目录,可修改脚本,输出到统一目录,方便管理.会自动加上 _ipod.mp4 的后缀名.
使用方法,保存以下脚本到 ~/.gnome2/nautilus-scripts/toIpod ,并加可执行权限.(注意脚本里面&>需要自己修改下,被WP转的…或者这里下载)
PS: 如果压缩出来的字幕有乱码,请参照我以前的文章,建个 ~/.mplayer/mencoder.conf 文件,写上一行 subcp=cp936 就好了.
下载: toIpod
- #!/bin/bash
- #filename: ~/.gnome2/nautilus-scripts/toIpod
- #Copyright (c) 2008 bones7456 (bones7456<A>gmailcom)
- #License: GPL
- #version 20080812
- SAVEDIR=`pwd`
- #SAVEDIR="/data/movie"
- INFILE="$1"
- PWD=`pwd`
- CMD="mencoder -of lavf -lavfopts format=mp4 -oac lavc -ovc lavc "
- CMD+="-lavcopts aglobal=1:vglobal=1:vcodec=mpeg4:vbitrate=600:acodec=libfaac:abitrate=128 "
- CMD+="-af lavcresample=24000 -vf dsize=480:320:0,scale=0:0,expand=480:320,harddup -ofps 25 -srate 22050 "
- P="没有找到对应的字幕."
- if [[ -f "${INFILE%.*}.srt" ]];then
- CMD+=" -sub ""\"$PWD/${INFILE%.*}.srt\""
- P="找到字幕文件: ""${INFILE%.*}.srt"
- elif [[ -f "${INFILE%.*}.ssa" ]];then
- CMD+=" -sub ""\"$PWD/${INFILE%.*}.ssa\""
- P="找到字幕文件: ""${INFILE%.*}.ssa"
- elif [[ -f "${INFILE%.*}.ass" ]];then
- CMD+=" -sub ""\"$PWD/${INFILE%.*}.ass\""
- P="找到字幕文件: ""${INFILE%.*}.ass"
- fi
- CMD+=" -o ""\"$SAVEDIR/${INFILE%.*}_ipod.mp4\""" ""\"$PWD/$INFILE\""
- P+="\n\n保存目录: $SAVEDIR"
- P+="\n\n是否继续?"
- if ! zenity --question --text "$P" ; then
- exit 0;
- fi
- eval "$CMD 2>&1" |\
- while read line; do echo $line |\
- awk -F '[ :\(\)%]+' '/^Pos/{print "# 速度:",$5,"(点\"取消\"转入后台运行.)";print $4}' ; done |\
- zenity --progress --title "正在转换..." --percentage=0 --auto-close --width=500
截图:
