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.