文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>以Debian方式编译MPlayer CVS

以Debian方式编译MPlayer CVS

时间:2006-04-07  来源:chenyangbo

作者:manphiz 原文地址:http://www.linuxsir.org/bbs/showthread.php?t=235924
MPlayer是Linux下功能最健全的视频播放器之一:几乎所有现有视频格式的支持,mozilla浏览器在线播放支持。这两个功能几乎能满足我们的全部需要。然而,现在有两个困难:
1、debian官方没有MPlayer的deb包,却有mozilla-mplayer的deb包。没有MPlayer,浏览器插件自然没有用;
2、虽然MPlayer的官方现在提供1.0pre7try2的源码包。但是对于Debian Etch/Sid用户,这个版本的源码不打补丁无法用gcc 4.0成功编译,而且使用的是gtk1.2的库,中文显示相比gtk 2.0程序设置要复杂一些。
大家自然可以选择非官方的二进制包。但是根据官方文件,在ad_pcm.c文件中存在堆溢出问题,该问题影响所有pre7(含)以前的MPlayer。而非官方源似乎还没有pre7try2的二进制包。
好在MPlayer的CVS上的源码已经移植到gtk 2.0,而且能够使用gcc 4.0编译,也解决了堆溢出。而且作为Debian的用户,自然也不愿放弃dpkg工具。那么就请使用Debian方式编译自己的MPlayer CVS Debian Package吧!

零、前提:
请注意提示符:
# 代表需要root权限;
$ 代表普通权限即可;

一、准备工作:

1、获得MPlayer CVS:
这里你需要安装CVS:
# apt-get install cvs

2、获得MPlayer source:
CVS安装完成后,请登陆MPlayer的匿名CVS仓库:
$ cvs -d:pserver:anonymous@mplayerhq.hu:/cvsroot/mplayer login
如果提示您输入密码,请留空直接回车,即可。登陆后
$ cvs -z3 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/mplayer co -P main
这一步取决于网络情况。对于国内用户,一般这一步相当漫长,请耐心等待代码下载完成。完成后您在当前目录下会获得一个main/子目录,里面就是MPlayer的源码。

3、获得FFmpeg
刚刚获得的mplayer源码不是全功能的,因为它缺少FFmpeg的libavcodec, libavformat和libavutil库,我们同样需要获得它:
$ cvs -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg login
密码留空,直接回车,
$ cvs -z3 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg co -P ffmpeg
这一过程也不会很快请耐心等待。完成后当前目录下会有ffmpeg/子目录。

4、制作完整的MPlayer源码目录:
我们需要将刚刚获得的ffmpeg目录里的三个子目录:libavcodec, libavformat,libavutil拷贝到main子目录下:
$ cp -r ffmpeg/libavcodec main/
$ cp -r ffmpeg/libavformat main/
$ cp -r ffmpeg/libavutil main/
我们还需要修改main/CVS/Entries文件,以使我们刚刚拷贝的3个目录的内容同样能够更新。将一下3行加到main/CVS/Entries文件的末尾:
D/libavcodec////
D/libavformat////
D/libavutil////
至此,我们完成了MPlayer源码目录的创建。将来在更新时,只需要在main目录下:
$ cvs -z3 update -dPA
即可。

5、获取其他必须品(codecs, skin...):
请到http://www.mplayerhq.hu/homepage/design7/dload.html下载Codecs和Skins。Codecs建议使用other binary codec packages里的all(all codecs for Linux x86 (Win32 .dll and Linux .so))。

二、开始编译:

1、获取Debian制作工具:
首先请确认你有完整的开发工具集:gcc, make, binutils等等。
制作Debian包我们需要dh-make和fakeroot。但是MPlayer已经提供了debian的编译环境,无须dh-make。我们只要获得fakeroot就行了:
# apt-get install fakeroot

2、准备Codecs:
请将获得的all-20050412.tar.bz2解压,并将目录重命名为codecs,然后将其移动或复制到/usr/local/lib/:
# tar jxvf all-20050412.tar.bz2
# mv all-20050412 codecs
# mv codecs /usr/local/lib
这里是MPlayer Codecs的默认路径之一。在编译之前,Codecs就需要放在这里,或者在编译的时候加上你放置Codecs的位置。显然前者要方便一些 :)

3、开始编译:
进入main目录,先更新一下:
$ cvs -z3 update -dPA
然后可以开始Debian编译方式了:
$ DEB_BUILD_OPTIONS="--enable-gui" fakeroot debian/rules binary
注意:DEB_BUILD_OPTIONS指定传递给configure的参数。具体的参数列表可以通过
$ ./configure --help
来查询。如果您需要GUI,请务必按上句所说加入"--enable-gui"参数。
build过程仍然会十分漫长。完成后,在main的上一级目录就会得到mplayer_1.0cvs_i386.deb包!您现在可以使用dpkg来安装它了:
# dpkg -i mplayer_1.0cvs_i386.deb
安装的时候会让你选择视频驱动,一般选为x11即可。
然而事情并没有结束。

三、善后工作:

1、复制Skin。
解压您下载的Skin文件,将得到的目录改名为default,并将default目录移动到/usr/share/mplayer/Skin/,即完成Skin设置。

2、设置字体。
在主目录下有MPlayer的设置目录:~/.mplayer。在这里我们需要创建一个字体文件或链接。我使用的是AR PL SungtiL GB。之所以没有使用AR PL ShanHeiSun Uni,是因为后者实在太大了,在启动MPlayer和改变MPlayer窗口大小时会有言重停顿,甚至影响音话同步。当然如果您在观看时不会频繁的调整 窗口大小也无妨。我这里是:
$ ln -s /usr/share/fonts/truetype/arphic/gbsn00lp.ttf ~/.mplayer/subfont.ttf
注意:subfont.ttf的名字不要更改,因为MPlayer默认只会查找这个名字。

3、配置。
默认安装的MPlayer有3个地方我不太满意:
(1)默认窗体大小改变时视频大小不变,即没有缩放;
(2)默认不关闭xscreensaver,因此在观看时有可能在关键时刻忽然屏保启动!于是乎@#¥¥%!@#¥%!@#¥
(3)默认字幕大小并不限制在屏宽之内,因此过长的字幕会超出屏幕边界……
我的解决方法是:
(1)在/etc/mplayer/mplayer.conf文件中加入一行
zoom=yes
即可支持缩放功能。这是修改全局设置的方法,如仅想修改某用户设置,则可以修改~/.mplayer/config文件。
(2)修改~/.mplayer/gui.conf中的stopxscreensaver项为"yes"
stopxscreensaver="yes"
(3)修改~/.mplayer/gui.conf中的font_autoscale项为"2"
font_autoscale = "2"

4、mozilla浏览器插件:
最终安装mozilla浏览器插件
#apt-get install mozilla-mplayer
好了,现在的mozilla和firefox可以播放在线视频了!

至此,一个可以本地播放+在线播放的MPlayer CVS完成!

四、日后升级MPlayer CVS
CVS上每天都会有更新。如果希望试试最新的CVS,是没有必要完全重复上述工作的。具体来说有以下3步
(1)更新CVS源码:
请进入main/目录下,输入:
$ cvs -z3 update -dPA
即可将源码进行增量更新。这个过程就会很快了,因为每天的改动不很大,更新的工作量自然也很小。
(2)重新编译MPlayer CVS:
完成更新后,我们需要重新进行编译:
$ DEB_BUILD_OPTIONS="--enable-gui" fakeroot debian/rules binary
这里如果你需要别的configure参数,也请加到DEB_BUILD_OPTIONS里面。
(3)安装更新的MPlayer CVS:
编译完成后,在main/的上一层目录会得到刚刚更新的deb包。请用dpkg安装:
# dpkg -i mplayer_1.0cvs_i386.deb
至此更新工作完成!

参考:
http://www.mplayerhq.hu/homepage/design7/dload.html
http://www.debian.org/
MPlayer README
相关阅读 更多 +
排行榜 更多 +
独角兽装扮物语

独角兽装扮物语

休闲益智 下载
多格和迷失的猫

多格和迷失的猫

休闲益智 下载
模拟赛车精英

模拟赛车精英

赛车竞速 下载