MPlayer
The Linux video "Swiss Army knife", which plays almost every movie format imaginable [1].
- The player is rock solid playing damaged MPEG files (useful for some VCDs), and it plays bad AVI files which are unplayable with the famous windows media player. Even AVI files without index chunk are playable, and you can temporarily rebuild their indexes with the -idx option, or permanently with MEncoder, thus enabling seeking! As you see, stability and quality are the most important things, but the speed is also amazing. There is also a powerful filter system for video and audio manipulation. [2]
In addition, MPlayer can serve as a TV viewer application for both analogue TV or DVB.
Useful MPlayer Keyboard Hotkeys When Watching TV
These are global setting applicable for either analogue or DVB.
You can change the channel and control the volume with those keys:
Keys | Meaning |
---|---|
/ and * | Decrease/increase volume |
9 and 0 | Decrease/increase volume |
m | Mute sound |
h and k | Select previous/next channel |
For more info about MPlayer command line parameters and other control keys, please read the mplayer man page
Watching Analogue TV
A sample MPlayer command line that will play TV for Europe, channel E2, for devices that use analog audio wired from the TV card audio output into the aux or cd audio input on the motherboard or on the audio card:
mplayer tv:// -tv driver=v4l2:norm=PAL:input=0:amode=1:width=384:height=288:outfmt=yv12:device=/dev/video0:chanlist=europe-west:channel=E2
If your board provides a digital audio input, don't forget to load the alsa module for it. In this case, you'll need to teach mplayer to read the audio stream as well. This is an example of using mplayer for viewing TV on a NTSC video stream, reading also the audio stream:
mplayer -tv driver=v4l2:device=/dev/video0:norm=NTSC:chanlist=us-bcast:channel=10:alsa=1:adevice=hw.1:audiorate=48000:immediatemode=0:amode=1 tv://
In this case, it is assumed that the -alsa module created as the second audio adapter (hw:1), and supports an audio rate of 48 kHz. There are more useful information about audio setups with alsa modules on Saa7134-alsa.
To avoid having to specify all the above parameters, it is recommended to write them to the ~/.mplayer/config:
zoom = yes vo = x11 tv = "driver=v4l2:device=/dev/video0:norm=NTSC:chanlist=us-bcast:channel=10:alsa=1:adevice=hw.1:audiorate=48000:immediatemode=0:amode=1" monitoraspect = "16:9"
Watching DVB Streams
One method of using MPlayer to watch DVB streams is outlined in the Testing your DVB device article. However, it is a convoluted solution, and is much more suited for testing purposes rather then daily use. A much simpler and convenient method is outlined below.
You can start watching DVB streams with MPlayer simply by typing:
$ mplayer dvb://
That command will result in the first channel listed in your channels.conf being displayed
You can then move forward through your channel list by pressing h (next) on your keyboard. Conversely, pressing k (previous) on your keyboard will move backwards through your channel list.
Of course, for even better results, you may wish to run MPlayer with some options (mplayer dvb:// <options>
). For example, to utilise linear blend deinterlacing for display/playback, run:
$ mplayer dvb:// -vf pp=lb
You may have to force demuxer type for better results. For example, for a DVB-T device (all DVB devices?):
$ mplayer dvb:// -demuxer mpegts
See the MPlayer man page (i.e. in a console run "man mplayer") for a lengthy list of available options (an online version is found below in the links section).
If you wish to open a specific DVB stream (as listed in the channels.conf file), type:
$ mplayer dvb://"STREAM NAME" <options>
If you have more than one DVB device installed in your system you can specify the device to use by passing the device number in the command syntax:
$ mplayer dvb://"Device Number"@"STREAM NAME" <options>
MPlayer uses device numbers of 1-4
Again, to avoid having to specify all the above parameters, it is recommended to write them to the ~/.mplayer/config file.
Limitations with DVB Streams
- Only free-to-air broadcasts are supported. Decryption through CAM is not implemented in MPlayer.
But you can use virtual interface such as sasc-ng or utilite ca_zap from dvb-apps/util:
cat ~/.mplayer/channels.conf: #Eutelsat W4 36' Sport 1:11727:h:0:27500:101:201:1 Sport 2:11727:h:0:27500:102:202:2 First Automotive:11727:h:0:27500:103:203:3 BIZ TV:11727:h:0:27500:105:205:5 RUTV:11727:h:0:27500:109:209:9 O2TV:11727:h:0:27500:110:210:10 RTVi:11727:h:0:27500:111:211:11
ca_zap -m -c ~/.mplayer/channels.conf -t sat -a 0 -n 'Sport 1' mplayer dvb://'0@Sport 1'
- There is (presently) no DVB subtitle support in MPlayer.
Recording DVB Streams
If you want to record a DVB stream with MPlayer, you can use:
$ mplayer -dumpstream dvb://"STREAM NAME" -dumpfile stream.ts
This will dump the stream in MPEG-TS format to the file stream.ts (Note that this file can be very large - ~1GB for 30 minutes).
You can then use MPlayer or MEncoder, a command-line encoder built on the MPlayer code, to convert that file to a usable video format.
There is even more functionality in MEncoder when it comes to recording streams.
MPlayer and Satellite Dishes
If you are using MPlayer with a satellite dish that has a C-Band lnb LO: 5150 or standard Ku Band lnb LO: 10750 such as are commonly used in North America, MPlayer will tune the channel if you use the L Band frequency in your .mplayer/channels.conf file instead of the C or Ku Band frequency. To calculate the L Band frequency for C Band, 5150 minus frequency in Mhz equals L Band frequency in Mhz. For Ku Band, frequency in Mhz minus 10750 equals L Band frequency in Mhz.
For example to tune C Band 4.060 Ghz
5150 - 4060 = 1090
Use 1090 for the frequency in channels.conf instead of 4060.
For Ku Band 11.799 Ghz
11799 - 10750 = 1049
Also See
- BBC HD (Patches and Info for Watching BBC HD on Astra 28.8e)