前言:在LINUX系统下播放DVD电影也许是很多拥有DVD驱动器而又喜欢LINUX的朋友的梦想。不过,在LINUX下从安装DVD驱动器到真正能播放出DVD电影确实不是一件简单的事情。
本文就是向大家介绍了在LINUX下如何通过具体的配置和调试才能顺利的在LINUX下播放DVD电影的全过程。希望能对DVD发烧友和LINUX爱好者有所帮助。
在介绍如何具体配置系统之前,先来介绍一下LINUX操作系统和DVD相关的一些知识。
大家都知道,DVD-ROM就是将CD的储存容量增加到 17 GB。它们通常作为用 MPEG-2 格式储存全 程的电影影片的传播媒介。 通常使用特殊的解码硬体来解码这些 MPEG 视讯。
由于播放DVD电影的时候要对数据进行解压,所以要想正常的播放DVD电影,无论是在微软的WINDOWS平台还是LINUX操作系统平台中,DVD对计算机的硬件设备要求都是比较高的。目前, Linux 2.4内核已经顺利的推出,2.4内核的架构、主要功能、改进都让人们比较满意,在Linux 2.4内核中,在文件系统方面的重大改进是加入了LVM(Logic Volume Manager)的支持。LVM运行文件系统跨越磁盘,可以在运行时动态伸缩文件系统大小,增加文件系统。这已经成为HP-UX和Compaq True64 UNIX的企业级标准。其实LVM的很多特性在Linux的MD(Multi Disk)中已经支持,但是这将是商业用户采用Linux的一个重要依据。对RAID(冗余磁盘阵列)的支持也已经被加强,优化了RAID子系统的执行效率,实现了RAID0、1、4/5。多处理器下的多线程得到了加强,已经可以直接使用RAID设备作为启动根分区。此外对RAW IO的支持也已经被加入,这是许多商业软件急需的特性,如Oracle数据库。Linux支持的分区系统增加了对UDF(DVD使用的文件系统)的支持,这使得Linux将可以支持DVD系统。
由上面得知,如果要想在LINUX系统中播放DVD,那么系统软硬件的要求至少要达到以下的要求:
Linux内核 > v2.2.0
XFree86 3.3.X 或者更高版本
完全支持和兼容 Linux的DVD-ROM驱动器
熟悉LINUX系统和操作命令
能对LINUX内核进行正确修改的能力
DVD-ROM硬件的安装基本上和在WINDOWS下是一样的。大多数DVD-ROM是标准的IDE接口,目前流行在市面上的各种LINUX版本都能认出这些DVD-ROM驱动器。
在配置LINUX参数使之能播放DVD电影之前,我们必须还要准备好下面几个有用的文件。
首先,计算机中的LINUX操作系统的内核不能小于v2.2.0,如果您的LINUX版本太旧或者内核没有升级,那么您可以到ftp://ftp.kernel.org/ 网站上下载带有MTRR的LINUX内核。
现在最新的LINUX版本的内核都是比较稳定的,版本也比较高,与其升级内核,不如直接重新安装高版本的LINUX,升级LINUX内核是一件非常麻烦的事情。
接下来我们还需要播放DVD的专用工具软件LiViD,
到http://linuxvideo.org/developer/data/livid.tar.gz有下载。解压LiViD后有几个文件和目录,完全安装LiViD可以参考以下的命令:
ac3dec:
# cd ~/livid/ac3dec
# ./autogen.sh
# make
# make install
mpeg2dec:
# cd ~/livid/mpeg2dec
# ./autogen.sh
# make
# make install
oms:
# cd ~/livid/oms
# ./autogen.sh
# ./configure
# make
# make install
要注意的是OMS这个文件需要一些特别的fifo管道来创建DVD数据的传播,可以使用
# mkfifo /tmp/video
# mkfifo /tmp/audio
这两个命令来创建fifo管道。
最后的步骤就是创建DVD驱动器的同步路径。一般来说,DVD-ROM驱动器在LINUX系统中被认为是在/dev/hdb1 或者 /dev/scd0,我们要把/dev/hdb1和/dev/dvd作同步连接,使用下面的命令即可:
# ln -s /dev/cdrom /dev/dvd
播放DVD电影
为了能播放DVD电影,我们在启动LINUX的X-WINDOWS的时候必须在16位色以上。
检测DVD中的碟片,输入# ac3dec /tmp/audio& mpeg2dec /tmp/video& oms
这个命令即可,如果DVD-ROM里面的有DVD碟片,那么输入这个命令之后就会有一些提示文字出现,这时候注意观察有没有DVDDB字样出现,如果有,回答YES则oms面板就会谈出来,这时候点击播放按钮就能播放DVD电影了。
常见的问题:
如果计算机中的CPU不是英特尔公司的芯片,而是AMD公司的芯片,例如常见的K6 处理器,那么在运行mpeg2video来播放DVD电影的时候很可能出现运行时间的错误。如果出现这样的问题,试着修改nist/configure.in,这个文件,在129-130行之间,找到这段参数:
CFLAGS="$CFLAGS -DHAVE_MMX -DLINUX -march=i686 -fschedule-insns2 -malign-doub
CXXFLAGS="$CXXFLAGS -DHAVE_MMX -DLINUX -march=i686 -fschedule-insns2 -malign-
把所有的"-march=i686"改成"-march=i586"就行了,最后还要重新编译和安装才能解决这个错误