感谢支持
我们一直在努力

在Fedora中编译安装Mplayer的详细步骤

 

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 的步骤



1. 先把机器上原有的 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



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


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


2.2 如果还保留着上次的 pre7 源代码,那么可以执行 make uninstall && make distclean 也就是说,卸载。

赞(0) 打赏
转载请注明出处:服务器评测 » 在Fedora中编译安装Mplayer的详细步骤
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏