|
自己在使用mplayer过程中遇到过不少的问题,像字幕的问题、没有声音等。看了不少的帖子,对自己有很大的帮助,但总有一些细节还需要自己完善。在这过程中作了一些笔记,今天有时间,拿出来整理整理,让大家在解决自己的mplayer问题的时候多一个参考。以下都是针对mplayer的,我不用图形界面的gmplayer。
一、字幕问题
首先介绍一下字幕的基本知识。字幕主要有三种,sub格式、srt格式和内嵌格式。不同格式的字幕显示方法不太一样。
1,sub格式字幕:sub格式字幕其实是特殊的经过压缩处理的位图格式的字幕,因此它的显示非常简单。只需要sub字幕文件跟avi文件在同一目录下,并且前缀名完全相同,mplayer就会自动加载。有时候从射手网上下载的字幕文件跟avi文件前缀名不一样,最好手工改成一样的。举例来说,电影文件为abcdefg.avi,那么字幕文件就应该是abcdefg.sub。
如果实在不愿意改,那还可以玩个花,就是在mplayer后面加上“-vobsub”的参数,该参数后面跟着字幕文件的前缀名。注意只需要前缀名,并且同目录下还要有字幕的.idx文件。举例来说,avi文件是$home/movie/abcdefg.avi,sub字幕文件是$home/download/chs.sub和$home/download/chs.idx,那么mplayer的命令就是
mplayer -vobsub $home/download/chs $home/movie/abcdefg.avi
2,srt格式字幕:srt格式字幕是文本格式的,也有两种方法搞定它。
一种是下载mplayer的一砣字幕字体文件,简体的和繁体的都要下。下面以简体为例。下载的文件名是gb2312-kai.tar.bz2。解压后有gkai00mp16和gkai00mp24两个子目录,这两个区别就是字体的大小。假设解压到$home/.mplayer/目录下。继续假设avi文件是$home/movie/abcdefg.avi,srt是$home/download/chs.srt,(说起来简单,写起来咋就这么麻烦呢?)由于简体字幕一般都是简体中文编码,播放命令为
mplayer -font $home/.mplayer/gkai00mp24/font.desc -sub $home/download/chs.srt -subcp cp936 $home/movie/abcdefg.avi
繁体字幕就换为-subcp big5
另外一种方法是使用现成的随便哪个ttf字体,假设simsun.ttf字体在$home/.mplayer/目录下,那么播放的命令就是:
mplayer -font $home/.mplayer/simsun.ttf -sub $home/download/chs.srt -subcp cp936 $home/movie/abcdefg.avi
注意:你如果是自己编译安装的mplayer的话,编译时要加上-free-type的选项(具体怎么写不清楚),不然第二个方法不能用。所以还是用打好包的版本吧。
严重注意:对于英文locale的朋友,一定检查一下自己的i18n文件中LC_TYPE是否为LC_CTYPE=zh_CN.UTF-8,不然字幕显示的都是问号。
严重严重注意:有极少数字幕是utf-8编码的,最好先用文本编辑器确认一下。播放时把-subcp cp936改为unicode就可以了。
3、内嵌字幕。这个偶还没有遇到过。。。等碰到了再写出来。
二、没有声音或图像问题
罗嗦半天真累啊,咬牙接着写。没有声音和图像最大的原因就是没有解码器,加个plf源,把real-codecs和win32-codecs都装上。要注意的是mplayer的搜索路径可能和这两个codecs安装路径不一样,看一下mplayer的错误信息中提到在哪些目录下没有找到相应解码文件,然后拷过去。没有声音或者图像还有一个原因比较少见,但偶尔也会遇到。我曾经看一个后缀名为rmvb的电影,只有图像,没有声音。但是用realplayer看就有声音。把realplayer目录下的解码文件全考到mplayer下面也不行。后来发现这个电影的声音编码比较怪(libfaad),由于版权的原因打包好的mplayer根本就没有提供对它的支持。装了一个plf源的mplayer,问题解决了。
三、在线看电影或者听歌。
这个方法不是利用mplayer的pluggin,而是利用mplayer可以从stdin播放的功能。比如,我们学校有好多电影ftp,我根本不用把电影完全下载到硬盘上,使用下面命令就可以在线播放。
wget ftp://.....abcdefg.avi -O - | mplayer -cache 8192 -
需要字幕?没问题,不过字幕需要先下载到硬盘上,字幕放到stdin里面是不行恴地。然后用上面提到的显示字幕的方法加载字幕。
再比如,我经常到music.zixia.net在线听歌,我可以完全不用xmms,我只需把m3u文件保存到硬盘上,然后用wget -i m3u -O - | mplayer -cache 1000 -
就可以听了。嘿嘿,爽吧。
就这么多了,欢迎大家交流。 |
|