解决A1200手机的zmplayer中文字幕问题

来源:互联网 发布:70kg淘宝外设店 编辑:程序博客网 时间:2024/04/26 04:43
也说不清是对Linux系统的喜爱还是别的什么原因,买了一部MOTO的A1200手机。这个手机使用的是Linux操作系统。可是对这个系统慢慢了解之后才发现,原来MOTO并没有开放这个操作系统的SDK,甚至对这个系统的一些技术细节也没有公开。好无耻的Motorola。
不过幸亏有不少志愿者正在开发OpenEzx,一个开源的MOTO手机可用的完整环境,他们已经取得了初步的进展,并且也已经编译出了一些A1200上可用的程序。zmplayer就是其中一个。
zmplayer是一个mplayer的port,可以让我们在A1200手机上看电影。之前用mencoder压缩了一些综艺节目,感觉不错。这次下载了一部电影,新的问题出现了。
因为这个电影的字幕是外挂的,按照以前玩Palm的习惯,首先想到的就是把字幕压到电影里去,可是不知为什么总是不成功。后来突然想到,zmplayer不就是一个mplayer么,mplayer自己有加载字幕的能力,为什么还要花大力气压到电影里去呢。笨阿。
于是就兴冲冲的把字幕文件(.srt)拷贝到手机上,播放。字幕果不其然是被加载进来了,可是乱码。然后又按照PC上使用mplayer的习惯拷贝了一个ttf字体,结果发现还是不行。甚至把原先的字体删除之后,连菜单都出不来了。
猛然想到mplayer编译的时候需要加上一个-enable-freetype选项,不会是这个手机版本压根没有使用freetype选项编译吧。想想也是能理解,毕竟处理能力有限阿。这下就像回到了解放前,我不得不去寻找中文点阵字体了。幸好并不难找,mplayer的官方FTP里就有:http://www.mplayerhq.hu/MPlayer/contrib/fonts/chinesefonts/ ,其中有两个是GB2312的,我选择了kai那个(看名字就知道是楷体了)。
下载完之后解压,然后复制到手机的.system/QTDownload/zmplayer/.mplayer/font里(把原先的字体全部删掉),然后再次启动zmplayer,嗯?怎么还是乱码。
又检查了一下config文件,这个文件存放的是mplayer的选项。我尝试加入了subcp=gb和subcp=cp936都不起作用。最后找了不少资料之后发现似乎使用font.desc这种点阵字体的话,中文需要使用-unicode选项来支持。于是在config里增加一行unicode=1,然后保存退出
重新启动zmplayer之后,漂亮的中文字幕终于出现了,哈哈。

BTW1: 目前发现只能使用srt字幕,对idx+sub字幕支持不好,我这里试验的时候会播放会导致zmplayer死掉。

BTW2: 给出我平时压电影的参数,这个参数可以比较好的平衡大小和质量。根据电影的不同可能需要稍作调整。
mencoder -srate 22050 -stereo 0 -oac mp3lame -lameopts mode=2:cbr:br=96 -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=320 -ofps 15 -vf scale -zoom -xy 320 -sws 9 <源文件> -o  <输出文件>
原创粉丝点击