当前位置:首页 > 知道中心 > Linux > 文章

Linux下MPlayer安装详解

发表于:2013-09-02| 次阅读| 作者:藕码网
TAG: Linux
摘要:Linux下MPlayer安装详解
版本信息:
Linux系统版本:RHEL5.5(i386-redhat-linux)
Kernel版本:2.6.18-53.el5(由#uname -r命令获得)
gcc 版本:4.1.2 20070626 (Red Hat 4.1.2-14)(由#gcc -v命令获得)
安装mplayer需要四个包的安装:主程序,皮肤,codecs以及wincodecs(win32)。这四个程序都可以从以下两个网站下载:
http://www.mplayerhq.hu
http://www.mplayerhq.hu/MPlayer/releases/codecs/
我下载的程序分别是以下四种:
(1)codecs:all-20071007.tar.bz2
(2)wincodecs:windows-all-20071007.zip
(3)mplayer src code pkg:Mplayer-1.0rc2.tar.bz2
(4)Skin:Abyss-1.7.tar.bz2
然后从Windows下搜索*.ttf,查找到字体文件simkai.ttf和以上四个文件一起放到/home/fan/MPlayer文件夹中。

首先在终端进入MPlayer文件夹:[root@localhost ~]# cd /home/fan/MPlayer
1.安装编码器
Mplayer默认/usr/local/lib/codecs/文件夹中查找解码器(我们可以运行不带参数的./configure来查看其默认解码器搜索目录)。这里我们将解码器指定安装在
/usr/lib/codecs/和/usr/lib/wincodecs文件夹中:
<1>安装codecs
[root@localhost ~]# cd /home/fan/MPlayer
[root@localhost MPlayer]# tar vjxf essential-20071007.tar.bz2
[root@localhost MPlayer]# mv all-20071007 /usr/lib/codecs

<2>安装windcodecs
[root@localhost MPlayer]# unzip windows-essential-20071007.zip
[root@localhost MPlayer]# mv windows-all-20071007 /usr/lib/wincodecs

2.安装MPlayer
[root@localhost Mplayer]# tar vjxf Mplayer-1.0rc2.tar.bz2
[root@localhost Mplayer]# cd Mplayer-1.0rc2
[root@localhost MPlayer]# ./configure  --enable-gui  --enable-menu --prefix=/usr  --codecsdir=/usr/lib/codecs/ --win32codecsdir=/usr/lib/wincodecs/  --language=zh_CN –confdir=/etc/mplayer
注意:
--prefix=/usr 是安装路径
--enable-gui 安装图形化用户界面
--enable-menu 安装菜单
--codecsdir=/usr/lib/codecs/指定解码位置(此处命令已经改变,以前要加with)
--win32codecsdir=/usr/lib/wincodecs 指定解码位置(此处命令已经改变,以前要加with)
--language=zh_CN 中文
[root@localhost MPlayer]# make
[root@localhost MPlayer]# make install
注意这里的./configure命令,Mplayer-1.0rc2版本支持gcc4编译,如果是更低的Mplayer版本,则可能只支持gcc3,则要安装gcc3,glib-1.2.10和gtk+-1.2.10,以下链接可下载glib-1.2.10。tar.gz和gtk+-1.2.10.tar.gz----ftp://ftp.gtk.org/pub/gtk/v1.2,相应的./configure命令参数可能不同。

3.安装字体
把你想用的字体(如 simsun.ttf ,windows系统的字体目录下c:\windows\font\),root用户放到/root/.mplayer下
(一般用户则放在/home/<你的用户名>/.mplayer 下),这里以root用户为例。
[root@localhost MPlayer]# cp ./simkai.ttf /root/.mplayer/
[root@localhost MPlayer]# mv /root/.mplayer/simkai.ttf /root/.mplayer/subfont.ttf

4.安装皮肤
[root@localhost Mplayer]# tar vjxf Abyss-1.7.tar.bz2
[root@localhost Mplayer]# mv ./Abyss/ /usr/share/mplayer/skins/
[root@localhost MPlayer]# cd /usr/share/mplayer/skins/
[root@localhost skins]# ln -s Abyss default

5.运行MPlayer
gmplayer所在目录: /usr/local/bin/mplayer,我们可以直接点击gmplayer图标运行播放器。通常在开始菜单的影音菜单中能找到MPlayer,启动应用程序->影音->MPlayer,右击MPlayer播放界面,Open即可打开需要播放的文件,经测试:
(1)wmv:弹出以下Error提示,但能正确播放
Error:Could not open required DirectShow codec wmvdmod.dll.

(2)wmv:弹出以下Error提示,能正确播放视频,但无音频
Error:Can not find codec for audio format 0x162.

(3)wmv:能正确播放,播放期间弹出以下Error提示
Error:J-type picture is not supported

(4)rm:弹出以下Error提示,有的能播放,有的不能
Error:Cannot find codec matching selected -vo and video format 0x30345652.

(5)rmvb:弹出以下Error提示,不能播放
Error:Cannot find codec matching selected -vo and video format 0x30345652.

6.不能播放rm/rmvb文件的解决方案
在终端启动MPlayer:#gmplayer,这样启动主要是能看到到底哪里出错了。每当播放rm rmvb时就有以下错误提示:
================================
Opening video decoder: [realvid] RealVideo decoder
Error: libstdc++.so.5: cannot open shared object file: No such file or directory
Win32 LoadLibrary failed to load:drvc.so,/usr/lib/codecs/drvc.so,/usr/lib/win32/drvc.so, /usr/local/lib/win32/drvc.so
Error loading dll
………………
================================
但我在/usr/lib/下发现有libstdc++.so.6,libstdc++.so.6.0.8
在/usr/lib/codecs下发现有drvc.so
如是我就建立一个链接:

[root@localhost ~] # ln -s /usr/lib/libstdc++.so.6.0.8 /usr/lib/libstdc++.so.5
这样仍旧报错:
====================================
Error: /usr/lib/libstdc++.so.5: version `GLIBCPP_3.2' not found (required by /usr/lib/codecs/drvc.so)
Win32 LoadLibrary failed to load: drvc.so, /usr/lib/codecs/drvc.so, /usr/lib/win32/drvc.so, /usr/local/lib/win32/drvc.so
Error loading dll
………………
====================================
看来还是gcc版本的问题了,因为我的RHEL5.5自带的gcc是4.1.2,这里需要gcc3.2编译。
在网上找了很久终于发现《libstdc++.so.5丢失的处理办法》一文:
http://hi.baidu.com/wangwader/blog/item/c87b44cdebd021550fb34584.html
上的处理方法,于是我就试了一下:

下载:http://mirror.centos.org/centos/4/os/i386/CentOS/RPMS/compat-libstdc++-33-3.2.3-47.3.i386.rpm
再安装:[root@localhost ~]# rpm -ivh compat-libstdc++-33-3.2.3-47.3.i386.rpm

安装这个包估计主要解决gcc编译时的版本问题,但是这样播放rm,rmvb时还是弹出Error消息框:Cannot find codec matching selected- vo and video format 0x30345652.并且桌面右下方有个五角星提示SELinux显示错误: SELinux AVC denial,这时只要对解码器进行以下处理:

[root@localhost ~]# chcon - t textrel_shlib_t /usr/lib/codecs/drv*
终于,机子上的什么.mp3;.wma;.wmv;.mpeg;.avi;.rm;.rmvb都能播放了。


注:本站部分信息可能源于互联网分享,如有侵权,请告知,我们将及时删除!