打造Linux下的万能播放器
技术精粹技术分析 Tech Frontier
191个人电脑 www.pcpro.com.cn 2006年6月
打造Linux下的万能播放器
倘若用户只想使用Gnome默认的Totem-x i n e,那么只要直接将解码器包解压到用户目录下的.gnome2/t o t e m-
addons/子目录下即可,Totem会在播放视频时自动调用。
文/张健浪
如果你是一个Windows用户,大概对
安装多个视频播放器习以为常,播放DV D
电影用Wi n D V D或P o w e r D V D;播放RM格
式视频用...
技术精粹技术分析 Tech Frontier
191个人电脑 www.pcpro.com.cn 2006年6月
打造Linux下的万能播放器
倘若用户只想使用Gnome默认的Totem-x i n e,那么只要直接将解码器包解压到用户目录下的.gnome2/t o t e m-
addons/子目录下即可,Totem会在播放视频时自动调用。
文/张健浪
如果你是一个Windows用户,大概对
安装多个视频播放器习以为常,播放DV D
电影用Wi n D V D或P o w e r D V D;播放RM格
式视频用Realplay;播放WMV视频要用微
软的Windows Media Player;如果播放苹
果的M O V格式视频,大概还需安装一个
QuickTime。造成这种情况的主要原因在
于各类视频格式彼此互不兼容,用户不得
不使用多个功能类似的播放器。而在Linux
环境下,虽然也存在许多不同的播放器软
件,但用户完全可以用一个播放器来实现
所有视频媒体的播放,无须考虑专有格式
的负累,使用起来也更简单。不过,由于
各个Linux发行版都没有直接完成解码器的
安装,用户必须作一定的手工配置,这也
是我们在下文中将向大家介绍的内容。另
外需提到的是,本文所用的Linux发行版为
Ubuntu,其他发行版用户的配置方式有较大
的差异,但基本原则都相同。
播放引擎、解码器和用户界面
在进入实质安装配置阶段之前,我
们有必要先来了解一下Lin u x环境视频播
放的相关知识。在Windows系统中,视频
播放软件都很简单,比如Windows Media
Player、Realplayer、WinDVD等都是一个
拥有完整功能的播放软件。但在Lin u x环
境下,视频播放软件往往被细化为播放
引擎、解码器和播放软件的UI界面(User
Interface)。播放引擎负责实际的视频解压
处理,它是一套通用的平台;解码器其实
就是视频解码所对应的算法,用户安装某
个解码器,播放引擎就可以根据这个解码
器提供的运算规则对视频文件进行解码处
理;而软件的UI界面则是指用户的操作界
面,也就是我们在视觉上可以见到的播放
器。如图1所示,一套完整的视频播放工具
是由“播放引擎-解码器-UI界面”三个
部分组成,不论Windows平台、Linux平台
还是Mac平台都是如此,只不过Windows平
台的播放软件开发商将播放引擎、解码器
和UI界面整合在一起,用户安装完之后就
可以播放解码器所支持的格式,但由于各
个播放器厂商都与竞争对手的压缩算法以
及视频格式相互排斥,用户不得不安装多
个播放器才能够完成对
所有格式的支持。
但在Linux环境下,
情况就大不相同了,首
先Linux下的播放软件并
没有将播放引擎、解码
器和UI界面封装在一起,
而是保持相对独立性。
目前Linux下应用最广泛
的播放软件包括Xin e和
M p l a y e r两大类,其中
Xine体系因将Xine引擎、
解码器和U I界面相互独
立,从而衍生出庞大的播放器家族,例如
Gnome环境默认的Totem播放器、KDE环境
默认的Kaffeine播放器都是基于Xine引擎。
Mplayer则拥有相当广泛的终端用户,但
衍生型播放器相对少一些(目前常见的只
有Gmplayer)。除此之外目前开源业界正
在积极开发Gstreamer流媒体播放编程框架
(其目的是简化Linux/UNIX的多媒体应用程
序开发,或者说Gstreamer将是一个功能强
大的播放引擎),目前0.10版已经发布,
能够支持M P3、O g g、M P E G1、M P E G2、
AVI、Quicktime等多种格式的多媒体数据。
但作为新生事物,针对Gstreamer的解码器
数量不多,暂时还缺乏完善的解决
,
因此本文的内容不涉及Gstreamer方面的问
题。对接触Linux不久、或对Linux认识不
图1 视频播放器由用户界面、播放引擎和解码器三个部分组成。
技术精粹 Deep TechnologyTech Frontier
192 个人电脑 www.pcpro.com.cn 2006年6月
深的用户来说,Xine体系应该更具有普遍
性,而它与Gnome、KDE的结合也更紧密。
在下文中,我们就以Xine体系为例向大家
介绍如何安装设置一款能够支持所有格式
的“万能播放器”。
在Ubuntu下安装Xine/Totem
与相应的解码器
如上所述,一个完整的播放软件必须
具备播放引擎、解码器和UI界面三要素,
其中播放引擎决定视频播放的性能,而
解码器则决定该软件能够支持多少种格
式。Xine播放软件包括Xine-lib、Xine-UI和
libxine-extracodecs/w32codecs等几个文件
包构成,其中Xine-lib为核心播放引擎,
许多发行版Linux已经直接内置,Xine-UI则
为图形化的用户界面,libxine-extracodecs
和w32co d e c s为解码包,两个包内几乎包
含所有视频格式的解码器。倘若用户使用
Gnome默认的Totem前端,那么Xine-UI可以
不必安装,但Xine-lib核心引擎和两个解码
包还是必须安装的。
Ubuntu发行版采用apt-get包管理机
制,apt-get在使用上非常方便,只要你输
入要安装的文件包,那么它就会自动访问
远端的服务器,并从相应路径中获取这些
文件,下载后安装在你的计算机上。如果
遇到包依赖性问题,apt-get也能够自动解
决。不过在使用apt-g e t之前,我们必须
先为系统添加“源”。“源”的概念就是
软件升级服务器的目标路径(不仅仅是访
问域名,还包括该服务器的存储路径),
通俗点说就是指向升级软件包存储在某个
服务器的某个文件夹。添加“源”的具体
操作如下。(以下资料来自http://wiki.
ubuntu.org.cn/)
第一、在终端下输入以下两个命令:
sudo cp /etc/apt/sources.list /etc/
apt/sources.list_backup [本命令作用是
备份sources.list文件]
sudo gedit /etc/apt/sources.list [用
gedit编辑器打开sources.list文件]
然后用以下内容替换原来文件中的
内容,保存后关闭,我们的建议直接到
http://wiki.ubuntu.org.cn/网站参考相应
的内容,将网站所列的“源”全部都加
入,这样以后升级其他软件也将非常方
便。
deb http://ubuntu.cn99.com/ubuntu/
breezy main restricted universe
multiverse
deb http://ubuntu.cn99.com/ubuntu/
b r e e z y-u p d a t e s m a i n r e s t r i c t e d
universe multiverse
deb http://ubuntu.cn99.com/ubuntu/
b r e e z y-s e c u r i t y m a i n r e s t r i c t e d
universe multiverse
deb http://ubuntu.cn99.com/ubuntu/
breezy-backports main restricted
universe multiverse
deb http://ubuntu.cn99.com/ubuntu-
cn/ breezy main restricted universe
multiverse
第二、在终端下接着输入以下命令,
如果是Ubuntu 5.10,那么输入:
sudo apt-get install xine-ui totem-
x i n e w32c o d e c s [安装X i n e-u i和
Totem-xine播放器前端以及w32codecs 解
码器包。]
如果用户使用的是最新6.06版本,输
入:
sudo apt-get install xine-ui totem-
xine w32codecs libxine-extracodecs
[安装Xine-ui和Totem-xine播放器前端以
及w32codecs libxine-extracodecs两个解
码器包]
第三、上述安装步骤完成后,Xine和
Totem就可以顺利实现各类视频的播放,当
然DV D播放必不可少,我们可以通过以下
命令让这两个播放前端支持DVD:
sudo apt-get install libdvdcss2 [安装
libdvdcss2,该文件可以让Xine引擎实现
DVD回放]
如果发现DV D播放画面断断续续,最
有可能的原因就是DV D光驱的D M A通道没
有打开,我们可以通过以下操作来完成:
sudo gedit /etc/hdparm.conf [打开
hdparm.conf文件,该文件定义存储设备的
工作模式]
然后在打开的文件中查找光驱定义
的内容(如/d e v/c d r o m ),增加一行
“dma=on”,这样DMA模式就开启了。笔
者使用Ubuntu 5.10曾遇到这个问题,但绝
大多数的发行版都已经默认打开光驱DM A
功能,无须手动设置。
第四、到这个时候,你应该可以用
Xine或Totem播放几乎所有视频文件了。一
般来说,大家可能会更习惯用Xine来播放
DVD(Xine界面与WinDVD、PowerDVD更相
似一些),而使用Totem来播放压缩视频,
但实际上这两者只是在界面上存在差异而
已,核心引擎和解码器都完全相同。
由于包管理机制的差异,其他Linux发
行版用户不能直接采用上述apt-get命令来
安装,但基本的原则都是相同的,即必须
安装播放器核心引擎、UI界面以及解码器
包。例如在SuSE 10.0中,用户可以通过
Yast包管理系统来安装Xine-lib和Xine-UI,
而w32codecs解码器包则需要自行下载并用
rpm命令方式进行安装;如果是Fedora Core
的用户,则可以分别下载打好的rp m安装
包,用命令rpm-Uvh *.rpm来完成这些包的
安装。倘若用户只想使
用Gnome默认的Totem-
x i n e,那么只要直接将
解码器包解压到用户目
录下的.gnome2/totem-
addons/子目录下即可,
Totem会在播放视频时自
动调用、实现对几乎所
有视频格式的支持。倘
若你在Linux世界中入了
门,那么便会发现Linux
环境的多媒体播放能力
一点也不比Windows差,
而且你只要完成一次安
装就可以一劳永逸。□
本文档为【打造Linux下的万能播放器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。