Difference between revisions of "MPlayer"

From ArchWiki
Jump to: navigation, search
(Enabling VDPAU (modern nVidia cards only): small style and phrasing fixes)
(Move to Category:Player.)
Line 1: Line 1:
[[Category:Audio/Video]]
+
[[Category:Player]]
 
[[cs:MPlayer]]
 
[[cs:MPlayer]]
 
[[el:MPlayer]]
 
[[el:MPlayer]]

Revision as of 12:48, 14 August 2012

MPlayer is a popular movie player for GNU/Linux. It has support for pretty much every video and audio format out there and is hence very versatile, even though most people use it for viewing videos.

Installation

MPlayer can be installed by three different packages from the official repositories:

Development versions are also available in the AUR:

For differences between the two see MPlayer2 vs MPlayer.

Additional installation tips

Frontends/GUIs

There are several GUIs for MPlayer.

  • SMPlayer — A middleweight Qt front-end for MPlayer with additional patches.
http://smplayer.sourceforge.net/ || smplayer
  • UMPlayer — A SMPlayer fork with extra features (CSS themes, YouTube integration, ShoutCast support. etc.)
http://www.umplayer.com/ || umplayerAUR
  • GNOME-MPlayer — A simple GTK-based GUI for MPlayer.
http://kdekorte.googlepages.com/gnomemplayer || gnome-mplayer
  • Pymp — A PyGTK frontend for MPlayer
http://jdolan.dyndns.org/trac/wiki/Pymp || pympAUR
  • KMPlayer — A video player plugin for Konqueror and basic MPlayer/Xine/ffmpeg/ffserver/VDR frontend for KDE.
http://kmplayer.kde.org/ || kmplayerAUR
  • Xt7-Player — A graphical user interface for MPlayer written in Gambas, with a huge list of features.
http://xt7-player.sourceforge.net/xt7forum/ || xt7-playerAUR

Browser integration

If you want to let MPlayer control video viewing in your favorite web browser, install the following:

Firefox

A browser plugin is available in the official repositories with the gecko-mediaplayer package.

Note: Depends on gnome-mplayer, which provides a complete frontend to MPlayer.

Konqueror

A plugin for Konqueror can be found in the AUR with the kmplayerAUR package.

Note: kmplayerAUR Also provides a complete frontend to MPlayer.

Chromium

The gecko-mediaplayer plugin for Firefox also works in Chromium.

Usage

Configuration

System-wide configuration is located in /etc/mplayer/mplayer.conf, whereas the user-local settings are stored in ~/.mplayer/config. The file /etc/mplayer/example.conf is a good starting point.

An example configuration:

/etc/mplayer/example.conf
# default configuration that applies to every file
[default]
# use X11 for video output
vo=xv
# use also for audio output
ao=alsa
# ao=oss # Use OSS4
# multithreaded decoding of H264/MPEG-1/2 (valid: 1-8)
lavdopts=threads=2
# prefer using six channels audio
channels = 6
# scale the subtitles to the 3% of the screen size
subfont-text-scale = 3
# never use font config
nofontconfig = 1
# add black borders so the movies have the same aspect ratio of the monitor
# for wide screen monitors
vf-add=expand=::::1:16/9:16
# for non wide screen traditional monitors
#vf-add=expand=::::1:4/3:16

#profile for up-mixing two channels audio to six channels
# use -profile 2chto6ch to activate
[2chto6ch]
af-add=pan=6:1:0:.4:0:.6:2:0:1:0:.4:.6:2
 
#profile to down-mixing six channels audio to two channels
# use -profile 6chto2ch to activate
[6chto2ch]
af-add=pan=2:0.7:0:0:0.7:0.5:0:0:0.5:0.6:0.6:0:0

# Disable screensaver.
heartbeat-cmd="xscreensaver-command -deactivate &" # stop xscreensaver
stop-xscreensaver="yes" # stop gnome-screensaver

Key Bindings

This is a list of the most basic MPlayer keys. For a complete list of keyboard shortcuts look at man mplayer.
Key Description
Template:Keypress Toggle pause/play.
Template:Keypress Toggle pause/play.
Template:Keypress Return to menu when using dvdnav.
Template:Keypress Seek backward ten seconds.
Template:Keypress Seek forward ten seconds.
Template:Keypress Seek backward one minute.
Template:Keypress Seek forward one minute.
Template:Keypress Go back in the playlist.
Template:Keypress Go forward in the playlist.
Template:Keypress Mute the sound.
Template:Keypress Volume up.
Template:Keypress Volume down.
Template:Keypress Toggle fullscreen mode.
Template:Keypress Toggle OSD state.
Template:Keypress Toggle subtitle visibility.
Template:Keypress Show filename.
Template:Keypress, Template:Keypress Adjust contrast.
Template:Keypress, Template:Keypress Adjust brightness.
Template:Keypress Cycle through the available subtitles.
Template:Keypress Cycle through the available audio tracks.

Tips and Tricks

Automatic Resuming Where You Left Off

The AUR contains an elegant perl wrapper-script which will allow autoresuming from the point at which playback was stopped mplayer-resumerAUR.

Usage is trivial: simply call the wrapper-script in place of mplayer. Example:

$ mplayer-resumer [options] [path/]filename

If this script is restarted within $tdiff (default 5 seconds) then it will delete the file used to keep track of the videos resume position.

RATIONALE

Watching 90% of a video and stopping causes you to return to the beginning again the next time you watch it. Remembering where you were in the video and resuming at that position is a much nicer behavior for the user. By default, mplayer spits out timecode information that tells you where you are in the video, to the tenth of a second. MPlayer also supports a seek feature on the command-line. We can make use of these features to write an mplayer wrapper that will remember the last position in a video file and resume to it on playback.

DESIGN LIMITATION

If the video file to be played is on a read-only filesystem, or otherwise lives in a location that cannot be written to, resume will fail. This is because the current implementation uses a file parallel to the video file to store the timecode.

Enabling VDPAU (modern Nvidia cards only)

For a complete list of VDPAU capable hardware, see this table. Ensure the nvidia driver is installed and consider one of the following two methods to automatically enable VDPAU for playback.

1. Using a conf file

Append the following to either the system-wide (/etc/mplayer/mplayer.conf) or user-specific (~/.mplayer/config) config files:

vo=vdpau,
vc=ffh264vdpau,ffmpeg12vdpau,ffodivxvdpau,ffwmv3vdpau,ffvc1vdpau,
Note: The trailing commas are important! They tell MPlayer to fall back on other drivers and codecs should the specified ones not be found.
Warning: The ffodivxvdpau is only supported by the most recent series of Nvidia hardware. Consider omitting it based on your specific hardware. See the Nvidia page for more information.

2. Using a wrapper script

The AUR contains a trivial bash script called mplayer-vdpau-autoAUR that detects which video codec to use and when to use VDPAU as the video output.

Translucent Video with radeon and Composite enabled

To get translucent video output in X you have to enable textured video in mplayer:

$ mplayer -vo xv:adaptor=1 <File>

Or add the following line to ~/.mplayer/config:

vo=xv:adaptor=1

You can use xvinfo to check which video modes your graphic card supports.

SMPlayer No Video Issue

SMPlayer may have trouble opening mp4 (and probably flv) videos. If it plays only audio without video here is the fix: Open your ~/.mplayer/config file and add

 [extension.mp4]
 demuxer=mov

If problem persists after doing so, it is because of smplayer is keeping settings for that specific file. Deleting file settings of smplayer will fix this.

 $ rm -rf ~/.config/smplayer/file_settings

SMPlayer fails to resume playback after pause

SMPlayer might stop playing a video after pausing it if your audio output driver is set wrong. If PulseAudio is used start mplayer with the "-ao pulse" argument or edit your ~/.mplayer/config file and add

 ao=pulse

In SMPlayer you have to change your "Output-driver" under "General" - "Audio" in the options.

Transparent SMPlayer in Gnome with Composite enabled

Have you noticed the transparent screen of smplayer when you are using compiz and maybe cairo-dock? Well it's ridiculous that when you open your videos using SMplayer you can just hear audio and no video! Here's how you fix this: [copy paste into terminal]

   sudo bash -c "cat > /usr/bin/smplayer.helper" <<EOF
   export XLIB_SKIP_ARGB_VISUALS=1
   exec smplayer.real "$@"
   EOF
   sudo chmod 755 /usr/bin/smplayer.helper
   sudo mv /usr/bin/smplayer{,.real}
   sudo ln -sf smplayer.helper /usr/bin/smplayer

If you don't use sudo then just use "su" to login as root and do the above!

Watching streamed video

If you want to play a video stream (e.g *.asx link) use:

$ mplayer -playlist link-to-stream.asx 

To play the stream, as these are playlists of streams and won't be playable by omitting the -playlist option.

Play mplayer with dvdnav support

If you want to use mplayer with dvdnav support to enable the menus of a dvd then use the following syntax:

$ mplayer -nocache dvdnav://

Seek forward/backward in a downloading file

If you want to be able to seek forward and backward in a video file which is still downloading whilst watching it, add the following to your config file.

idx=yes

Increase the total volume

If the maximal volume provided by the sound settings is not loud enough, you can increase the volume by mplayer itself. Activate softvol and set a maximal level which has to range between 10 and 10000.

softvol=1
softvol-max=600

Stream mplayer audio to jackd

To have mplayer audio output directed to JACK as its default behavior, edit ~/.mplayer/config and add:

ao=jack

If you don't have JACK running all the time, you can have MPlayer output to JACK on an as-needed basis by invoking MPlayer from the command line as such:

$ mplayer -ao jack [path]/filename

MPlayer fails to open files with spaces

If you try to open a file with spaces (The Movie) and mplayer fails. Saying that it could not open the file (file:///The%20Movie), where all spaces are converted to %20.

Then edit /usr/share/applications/mplayer.desktop to change the following line from:

Exec=mplayer %U

To:

Exec=mplayer "%F"

If you have a frontend/GUI enter GUI name in Exec=gui_name "%F".

External links