# HG changeset patch # User lgb # Date 987620861 0 # Node ID 8f741175eb431cdd62a0fa47d7a23ad36f77a473 # Parent b015178f60aef59bdd03dfb2f5de738c029f3c05 DVD docs diff -r b015178f60ae -r 8f741175eb43 DOCS/DVD --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/DVD Wed Apr 18 19:07:41 2001 +0000 @@ -0,0 +1,137 @@ +DVD support in MPlayer! +~~~~~~~~~~~~~~~~~~~~~~~ + +Read file 'DVD-FAQ' as well (and try to avoid recursion by the redirector +message there :). + +IMPORTANT NOTE: please _DO_NOT_ require further features for DVD playback. This +is extremly experimental hack. Maybe it won't work for you. If you're +capable of helping us do it now! First we would like to fix existing problems. +Then we can start implementing advanced DVD playback functions of course. + +This means current DVD functions are mainly for developers and not for users! + +Building MPlayer with libcss support +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +First, you must compile and install libcss on your system. +Second, you must call ./configure script of MPlayer with these options: + +./configure --enable-css --withcsslibdir=/usr/local/lib --withcssincidr=/usr/local/include + +(of course you can append your favourite options as well) + +--withcsslibdir=/usr/local/lib + Directory contains libcss.so shared library. This directory should + be in your /etc/ld.so.conf as well. + +--withcssindfir=/usr/local/include + Directory contains header file 'css.h' of libcss. + +NOTE: There is no autodetection for libcss! You must require it with +configure options. + +Viewing VOB files directly from DVD +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +mplayer -dvd /dev/dvd /mnt/cdrom/video_ts/vts_01_1.vob + +where, + + '-dvd /dev/dvd' tells mplayer the device name of your DVD drive. + it's used in disc authentication process + + the filename is simply a VOB file path on the disc + +Note that according my experiences disc authentication requires root +privilegies so you must run mplayer as root! (see section 'Problems'). + +NOTE about the sound: + It seems that mplayer sometimes fails to find the first audio stream. + You can specify it with using the '-aid 128' option, for example. + Please experience with 128,129 and similar values. See section + 'Problems'. + + +New source files +~~~~~~~~~~~~~~~~ +dvdauth.c + Issues DVD disc and title authentication and fills key_disc and key_title + arraies. + +dvdauth.h + header file + +These files are embeded inside an '#ifdef ... #endif' block, so if libcss +support was not requested, they do not produce any code and of course +libcss is not linked against mplayer either. + + +Modifications in the source +~~~~~~~~~~~~~~~~~~~~~~~~~~~ +* (stream.c) STREAM_BUFFER_SIZE is set to 2048 +* (demux_mpg.c) the old message of 'encrypted VOB file is not supported' + was changed to set a flag to 1. After parsing the header, if this + flag is set, we call descramble function of libcss for decrypt. +* (stream.c) on several points where the old 4096 length STREAM_BUFFER_SIZE was + hardcoded into the source, it was replaced with 'STREAM_BUFFER_SIZE' +* (mplayer.c) calling dvd disc and title authentication and seek to sector + boundaries on seeking for mpegs + + +Performance +~~~~~~~~~~~ +On my AMD K6-2 with using hw scaling and colorspace conversion +capability of my G400 it's possible to watch DVD with about 70% +CPU usage with '-nosound'. Unfortunately with sound my machine is +not enough :( Maybe it can be improved somewhat ... +Guess, it's not so bad ... According reports from my friends +xine uses 80-90% CPU to play DVD on much more powerfull machines +like 1GHz Athlon systems (as far as I know, it's said that about +300MHz celeron is the minimum to watch DVDs ... using windows +DVD viewers). + +Hint: I commented out downmix fountions from libac3 (of course in this way I +can't get sound) and audio decoding CPU usage became 11% instead of 24 on +my machine. This clearly indicates that we should optimize downmix functions +(KNI code is no use for my k6-2). + + +Problems (TODO) +~~~~~~~~~~~~~~~ +* disc authentication (the FIBMAP ioctl) requires root privilegies. + this is strange since OMS can do it as user too. +* sound. I'm using my only DVD disc (The Matrix) to test mplayer. + some VOB file has English sound, some has Spanish and some has + no sound at all. + IT SEEMS that if I give '-aid 128' everything works with English sound ... +* strange effects but only with SOME vob + files (it looks like some interlacing effect, eg: every 2nd line + on the screen is from the last frame). + + +feature TODO +~~~~~~~~~~~~ +* chapter scanner +* audio stream scanner and allow to select one on runtime as well + (in stage#1 it would be enough to select one on the startup, see + 'Problems' above) +* DVD menu + I found (at least on disc 'The Matrix') the menu VOB but I don't + know how can it be used. + (after some eyeballing on the source of OMS, it seems we would have to + parse *.ifo files) +* subtitle support +* OSD/GUI (?) support for select chapter, subtitle and audio stream +* getting some documentation on DVD format, eg: which is the 'root' VOB + file on the disc in video_ts directory, which is the menu and so on. +* improve performance (see 'Performance' above) + + +No sound problem (from Matrix DVD, the menu VOB) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +End of packet while searching for PCM header + +DEMUXER: Too many (2048 in 4131540 bytes) video packets in the buffer! +(maybe you play a non-interleaved stream/file or video codec failed) +MPEG: No Audio stream found... ->nosound + +However this does not occur if you specify '-aid 128'. diff -r b015178f60ae -r 8f741175eb43 DOCS/DVD-FAQ --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/DVD-FAQ Wed Apr 18 19:07:41 2001 +0000 @@ -0,0 +1,31 @@ +Q: I have some problem not mentioned here ... +A: Read file 'DVD' as well. + +Q: How can I actually watch DVD with mplayer? +A: Ehh. Goes on reading this file as well as 'DVD' (hint: you must have libcss) + +Q: Seems to work but no sound. +A: Use '-aid 128' (or try: 128,129,...) mplayer command line switch + +Q: I have got Spanish audio instead of English (or similar problems) +A: See the last question/answer. + +Q: mplayer complains about FIBMAP or something. +A: Try to run mplayer as root. + +Q: some strange effect (interlace like thing) mainly when fast moving objects + are shown in the movie +A: known problem, we try to fix it later + +Q: DVD support in mplayer is a piece of shit! +A: You're probably right :) However please contact us if you can improve it! + +Q: How can I compile mplayer to be able to watch DVDs? +A: Read file 'DVD' (as usuall). + +Q: Where can I get libcss package from? +A: Maybe from the source of OMS (www.livid.org). + +Q: How can I ... (insert some expectable DVD player feature here) +A: The current implementation is only for viewing VOB files from DVD. + Nothing more, like subtitles, menus and so on.