Mplayer2 is an advanced general-purpose video player. A fork of the original MPlayer project, it contains significant further development and supports a number of features not available in other Unix players.

With mplayer2, most of the commandline/configuration options, keyboard commands etc from MPlayer are still available and work the same way. It is also compatible with GUIs originally written for MPlayer, such as SMplayer and UMplayer. MEncoder is no longer available due to the bad code quality and architecture of MEncoder.

Why Mplayer2 instead of original Mplayer

Mplayer2 has many improvements over MPlayer(

Better pause handling
In MPlayer executing any commands forced the player to unpause. This is no longer the case; in MPlayer2 you can change settings, seek, or run other commands while paused.

Better Matroska support
MPlayer2 has improved support for Matroska files, including support for ordered chapters and editions.

Easy to use multithreading support
It’s easy to build MPlayer2 with FFmpeg-mt support, and threading will be used automatically without requiring any manual configuration. This gives a big performance increase on multicore machines.

Much better support for VDPAU functionality on NVIDIA cards
Removed limitations that prevented switching frames more than once per monitor refresh. With MPlayer2 you can play high-FPS content or use fast forward on a 60 Hz monitor without breaking playback.
Added support for the frame timing functionality of VDPAU.
Improved performance by better buffer handling and smarter subtitle texture uploads (both VDPAU hardware decoding and displaying software decoded video with VDPAU perform better).
Added logic to reduce frame timing jitter in some situations.
Handle frames added by deinterlacing properly.
Several bugfixes.
Various minor improvements (studio level output support, set default deinterlace mode, …)
Support for precise seeks
It’s now possible to seek to any frame in the video; seeks are no longer necessarily limited to keyframes.

Support for gettext-based translations
The message translation support in MPlayer was basically useless for binary Linux distributions, as the message language was hardcoded at compile time and supporting several languages would have required a separate program binary for every one. Runtime-switchable translations with gettext are now supported.

No longer depends on embedded FFmpeg tree or internal FFmpeg symbols
MPlayer required an embedded copy of FFmpeg to compile. This caused a maintenance burden as changes in FFmpeg fairly often broke the compilation of MPlayer. While it could link against shared FFmpeg libraries it would still use some code from the embedded tree instead, and also depended on internal FFmpeg symbols that are not part of the public API, thus making any dynamic-linked binaries liable to break when FFmpeg libraries are updated. MPlayer2 does not depend on embedded FFmpeg library copies and uses FFmpeg only through its public API. This eases maintenance and makes dynamic-linked binaries safe.

Lots of bugfixes
Improvements in audio/video sync handling
Cleaned up and improved various terminal output messages
Support for gapless playback of audio files (option -gapless-audio)
Better responsiveness in certain cases where MPlayer had significant latency before reading or completing commands
Support modifier keys in command bindinds (currently X11-based input only)
Keep fullscreen state by default when switching between files
OSS4 volume control
Various stuff not listed here…

Install Mplayer2 in Ubuntu

Mplayer2 is available in Ubuntu Oneiric Universe repository, install it use Ubuntu Software Center.

Or Ubuntu 10.04 Lucid and higher can add this untrusted PPA with following commands, check here.

sudo add-apt-repository ppa:ripps818/coreavc
sudo apt-get update
sudo apt-get install mplayer

Currently mplayer2 uses the same binary and directory names as MPlayer. It will remove previous installed Mplayer if you install mplayer2 to the default location.