LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 7461|回复: 18

[原创]以Debian方式编译MPlayer SVN

[复制链接]
发表于 2006-6-4 13:32:05 | 显示全部楼层 |阅读模式
本文系鄙人独自完成,转载请注明原作者及出处
不久前MPlayer的旧服务器退出历史舞台,其CVS服务器也随之而去。MPlayer最终也转用Subversion来作为其源代码管理系统。获取并编译MPlayer的开发版大体流程没有变化,只需要把CVS命令换成SVN命令就行了。

($ - 表示普通用户权限即可;# - 表示需要root权限)

零、准备工作:
先安装subversion:
# apt-get install subversion
获取gtk 2.0的开发包:
# apt-get install libgtk2.0-dev
获取fakeroot以使普通用户权限可以进行编译:
# apt-get install fakeroot

一、获取源代码:
1、Subversion获取源代码的方式简单的多,而且由于其svn repository已经设置了外部目录,因此只需要获取mplayer目录的内容,libavcodec/libavformat/libavutils会同时获得,省了不少事儿。请转到你想要获得源代码目录的位置:
# svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
命令最后的"mplayer"是将trunk改名成mplayer。各位可以根据喜好改成别的名字或者留空(即不改名)。

2、获取codecs和skin:
请到http://www.mplayerhq.hu/design7/dload.html获取codecs和skin。
现在用于Linux的all codecs已转到另一链接:http://www1.mplayerhq.hu/MPlayer ... ll-20060611.tar.bz2
还有win32 codecs:http://www1.mplayerhq.hu/MPlayer ... ws-all-20060611.zip
还在使用20050412的朋友们可以更新一下了
Skin的话大家可以选择自己喜爱的任一一款。

二、编译并配置:
1、安排codecs:
在编译之前首先要安装好codecs,否则编译的时候找不到codecs的位置很可能导致最终编译的mplayer无法加载codecs。其默认路径是/usr/local/lib/codecs。各位需要将all-20060501.tar.bz2解压出来的目录改名为codecs并移动或拷贝到/usr/local/lib下。如果希望codecs同时能被totem一类的基于xine或者gstreamer(包含pitfdll扩展)的播放器使用,可以对其建立链接到/usr/lib/win32,如下:
# ln -s /usr/local/lib/codecs /usr/lib/win32
或者干脆将解码器解压到/usr/lib/win32,因为这也是mplayer默认搜索解码器的路径之一。

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

3、开始编译:
进入刚刚获得的mplayer目录(如改名请进入相应的目录)。一般方式即老三步:
$ ./configure --enable-gui
$ make
# make install
如需要以Debian方式,即按如下命令:
$ DEB_BUILD_OPTIONS="--enable-gui" fakeroot debian/rules binary
完成后会在上一级目录得到mplayer_1.0cvs_i386.deb,安装之即可:
# dpkg -i mplayer_1.0cvs_i386.deb
第一次安装会让你选择视频输出方式和字体。字体建议选择uming。视频输出方式的话,各位可以选择x11设备。另一方面,vidix驱动是很不错的,通过显卡进行渲染,极大的节约了CPU资源,但是需要以root权限运行,因为其需要访问的设备普通用户没有权限访问。mplayer官方提供的libdha方式由于源代码太久没有更新,已经无法编译。目前可能只有以root权限运行来使用vidix驱动了。如各位有办法使普通用户使用vidix驱动,恳请指导,感激不尽!

4、配置。
默认安装的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"

5、升级:
升级源代码及其简单。转到mplayer源代码的目录执行:
$ svn update
即完成源代码升级。重新编译并安装即完成升级。

6、在线播放:
对于mozilla系列浏览器可以使用mplayerplug-in插件,在Debian中:
# apt-get install mozilla-mplayer
如果使用Firefox,可以使用其官方插件MediaPlayerConnectivity,并将播放器设置为mplayer,使用外部方式播放,也很不错。

至此,SVN上的MPlayer编译安装配置完成!

参考资料:
http://www.mplayerhq.hu/design7/news.html
MPlayer README
发表于 2006-6-4 14:21:20 | 显示全部楼层
楼主用哪个 branch?stable?testing?unstable?另 gcc 的版本是?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-4 22:44:48 | 显示全部楼层
多谢版主提醒!

我使用的是sid。不过应该在Debian全系列都可用。其需要subversion,gtk 2.0,应该stable都支持的。而且现在svn上的MPlayer我用gcc-4.1也可以编译通过,正常运行,应该至少从gcc-3.4以后版本都可以编译。

即便如此,还请版主及各位兄弟多多测试,反映一下问题,以便改进!多谢!
回复 支持 反对

使用道具 举报

发表于 2006-6-5 11:02:18 | 显示全部楼层
(1)默认窗体大小改变时视频大小不变,即没有缩放;
可以试试修改 preferences->video->drivers 改成 xvidix
回复 支持 反对

使用道具 举报

发表于 2006-6-5 12:39:18 | 显示全部楼层
Post by manphiz
多谢版主提醒!

我使用的是sid。不过应该在Debian全系列都可用。其需要subversion,gtk 2.0,应该stable都支持的。而且现在svn上的MPlayer我用gcc-4.1也可以编译通过,正常运行,应该至少从gcc-3.4以后版本都可以编译。

即便如此,还请版主及各位兄弟多多测试,反映一下问题,以便改进!多谢!
gcc-3.x 已成开发的历史,Etch 的正式 release 也打算采用 gcc-4.1 了

论坛上常有兄弟说 gcc-4.x 编译不了 mplayer,这个正是我希望要的答案
回复 支持 反对

使用道具 举报

发表于 2006-6-5 13:11:28 | 显示全部楼层
  1. Playing /home/dexter/tmp/16.Blocks.2006.DVDRIP.XVID.MP3-ALLIANCE/16.Blocks.2006.DVDRIP.XVID.MP3-ALLIANCE.avi.
  2. No matching VOBSUB language found!
  3. AVI file format detected.
  4. VIDEO:  [XVID]  624x256  12bpp  23.976 fps  823.1 kbps (100.5 kbyte/s)
  5. Clip info:
  6. Software: Nandub v1.0rc2
  7. SUB: Could not determine file format
  8. Cannot load subtitles: /home/dexter/tmp/16.Blocks.2006.DVDRIP.XVID.MP3-ALLIANCE/16.Blocks.2006.DVDRIP.XVID.MP3-ALLIANCE.sub
复制代码

完全按照楼主的步骤编译通过,并能正确播放,但是出现无法加载字幕的问题。请问这是由于什么原因?
目录文件:
  1. dexter@brainiac:~/tmp/16.Blocks.2006.DVDRIP.XVID.MP3-ALLIANCE$ ll
  2. total 726628
  3. -rw-rw-rw- 1 dexter dexter 733405184 Jun  1 17:27 16.Blocks.2006.DVDRIP.XVID.MP3-ALLIANCE.avi
  4. -rw-rw-rw- 1 dexter dexter    167851 May 30 12:39 16.Blocks.2006.DVDRIP.XVID.MP3-ALLIANCE.idx
  5. -rw-rw-rw- 1 dexter dexter      6160 Jun  1 14:49 16.Blocks.2006.DVDRIP.XVID.MP3-ALLIANCE.nfo
  6. -rw-rw-rw- 1 dexter dexter   9742336 May 30 12:39 16.Blocks.2006.DVDRIP.XVID.MP3-ALLIANCE.sub
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-5 15:48:49 | 显示全部楼层
记得听到过有人说字幕虽然显示加载失败但是也能用。试试用j键能不能切换字幕?
回复 支持 反对

使用道具 举报

发表于 2006-6-6 11:03:06 | 显示全部楼层
尝试过,依然失败。已经放弃了转投totem了
回复 支持 反对

使用道具 举报

发表于 2006-6-14 21:11:53 | 显示全部楼层
视频输出在配置的时候有什么选项没有?我看了一下log,显示支持xv,但装完后在输出模始终没有找到xv,vidix用不了,x11太慢了
回复 支持 反对

使用道具 举报

发表于 2006-6-17 21:25:12 | 显示全部楼层
这个也有 DEB包??


靠,搞了大半天下源码编译了,,这才发现这个。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表