以下基本上是参考chinaunix上的一篇博客,感谢原创者!

在安装过程中遇到了2个小问题,也记录于此。



以下命令都是假设所有编译安装MPlayer的文件都在/soft/mplayer/目录下进行的,我用的是root用户编译的,

请大家也用root用户。 


1.安装准备:

apt-get install build-essential 

apt-get install libgtk2.0-dev 


/*

 我之前已经安装了gtk+-2.0的环境,因此上述2个操作免了。

*/

 

2.准备源码包(官网:http://www.mplayerhq.hu/design7/dload.html)

假设都放在/software/mplayer/目录下。

MPlayer-1.0rc2.tar.bz2 // mplayer安装主文件 

clearplayer-0.9.tar.bz2 // mplayer 皮肤文件 

font-arial-cp1250.tar.bz2 // mplayer 字体文件 

essential-20071007.tar.bz2 // mplayer linux解码器 

windows-all-20071007.zip // mplayer win32解码器 


3.建立几个需要的目录

mkdir /usr/local/mplayer // MPlayer主目录

mkdir /usr/lib/codes // 建立MPlayer Linux解码器目录

mkdir /usr/lib/win32codes // 建立MPlayer Win32解码器目录

 

4.解压文件

cd /software/mplayer

tar -xjvf MPlayer-1.0rc2.tar.bz2 // 生成一个MPlayer-1.0rc2的目录 

tar -xjvf clearplayer-0.9.tar.bz2 // 生成clearplayer目录

tar -xjvf font-arial-cp1250.tar.bz2 // 生成font-arial-cp1250目录 

tar -xjvf essential-20071007.tar.bz2 // 生成essential-20071007目录

 

5.复制linux解码器

cp essential-20071007/* /usr/lib/codes/ -Raf  

chmod 777 /usr/lib/codes/* // 允许所有人访问

  mplayer rc2版本还有一个播放rmvb文件时提示出错的问题,解决的办法是在官方网站上下载

​  http://www1.mplayerhq.hu/MPlayer/releases/codecs/essential-20061022.tar.bz2在前面​

  的拷贝解码器那一步把其中的几个文件拷到解码器目录  

tar -xjvf essential-20061022.tar.bz2

cd /soft/mplayer/essential-20061022

cp essential-20061022/drv* /usr/lib/codec

        

6.复制windows解码器          

unzip windows-essential-20071007.zip // 生成windows-essential-20071007目录

cp windows-essential-20071007/* /usr/lib/win32codes/ -Raf         

chmod 777 /usr/lib/win32codes/*         

           


7.配置MPlayer 

cd MPlayer-1.0rc2   ;进入MPlayer 源码目录 

./configure

--prefix=/usr/local/mplayer/ --enable-gui --enable-freetype

--codecsdir=/usr/lib/codes/ --win32codecsdir=/usr/lib/win32codes/

--language=zh_CN --disable-ivtv

/*

vo_ivtv.c: In function 'ivtv_reset': 

vo_ivtv.c:79: error: storage size of 'sd' isn't known 

vo_ivtv.c:80: error: storage size of 'sd1' isn't known 

vo_ivtv.c:84: error: 'IVTV_STOP_FL_HIDE_FRAME' undeclared (first use in this function) 

*/


8.编译MPlayer

make

出错:libvo/libvo.a(video_out.o):(.data+0x38): undefined reference to `video_out_ivtv'

解决:修改源代码libvo/video_out.c,大约95行处:

#ifdef HAVE_DIRECTX

extern vo_functions_t video_out_directx;

#endif

#ifdef HAVE_DXR2

extern vo_functions_t video_out_dxr2;

#endif

//下面三行修改过,添加了编译预处理宏,搭配--disable-ivtv配置参数使用

#if 1 // 新添加

#ifdef HAVE_DXR3

extern vo_functions_t video_out_dxr3;

#endif

#else // 原来的

extern vo_functions_t video_out_dxr3;

#endif

#ifdef HAVE_IVTV

extern vo_functions_t video_out_ivtv;

#endif

#ifdef HAVE_V4L2_DECODER

extern vo_functions_t video_out_v4l2;

9.安装MPlayer

make install

        

10.配置MPlayer 

cd /usr/local/mplayer/bin/

./mplayer // 第一次运行mplayer,生成/root/.mplayer/目录

// 拷贝执行文件到PATH目录

cp * /usr/bin/

      

    // 拷贝配置文件  

cd /soft/mplayer/MPlayer-1.0rc2/etc/ 

cp input.conf example.conf menu.conf codecs.conf /root/.mplayer/

        

// 拷贝皮肤

cd /soft/mplayer/ 

mv clearplayer/ /usr/local/mplayer/share/mplayer/skins/

       

// 建立默认皮肤软链接        

cd /usr/local/mplayer/share/mplayer/skins/

ln -s clearplayer/ default 

        

// 拷贝字体

cd /soft/mplayer/   

cd font-arial-cp1250/ 

cp font-arial-14-cp1250/ /root/.mplayer/font -Raf 

      

// 允许全屏

vim /root/.mplayer/config

添加一行:zoom=yes



11.BINGO!!