VDR mplayer FAQ

Version: 2004-05-04

Q: Where can I find this FAQ?

Currently at: http://batleth.sapienti-sat.org/projects/FAQs/vdr-mplayer-faq.html.
If you have any comments or suggestions just let me know: Juri Haberland <juri-at-koschikode.com>

Q: mplayer seems to play, but I just get a short black picture and then the current TV program is back

Most often this means that your mplayer is compiled without support for the DVB cards.
This might confuse you:
Per default mplayer compiles with DVB support, but if the configure script cannot find the DVB drivers/kernel headers, it will only compile generic DVB support into mplayer, but it cannot compile the output-specific stuff that is needed to pass the video data to the DVB card.
You can easily check for yourself what kind of DVB support your mplayer version has:
Just run:
	mplayer -vo help| grep mpegpes
If you see:
	mpegpes Mpeg-PES file
then your mplayer has only basic DVB support and you need to recompile it. In this case mplayer will create a new file called grab.mpg if you try to play something via the DVB card instead of sending the data to the card.
If you see:
	mpegpes Mpeg-PES to DVB card
your mplayer has full DVB support and your problem is elsewhere. See also How to compile mplayer.

Q: Some videos are played in black and white

You most certainly are trying to play a video that is recorded in the north-american NTSC format whereas your TV set can only display the european PAL format. Edit your mplayer.sh.conf and set NTSC="false".
This tells the mplayer.sh script that your TV set is not able to display NTSC.

Q: How to compile mplayer?

The most important thing is that the configure script of the mplayer source package finds the DVB headers, which are part of the DVB driver or, in case of the new 2.6 Linux kernel, the kernel sources/ kernel header package of your distribution.
The configure script looks in the following places for the DVB headers:
	/usr/src/DVB/include
and
	/usr/include/linux

If you DVB driver include files are in neither directories, than you have to tell the configure script where they are:
	./configure --with-dvbincdir=/path/to/dvb-driver/include
E.g.: For the old DVB driver use something like:
	./configure --with-dvbincdir=/usr/local/src/DVB
For the new dvb-kernel driver use something like:
	./configure --with-dvbincdir=/usr/local/src/dvb-kernel/linux/include
and for the new dvb drivers in the stock 2.6 kernels use:
	./configure --with-dvbincdir=/usr/src/linux/include
After the configure script has finished carefully check the output. In the section Enabled optional drivers you should see mpegpes(dvb) in both "Audio output" and "Video output".
If you see only mpegpes(file) then the configure script didn't find the DVB include headers, so you have to correct the path you give to the --with-dvbincdir= option.

In most cases you don't need to give the configure script any other option - provided that you have all needed headers and libs in standard places (/usr/(local/)lib resp. /usr/(local/)include). If you want to use the Windows codecs, you have to put them into a dir called win32 located in /usr/lib.

Again, have a close look at the summary given at the end of the configure run.