# HG changeset patch # User jonas # Date 1035732993 0 # Node ID b75cf70d2a7c1eddc39b32cc32da7d9e07e1d9d7 # Parent ebe28de81548db64e63c71a2c00bcd1afe689528 DVD authentication, VCD/DVD structure, more... diff -r ebe28de81548 -r b75cf70d2a7c DOCS/cd-dvd.html --- a/DOCS/cd-dvd.html Sun Oct 27 10:43:38 2002 +0000 +++ b/DOCS/cd-dvd.html Sun Oct 27 15:36:33 2002 +0000 @@ -60,54 +60,173 @@
For the complete list of available options, please read the man page.
+ +MPlayer uses libdvdread
and libdvdcss
for
DVD decryption and playback. These two libraries are contained in the
libmpdvdkit2/
subdirectory of the MPlayer source tree, you
do not have to install them separately. We opted for this solution because
- we had to fix a libdvdread bug, and apply a patch which adds
- cracked CSS keys caching support to libdvdcss. This results in a large
- speed increase because the keys do not have to be cracked every time before
- playing. The cracked keys are stored in the
- ~/.mplayer/DVDKeys
directory.
MPlayer can also use system-wide libdvdread
and
libdvdcss
libraries, but this solution is not recommended,
as it can result in bugs, library incompatibilities, and slower speed.
Support for DVD navigation via dvdnav
is being worked on, but
- not finished yet.
Support for DVD navigation via dvdnav
was being worked on, but
+ it was never finished properly and is therefore not recommended.
Useful if you want to play encoded VOBs from hard disk. Compile and +
Useful if you want to play encoded VOBs from hard disk. Compile and
install libcss 0.0.1 (not newer) for this (If MPlayer fails to
- detect it, use the -csslib /path/to/libcss.so
option).
-csslib /path/to/libcss.so
option). You need
+ to be root or use a suid root binary to use it.
+
+DVD disks use all 2048 b/s sectors with ecc/crc. They usually have an UDF +filesystem on a single track, containing various files (small .IFO and .BUK +files and big (1GB) .VOB files). They are real files and can be copied/played +from a mounted file system of an unencrypted DVD.
+ +The .IFO files contain the movie navigation informations (chapter/title/angle +map, language table, etc) and is needed to read and interpret the .VOB content +(movie). The .BUK files are backups of them. They use sectors everywhere, +so you need to use raw addressing of sectors of the disc to implement DVD +navigation. It's also needed to decrypt the content.
+ +The whole old-style DVD support with libcss needs therefore a mounted DVD +filesystem and a raw sector-based access to the device. Unfortunately you must +be root (under Linux) to get the sector address of a file. You got two choices:
+ +Sometimes /dev/dvd can't be read by users, so the libdvdread authors +implemented an emulation layer which transfers sector addresses to +filenames+offsets, to emulate raw access on the top of a mounted filesystem +or even on a hard disk.
+ +libdvdread even accepts the mountpoint instead of the device name for raw
+access and checks in /proc/mounts
to get the device name. It was
+developed for Solaris, where device names are dynamically allocated.
The default DVD device is /dev/dvd
. If your setup differs,
+make a symlink, or specify the correct device on the command line with the
+-dvd-device
option.
For the complete list of available options, please read the man page.
+The authentication and decryption method of the new-style DVD support is done
+ using a patched libdvdcss (see above). The method can be specified over the
+ environment variable DVDCSS_METHOD
which can be set to
+ key
, disk
or title
.
If nothing is specified it tries the following methods + (default: key, title request):
+ +~/.mplayer/DVDKeys
directory
+ (fast ;).ioctl()
.
+ The region protection of RPC-2 drives is performed in this step and may
+ fail on such drives. If it succeeds, the title keys will be decrypted with
+ the bus and disk key.
+ RPC-1 DVD drives only protect region settings over software DVD players. + RPC-2 drives have a hardware protection that allows 5 changes only. It might + be needed/recommended to upgrade the firmware to RPC-1 if you have a RPC-2 DVD + drive. Firmware upgrades can be found + here. If there is + no firmware upgrade available for your device, use the + regionset + tool to set the region code of your DVD-drive (under Linux). + Warning: You can only set the region 5 times.
Playing standard Video CDs:
- -mplayer -vcd <track> [-cdrom-device device]
For the complete list of available options, please read the man page.
+The Syntax for a standard Video CD (VCD) is as followed:
+mplayer -vcd <track> [-cdrom-device <device>]
.
+Example: mplayer -vcd 2 -cdrom-device /dev/hdc
Examples:
- mplayer -vcd 1
- mplayer -fs -vcd 2 -cdrom-device /dev/hdc
VCD disks consists of 2 or more track:
+-vcd
option.-vcd 2
first./dev/cdrom
. If your setup differs,
- make a symlink, or specify the correct device on the command line with the
- -cdrom-device
option.-vcd 2
+ first.About .DAT files:
+ +The ~600 MB file visible on the first track of the mounted vcd isn't a real
+track! It's a so called iso gateway, created to allow Windows to handle such
+tracks (Windows doesn't allow raw device access to applications at all).
+Under linux, you cannot copy or play such files (they contain garbage).
+Under Windows it is possible as its iso9660 driver emulates the raw reading of
+tracks in this file.
+To play a .DAT file you need a kernel driver which can be found on a powerdvd
+Linux version. It is a modified iso9660 fs driver, which is able to emulate the
+raw tracks through this shadow .DAT file. If you mount the disc using their
+driver, you can copy and even play .DAT files with mplayer. But it won't
+work with the standard iso9660 driver of the kernel! It is recommended to
+use the -vcd
option instead.
The default VCD device is /dev/cdrom
. If your setup differs,
+make a symlink, or specify the correct device on the command line with the
+-cdrom-device
option.