Linux mplayer使用配置文件及加载字幕

运维 系统运维
Linux mplayer movfile-CD1.avi -sub movfile.-CD1.chs.srt -font /home/YOURNAME/Desktop/gkai00mp16/font.desc -unicode如果你这时字幕文件用的是cht的,那么乱码…………英文字幕这样用也可以加载。

Linux mplayer是常用系统,于是我学习研究了Linux mplayer,在这里对大家详细介绍下Linux mplayer系统应用,希望对大家有用。

先添加源 Livna源仓库: #yum install livna 

如果上面的命令执行失败的话,就用这一句 : #rpm -ivh http://rpm.livna.org/livna-release.rpm 接下来添加 Fusion源仓库: # rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rp m  # rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm 最后就是重头戏了:#yum install mplayer-gui   #yum install xine    #yum install vlc   说实话,每次装这个都很头疼,这下总算找了个简单可行的办法!

遇到的问题

1,cannot prepare subtitle font.
vim /etc/mplayer/mplayer.conf,将其中的
# Use fontconfig for font selection
fontconfig = yes
修改为
# Use fontconfig for font selection
fontconfig = no

2,创建字体链接
ln -s /usr/share/fonts/zh_CN/TrueType/MSYH.TTF ~/.mplayer/subfont.ttf
其中绿色底的是自己选的字体

3,new-face failed. Maybe the font path is wrong.
#cp /usr/share/fonts/zh_CN/TrueType/zysong.ttf /home/xu(为你的用户名) /.mplayer/subfont.ttf

4,没有图像
(1)将 mplayer-preferences-video设为 x11
(2)从 http://www.mplayerhq.hu/MPlayer/releases/codecs/ 下载下面四个文件
all-20071007.tar.bz2
essential-amd64-20071007.tar.bz2
windows-all-20071007.zip
windows-essential-20071007.zip
将上述 4个文件解压到 /usr/lib/codecs/下,注意是将解压后的文件放在以上目录,不是文件夹

Linux也装了有段时间了,可是看个电影还是要跑到windows去看,真麻烦。因为系统里的Linux mplayer既不能缩放画面,字幕又不能挂(怪我啦)。前几天烦死了切换系统,所以决心搞定Linux mplayer,不用再到windows下看电影了。这几天一直在弄Linux mplayer,好歹也有些心得。 系统环境:Ubuntu 7.04 Linux kernel 2.6.20-16-genric & Slackware 12.0 Linux kernel 2.6.21.5-smp

一、安装

我采用的是源码编译安装,个人认为这样对Linux mplayer的安装能有更好的认识。安装一共需要两个文件,都可以到Linux mplayer官网 下载,这里给出两个地址: MPlayer v1.0rc1 source    //MPlayer的源代码http://www1.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc1.tar.bz2 Linux x86 20061022      //MPlayer的各种解码器,能播放那么多的文件就靠它了http://www1.mplayerhq.hu/MPlayer/releases/codecs/essential-20061022.tar.bz2 将上述文件下载到你的某个目如/home/YOURNAME/Desktop/MPlayer 将它们解压,会在Linux mplayer文件夹里生成essential-20061022,MPlayer-1.0rc1两个子文件夹。

正式安装前,请检查你是否满足下列软件包的依赖关系
sudo apt-get install build-essential
sudo apt-get install libpng-dev
sudo apt-get install libgtk1.2-dev
#如果你在下面的编译过程中发现还缺少一些软件包的依赖,
请到官网 检查你确了什么再自行安装。

然后打开你的终端,切换到/home/YOURNAME/Desktop/MPlayer
我把mplayer安装在/opt/mplayer里是因为我的机器里/opt是单独的一个分区,如果我下次重装系统,可以不格式化此分区,新系统仍然可以用这里的文件程序。如果你觉得没必要,这步可以省略。mplayer默认安装路径是/usr/local。现在输入如下命令:
sudo mkdir /opt/mplayer
sudo mkdir /opt/mplayer/codecs
#这里是注释,如果你选择了默认安装路径,则是
#sudo mkdir /usr/local/lib/codecs

接着把解码文件考到一个目录里:
sudo cp essential-20061022/* /opt/mplayer/codecs/
#这里是注释,如果你选择了默认安装路径,则是#sudo cp essential-20061022/* /usr/local/lib/codecs/ 接着 cd MPlayer-1.0rc1
./configure –prefix=/opt/mplayer/ –enable-largefiles –enable-menu –enable-freetype –with-codecsdir=/opt/mplayer/codecs/
#这里是注释,选择默认路径的则是
#./configure  –prefix=/usr/local/mplayer/ –enable-largefiles –enable-menu –enable-freetype –with-codecs=/usr/local/lib/codecs/

解释一下各参数的意义:
–prefix=/opt/mplayer/   Linux mplayer安装路径
–enable-largefiles          支持2GB以上大小的文件
–enable-menu                支持OSD菜单
–enable-freetype           支持ttf字体
–with-codecsdir=/opt/mplayer/codecs        解码器安装路径

最后没有选择默认安装路径的还要执行如下,否则跳过:
sudo ln -s /opt/mplayer/bin/mplayer /usr/local/bin/mplayer
sudo ln -s /opt/mplayer/bin/mencoder /usr/local/bin/mencoder
#可以在终端中输入mplayer直接打开mplayer
sudo ln -s /opt/mplayer/man/man1/mplayer.1 /usr/local/man/man1/mplayer.1
sudo ln -s /opt/mplayer/man/man1/mencoder.1 /usr/local/man/man1/mencoder.1
#mplayer的man文档

上面的命令如果你重装系统后,仍要再输入一遍:)因为/usr/local/bin是环境变量,当你在终端中直接输入Linux mplayer时,系统会去这些目录找Linux mplayer这个命令。

这里补充一点,编译时我并未加上–enable-gui参数,也就是拥有图形前端的功能。你要加也可以,但是skin的安装请自行搜索,个人认为命令行+config配置文件足矣。

二、加载字幕

Linux mplayer装好了,电影也下载完毕,那么在欣赏电影前还要做两件事情。

1.字幕
一般电影下载下来都有字幕文件的,如果没有请到射手网 下载字幕。通常最常见的字幕有idx+sub和srt两种格式的。字幕格式分为图形格式和文本格式两种。其中图形字幕由IDX和SUB文件组成,IDX为索引文件,包括字幕出现的时间及字幕显示的属性;SUB文件为字幕文件。文本格式字幕的扩展名为SRT、SMI、SSA或SUB,其中SRT字幕最为流行。

如果是idx+sub字幕请在同一 目录下保持这样的文件排列顺序:
movfile-CD1.avi
movfile-CD1.idx
movfile-CD1.sub
movfile-CD2.avi
movfile-CD2.idx
movfile-CD2.sub

如果是srt则是:
movfile-CD1.avi
movfile-CD1.chs.srt #中文简体
movfile-CD1.cht.srt #中文繁体
movfile-CD1.Eng.srt #英文

PS: 由于idx+sub这种是图形格式的字幕,所以无法指定第三方字体,无法进行字体的大小等调整,但是中文英文都集成了也少了很多srt字幕会出现的编码、乱码等问题。 

2.字体
请在你的系统中找到一个ttf字体,系统里有很多字体的。我选用的是/usr/share/fonts/truetype/arphic/ukai.ttf。如果你喜欢windows里的黑体,也可以使用simhei.ttf。

idx+sub的字幕很简单,只要保持我上面所说的,在终端中切到文件所在目录,然后: mplayer movfile-CD1.avi 这样,Linux mplayer会自动加载字幕的,你可以通过j键来切换中英文字幕了。

srt字幕要这样:mplayer movfile-CD1.avi -sub movfile-CD1.chs.srt -font /usr/share/fonts/truetype/arphic/ukai.ttf -subcp cp936 简单说明一下,mplayer + 电影文件名 + -sub + 字幕文件 + -font + 字体文件 + -subcp + 字体编码。现在还只能播放中文简体字体,无法切换。

三、详细介绍字体和srt字幕

上面-subcp cp936这个参数跟srt字幕的编码有关,你可以用enca movfile-CD1.chs.srt来查看字幕编码,一般对应关系如下:
字幕编码__________________-subcp参数 ______gb__________________gb _gb2312__________________gb2312 _____big5__________________big5 _____utf8__________________utf8

一般来讲,中文简体chs字幕用cp936就能显示了(繁体当然不行) ,如果有乱码那就严格按照enca的结果加参数。英文字幕用哪个都行。 chs都用cp936是为了偷懒,后面讲:)so,如果你要看什么语言的字幕,只需把-sub改成对应的字幕文件,-subcp改成对的编码就ok了。

font参数后面跟的是ttf字体文件路径,每次打不要烦死啊?下面提供两种方法:
1.终端中输入:ln -s /usr/share/fonts/truetype/arphic/ukai.ttf ~/.mplayer/subfont.ttf
如果你有一个单独的ttf字体文件,那么把它重命名成subfont.ttf后,放到~/.mplayer/下也行。

2.打开/home/YOURNAME/.mplayer/config,添加一行内容:
font=/usr/share/fonts/truetype/arphic/ukai.ttf

其实Linux mplayer还支持另外一种字体–bitmap font。为什么我现在才提到它,因为是想对ttf字体实在没啥竞争力。为了拓宽大家的视野,在此提一下这种字体的使用方法。对了,还是srt字幕。

1.下载bitmap字体;
你要看中文简体,到这里 下载,根据你字幕文件的编码格式下载对应的文件,中文简体一般可用gb2312,gbk的字体(也就是文件名中包含gb2312或gbk);
繁体的话则要找big5的字体;
英文字幕用以上的字体没什么问题,如果你喜欢不同的字体风格,可到这里 下载。

2.加载字体;
例如我下载了gb2312-kai这个字体,那么你会发现解压后里面有两个文件夹,gkai00mp16和gkai00mp24,数字就代表字体的大小(缺点之一:要让改变显示字体就要下载不同的字体文件)。每个文件夹里肯定有一个font.desc和若干其它文件。还是在终端中切到电影文件所在目录,然后:
Linux mplayer movfile-CD1.avi -sub movfile.-CD1.chs.srt -font /home/YOURNAME/Desktop/gkai00mp16/font.desc -unicode
如果你这时字幕文件用的是cht的,那么乱码…………英文字幕这样用也可以加载。

不过bitmap字体虽然缺点比较多,但是Linux mplayer对它支持很好,我之前ttf字体遇到麻烦,bitmap只要都满足上述条件就能加载字幕了。

四、使用配置文件

说到现在,srt字幕还不能实现像idx+sub字幕那样切换中英文字幕呢。下面就介绍Linux mplayer的配置文件,实现一些有用的功能。这个文件是/home/YOURNAME/.mplayer/config
贴上我自己的:

zoom=yes#可以视频画面缩放
on top=yes#置顶显示
sub-fuzziness=1#自动加载同目录下包含电影文件名的所有字幕
sub-autoscale=2#字幕位置
subfont-text-scale=2.5#字幕字体大小
subcp=utf8#

sub-fuzziness是切换不同字幕的关键。
-sub-fuzziness
Adjust matching fuzziness when searching for subtitles:
0 exact match
1 load all subs containing movie name
2 load all subs in the current directory
由此可见一斑。subfont-text-scale你可以用不同的参数试试,直到你觉得字体大小和你口味。对了,这个参数只对ttf字体有效,它无法改变idx+sub,rmvb内嵌字幕的大小。至于subcp你眼熟吧,我在我的配置文件里用utf8是因为我通过:
enconv movfile-CD1.chs.srt movfile-CD1.cht.srt movfile-CD1.Eng.srt -x utf8
不管原来字幕编码是啥,统统转成了utf8格式,这样配合上面的sub-fuzziness参数就能达到播放电影时切换中文简体,中文繁体,英文字幕了:)好了,通过这个配置文件和~/.mplayer/下的subfont.ttf,原来Linux mplayer movfile- CD1.avi -sub movfile-CD1.chs.srt -font /usr/share/fonts/truetype/arphic /ukai.ttf -subcp cp936长长的命令,现在只需:
mplayer movfile-CD1.avi
就行了。

【编辑推荐】

  1. Fedora 下安装Linux PPStream系统编译并安装封装库
  2. Linux常用软件介绍讲解与应用
  3. Linux chromium通过yum安装解决不能使用问题
  4. 介绍Linux PPStream版本安装的教程
  5. Linux内核运行启动Fedora
责任编辑:佚名 来源: CSDN
相关推荐

2009-09-25 10:49:25

Hibernate加载

2011-01-13 16:27:26

Linux配置文件

2022-04-20 20:27:51

Hydra配置文件开发工具

2009-08-18 10:56:40

Linux网卡配置Linux网卡配置

2022-11-10 09:05:18

Lua配置文件

2010-12-27 14:59:31

Outlook 配置文

2021-07-05 12:09:58

Python编程语言

2010-01-08 16:55:04

Ubuntu vim

2023-10-30 15:11:57

2015-11-06 13:37:25

Git配置文件Linux

2024-04-23 14:13:38

开发配置文件

2009-11-05 10:30:41

WCF Address

2010-03-03 14:25:37

Linux NTP

2010-01-12 13:47:18

Linux grub

2010-02-03 09:19:31

Python模块

2019-11-22 10:00:53

ICC配置文件Windows 10

2009-06-08 16:44:00

Struts配置文件

2010-01-13 10:48:49

Centos设置

2011-01-19 14:00:21

2010-02-04 13:43:26

Linux vsFTP
点赞
收藏

51CTO技术栈公众号