关于在Linux中使用mencoder转换适用于2608a芯片播放的视频文件的方法
http://english.zhuaxia.com/item/534838942
众所周知,采用2608a解码芯片在视频mp3基本垄断了国内低端mp3市场,而我自己使用的onda的VX979就是这样一款产品,经过大半年的适用,对它还是很满意的。原来使用的是windows系统,在上面适用wismencoder软件来转换视频,感觉速度挺慢,不过基本上所有格式的视频都能转换成适用于这款mp3播放的文件。最近转投ubuntu系统,想用这个系统作为自己的主系统,不太想再用那个多灾多难的windows了,由此开始了像大多数刚刚由win平台转向linux平台的新手一样开始了寻找替代软件的步伐。
在ubuntu论坛逛了逛之后,才发现原来一直使用的wismencoder 软件是从linux平台移植过去的,不过加了个GUI使使用变得方便而已,现在在linux平台下,使用原版的mencoder应该是一个更好的选择。但是一道难题摆在我的面前,习惯用鼠标点来点去的我,在面对这黑黑的终端窗口时,显得有点手足无措,尤其是在这些命令都需要一大堆辅助参数的时候。于是我发扬了伟大的google、baidu党的精神,在网上东找西找,找到了问题的解决办法:
转换视频文件的命令格式
mencoder filename.xx -of avi -o xx.avi -ofps 24 -vf-add scale=320:240 -vf-add expand=320:240:-1:-1:1 -srate 44100 -ovc xvid -xvidencopts bitrate=500:max_bframes=0:quant_type=h263:me_quality=4 -oac lavc -lavcopts acodec=mp2:abitrate=96
(这是一个完整的命令,只有一行,每行的行末有空格,可以直接复制,然后修改相应参数)
命令具体含义:
filename.xx 代表你所要转换的文件的文件名和后缀,若不在当前目录,需要加入完整路径
-of avi 输出文件格式为avi
xx.avi 输出文件完整文件名,若不存在当前目录,也需要写完整路径
-ofps 24 输出文件的帧速率,基本上2608a芯片可以解码24fps的视频
-vf-add scale=320:240 -vf-add expand=320:240:-1:-1:1 输出文件分辨率320:240,拉伸也是320:240,这个在加黑边的时候有用
-srate 44100 声音采样率44.1kHz
-ovc xvid -xvidencopts bitrate=500:max_bframes=0:quant_type=h263:me_quality=4 视频编码格式为xvid编码,bitrate代表比特率,为500kbps,算法采用h.263
-oac lavc -lavcopts acodec=mp2:abitrate=96 音频编码格为libavccodec编码包种的mp2编码,abitrate是比特率,看所需要得音频质量,电影96kbps就够了,MTV可以选择128kbps,或者更高的192kbps,再高就没有什么意义了
对于一些Mkv封装视频的内嵌字幕和dvdrip的外挂字幕,需要在上面的命令后面添加嵌入字幕的参数。
对于Mkv视频,在后面添加如下参数
-sid 0 -font "" -subfont-text-scale 5 -subfont-outline 2 -subfont-blur 2 -subpos 90 -subcp CP936
在使用的时候将替换为字幕字体文件的完整路径,例如/usr/share/fonts/truetype/arphic/uming.ttf。
后面的-subfont-text-scale 5 代表字体大小,数字越大,字体越大
-subfont-blur 2什么字体模糊半径,2就行了
-subpos 90字体在屏幕中的位置,90是屏幕从上往下90%的地方
-subcp CP936使用语言以及编码方式
对于外挂字幕则在上面的基础上给出字幕的路径即可,添加如下参数:
-sub "" 替换为字幕绝对路径
对于16:9比例的宽频视频文件,按照上面的方法转换会把人挤扁,可以通过加黑边的方式解决,
就是在转换好的视频上下加上黑边,补足4:3(320:240)这样需要将最开始的参数中的-vf-add scale=320:240改为-vf-
add scale=320:-3,expand=:240:::1,意思就是宽度保持不变,高度用黑边补足
- “昨晚做梦梦到涨工资了”后续
- 2008年度学习计划