MPlayer

From LinuxTVWiki
Revision as of 17:28, 6 December 2008 by CityK (talk | contribs) (set categories)
Jump to navigation Jump to search

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]]

Watching Analogue TV

A sample MPlayer command line that will play TV for Europe, channel E2:

 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

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.

Note: The following methods require that you configure a channels.conf file and store it in ~/.mplayer (instructions on how to do this are detailed in the Testing your DVB device article) before you can actually use MPlayer to view or record DVB streams.

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>
Note: Around the stream name you can use double parenthesis, single parenthesis, or none at all

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

Limitations with DVB Streams

  • Only free-to-air broadcasts are supported. Decryption through CAM is not implemented in MPlayer.
  • 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

See also

  • BBC HD (Patches and Info for Watching BBC HD on Astra 28.8e)

External Links