科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道在 Fedora 中编译安装 Mplayer 的步骤

在 Fedora 中编译安装 Mplayer 的步骤

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在 Fedora 中编译安装 Mplayer 的步骤

作者:dblearn 来源:赛迪网技术社区 2007年10月11日

关键字: Mplayer Fedora Linux 操作系统

  • 评论
  • 分享微博
  • 分享邮件
 

1. 下载到必要的软件包

* MPlayer的源代码,我用的是MPlayer-1.0pre7.tar.bz2。

* Patch的名字是MPlayer-1.0_pre7-gcc4-fix.patch,顾名思义MPlayer在Gcc-4.0的环境中编译,也就是Fc4t2升级后的Fc3中。使用了Gcc-4.0 的时候,必须要打这个Patch才能编译成功。

* 必要的解码器,也就是Essential-codecs,或者也可以下载All-codecs。

* 一些解码器是可选的,比如LIVE.COM还有lzo、libmad等等。

* 准备一个中文的TTF字体。不过这个大家都有,不用去别处找。

2. 环境介绍

也就是说,我们要在什么样的环境里使用MPlayer。

* 没有图形界面,机器上没有Gtk-1.2所以就不用图形界面了。

* 默认Locale为UTF-8编码。

3. 编译步骤

1) 准备Codecs

本来我以为不需要/usr/local/lib/codecs,但是后来发现会找不到Xanim Codecs,所以还是需要它。链接到/usr/lib/win32是因为可以与 xine-lib共享这些解码器。

[root@geeks ~]# tar jxf all-20050412.tar.bz2
[root@geeks ~]# mv all-20050412 /usr/local/lib/codecs
[root@geeks ~]# ln -s /usr/local/lib/codecs /usr/lib/win32

2) 解压

[root@geeks ~]# tar jxf MPlayer-1.0pre7.tar.bz2
[root@geeks ~]# cd MPlayer-1.0pre7

3) 打补丁

当然,只有Gcc-4.0的时候才需要打补丁,并且这个补丁只适合这次的情况,也就是说,只对这个MPlayer-1.0pre7.tar.bz2有效果。注意啊,我们现在在源代码目录了。下面是执行结果,好多文件被打上了补丁。

[root@geeks MPlayer-1.0pre7]# patch -p1 
< ../MPlayer-1.0_pre7-gcc4-fix.patch

patching file configure patching file 
liba52/imdct.c patching file libavcodec/avcodec.h patching 
file libavcodec/common.h patching file libavcodec/
libpostproc/postprocess_template.c patching file 
libmpdemux/frequencies.h patching file libvo/
aclib_template.c patching file mmx.h patching file 
postproc/swscale_template.c

4) 配置

根据我们上面提到的环境,没有Gtk-1.2 所以不用--enable-gui之类的参数。但是我们需要中文的提示,并且是在Locale为UTF-8的情况下使用,所以要这样配置。--charset=utf8是在Pre7里面新增的。下面是命令和输出结果。编译时的输出很重要,从这个输出中我们可以看到XAnim 和RealPlayer的解码器是从/usr/local/lib/codecs自动探测到的。没有加入Menu 和Xmms的支持,也没有GUI,但是这正是我需要的,因为我的系统中没有Xmms这些过时的Gtk-1.2程序。

[root@geeks MPlayer-1.0pre7]# ./configure --language=zh_CN --charset=utf8

Detected operating system: Linux Detected host
 architecture: i386 Checking for cc version ... 4.0.0, ok ......
 Checking for XAnim DLL ... yes (using /usr/local/lib/codecs) Checking
 for RealPlayer DLL ... yes (using /usr/local/lib/codecs) Checking for
 LIVE.COM Streaming Media libraries ... no ...... Checking for OSD 
menu ... no Checking for QTX codecs ... yes Checking for Subtitles 
sorting ... yes Checking for XMMS inputplugin support ... no Checking 
for inet6 ... yes Checking for gethostbyname2 ... yes Checking for 
GUI ... no ...... Config files successfully generated by ./configure ! 
Install prefix: /usr/local Data directory: /usr/local/share/MPlayer 
Config direct.: /usr/local/etc/MPlayer Byte order: little-endian 
Optimizing for: pentium4 mmx mmx2 sse sse2 mtrr Languages: 
Messages/GUI: zh_CN Manual pages: en Enabled optional drivers: 
Input: ftp network edl tv matroska mpdvdkit2 vcd smb Codecs: 
qtx xvid libavcodec real xanim dshow/dmo win32 faad2(internal) 
libmpeg2 liba52 mp3lib tremor(internal) gif Audio output: alsa 
esd oss sdl mpegpes(file) Video output: xvidix cvidix sdl vesa 
gif89a md5sum pnm jpeg png mpegpes(file) fbdev opengl dga xv x11 
xover tga Audio filters: Disabled optional drivers: Input: 
vstream tv-v4l2 tv-v4l tv-bsdbt848 live.com cdda dvdread dvb 
Codecs: opendivx x264 libdv amr_wb amr_nb libdts libtheora toolame 
libmad liblzo Audio output: sgi sun jack polyp arts dxr2 nas dsound 
win32 macosx Video output: winvidix bl zr zr2 dxr3 dxr2 directx svga
 caca aa ggi xmga mga xvmc directfb tdfx_vid tdfxfb 3dfx quartz Audio
 filters: ladspa

5) 编译和安装

在配置之后,通常的步骤是编译和安装,也就是Make && Make Install。但是这个版本的源代码缺少我们需要的一个文件,必须加上它。这个文件的作用是指明原始消息的编码。在Help目录有很多消息文件,每种语言的消息文件都有一个对应的文件来表示编码,这也是Pre7新加进来的。

[root@geeks MPlayer-1.0pre7]# echo 'GB2312' >
 help/help_mp-zh_CN.h.charset

6) Make && Make Install

这一步可能会出现编译刚开始就立即失败的情况。这时不妨运行一下Make Distclean,将所有临时文件都清空。清空临时文件,也就意味着我们的第三步 "配置" 的结果全部清除掉了,也就是说我们需要重新运行第三步。当然,参数是完全一样的。第四步就不必重新运行了,因为文件只需要建立一次。最后,重新运行Make && Make Install

7) 运行 MPlayer 查看输出的效果

[root@geeks MPlayer-1.0pre7]# MPlayer

MPlayer 1.0pre7-4.0.0 (C) 2000-2005 MPlayer Team CPU: Intel Pentium 4/Xeon/Celeron Foster (Family: 8, Stepping: 9) Detected cache-line size is 64 bytes CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1

针对有扩展指令集x86 CPU编译:MMX MMX2 SSE SSE2。

用法:MPlayer [options] [url|path/]filename。

基本选项:(包括所有选项的详细列表参见Manpage!)。

-vo 选择视频输出模式和设备(用'-vo help'查看列表);

-ao 选择音频输出模式和设备(用'-ao help'查看列表) vcd:// 从设备而不是普通文件上播放VCD(video cd)track dvd:// 从设备而不是普通文件上播放DVD title/track -alang/-slang 选择DVD音轨/字幕的语言(使用两位的国家代码) -ss 寻找指定的(多少秒或hh:mm:ss)位置;

-nosound 不播放声音;

-fs -vm -zoom 全屏播放选项(fullscr,vidmode chg,softw.scale);

-x -y 设置播放的分辨率(用于改变vidmode或软件缩放);

-sub 指定使用的字幕文件(参见-subfps, -subdelay);

-playlist 指定使用播放列表文件;

-vid x -aid y 选择用于播放的视频(x)和音频(y)流;

-fps x -srate y 改变视频(x fps)和音频(y Hz)率;

-pp 使用后期处理滤镜(详细 -pp 使用后期处理滤镜(详细内容参见manpage/docs);

-framedrop 使用 frame-dropping (用于慢机器)。

基本控制键:(完整的列表参见Manpage,同时也要检查一下input.conf)。

<- or -> 向后/向前搜索10秒;

up or down 向后/向前搜索1分钟;

pgup or pgdown 向后/向前搜索10分钟;

< or > 跳到播放列表中的前一首/下一首;

p or SPACE 暂停播放(按任意键继续);

q or ESC 停止播放并退出;

+ or - 调整音频延迟+/-0.1秒

o 循环。

OSD模式:none/seekbar/seekbar+timer

* or / 增加或减少pcm音量;

z or x 调整字幕延迟+/-0.1秒;

r or t 上/下调整字幕位置,参见-vf expand。

8) 手册页

另外还有手册页也就是Man MPlayer,尽管中文版的这个文件可能有点过时了。下面的命令可以临时地看看手册页的内容

[root@geeks MPlayer-1.0pre7]# man DOCS/
man/zh/MPlayer.1

9) 中文字体

哪儿去找中文字体?记得我们刚才提到的那个字体文件吗?

[root@geeks MPlayer-1.0pre7]# cd
[root@geeks ~]# mkdir .MPlayer
[root@geeks ~]# ln -s /usr/share/fonts/zh_CN/TrueType/
yzdwsj6.ttf .MPlayer/subfont.ttf

就是这样。

Update:

安装LIVE.COM的步骤

先把机器上原有的Live.com 卸载掉,然后解压最新版的压缩包,会得到一个Live目录。进入这个目录,编译,退出这个目录,将这个目录整个复制为系统中的/usr/lib/live 就可以了,这样编译MPlayer时候,Configure会自动找到的。

[root@geeks ~]# rm -rf /usr/lib/live
[root@geeks ~]# tar zxf live.2005.04.23.tar.gz
[root@geeks ~]# cd live
[root@geeks live]# ./genMakefiles linux
[root@geeks live]# make
[root@geeks live]# cd ..
[root@geeks ~]# mv live /usr/lib/live

在安装MPlayer前安装Live,在编译MPlayer时会自动找到的,所以编译MPlayer的步骤不需要变化。如果已经按照上面的步骤安装了 MPlayer,那么需要先卸载掉已有的,然后重新安装。这时候有两种情况

如果上一次编译的那份Pre7源代码已经删掉了,那么只能从头来过,包括打补丁等等。Codecs文件就不用再动了

如果还保留着上次的Pre7源代码,那么可以执行Make Uninstall && Make Distclean也就是说,卸载。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章