对于完整的可用选项,请阅读man页。 播放标准DVD的语法如下:
mplayer dvd://<track>
[-dvd-device<device>
]
例如:
mplayer dvd://1 -dvd-device /dev/hdc
如果你使用dvdnav支持编译MPlayer,语法是一样的,但你要用 dvdnav://而不用dvd://。
默认的DVD设备是/dev/dvd。如果你的设置不同,创建 个连接或者在命令行中用-dvd-device指定正确的设备。
对于DVD回放及解密,MPlayer使用
libdvdread
及libdvdcss
这两个库在
MPlayer的源码树中,你不必单独安装。你也可以使用
全系统可用的版本,但这种做法不被推荐,因为它能导致错误,库不兼容以及更慢的
速度。
对于DVD解码问题,尝试禁用supermount,或者其它相应特性。一些RPC-2驱动器 可能还需要设置区域代码。
DVD结构. DVD磁盘的每个簇有带有ECC/CRC的2048字节。每个轨上采用UDF文件格式,包含各种文 件(小的.IFO及.BUK文件以极大的(1GB)的.VOB文件)。它们是真正的文件能从被挂 载的未加密的DVD中复制/播放。
.IFO文件包含电影的浏览信息(章/标题/视角图,语言表等),它们被用于读及解析 .VOB的内容(影片)。.BUK文件是它们的备份。他们到处使用簇, 所以你需要指定光盘上真正的簇地址以完成DVD浏览或对内容进行解密。
DVD支持通过原始的对设备基于簇的访问。不幸的是,(在Linux中)要得到一个文件
的簇地址,你必须是超级用户。那就是我们不使用内核的文件系统的原因,我们在用
户层对此进行了重新实现。libdvdread
0.9.x完成了此项
工作。我们并不需要内核中的UDF文件系统驱动因为它们已经有了自己内置的UDF文件
有时/dev/dvd对用户不可读,所以
libdvdread
的作者实现了一个模拟层,其实现了将簇地址
提交到文件名+偏移量中,以模拟在挂载的文件系统甚至是硬盘上的直接访问。
libdvdread
对于直接访问甚至支持挂载点而不是设备名并
检查/proc/mounts以得到设备名称。其被开发在Solaris上,
在那系统上设备名是动态分配的。
DVD解密.
DVD解密通过libdvdcss
完成。这个方法可以通过
DVDCSS_METHOD
环境变量设置,具体细节参考man页。
RPC-1 DVD驱动器只使用软件对区域设置进行保护。RPC-2驱动器有一个硬件保护,只准 许做5次更改。你可能需要或被推荐把firmware升级到RPC-1,如果你有个RPC-2 DVD驱动 器。你可以在因特网上寻找firmware的升级, 此firmware论坛 对你的搜索可能是个好起点。如果没有针对你的设备的firmware升级,使用 区域工具 来设置你DVD的区域码(在Linux下)。 警告:你只可以设置5次区域。