2008年9月11日星期四

为motorola Z6转换视频文件

按照z6手机的说明,该手机支持h263 /3gpp格式的视频,但发现其随机附带的视频用linux下的mplayer播放时检测为mpeg4/aac 编码的文件,这比h263所使用的单声道音频效果自然好很多,参考网上的资料,经检测下列命令适合把网上常见的mpeg4 podcast视频转换为可以在Z6上播放的节目,并获得mp4的视频压缩效果和aac立体声音频效果:
系统要求:
debian或ubuntu,添加对应的non-free源,如multimedia.debian.org (莫名其妙被大陆政府封锁),medibuntu.ubuntu.org
下载带non-free组件支持的ffmpeg程序

操作步骤:
1. 下载mp4文件,比如从miro订阅的podcast频道下载,假设名为 channel.m4v
2.
ffmpeg -i channel.m4v \             #源文件
-acodec libfaac \ #目标文件音频编码
-vcodec mpeg4 \ #目标文件视频编码
-r 10 \ # 每秒10帧的fps,Z6手机支持的最高可能是15
-s qcif \ #使用h263支持的分辨率和屏幕大小 176 x 144,这种分辨率没必要考虑字幕,更本看不清的,所以建议尽量牺牲视频的质量来缩减文件大小。
channel.3gp #目标文件

网上也有分离音视频(demux or rip),然后对视频用多pass来转换,最后在合成(mux),以提高视频效果的实现,但对于我的Z6简直是浪费。
如果你对声音的要求也很低,那么acodec可以用libamr_nb 或libamr_wb,这个对于人的语音是够了,vcodec可以用h263。