Skip to main content

Lightweight and dynamic MPlayer wrapper with a Pythonic API

Project description at a glance

>>> p = mplayer.Player()
>>> p.loadfile('/path/to/file.mkv')
>>> p.time_pos = 40
>>> print p.length

What is

Initially known as PyMPlayer ( renamed to avoid confusion with other projects), provides several Pythonic interfaces to MPlayer. These are implemented as the following classes (see Introspection for more info):

  1. Player provides a clean, Pythonic interface to MPlayer.
  2. AsyncPlayer is a Player subclass with asyncore integration (POSIX only).
  3. GPlayer is a Player subclass with GTK/GObject integration.
  4. QtPlayer is a Player subclass with Qt integration (same usage as AsyncPlayer)
  5. GtkPlayerView provides a basic (as of now) PyGTK widget that embeds MPlayer.
  6. QPlayerView provides a PyQt4 widget similar to GtkPlayerView in functionality.

Show your appreciation by saying thanks or by donating a small amount.


Version 0.7.2 Released! (March 28, 2019)

You can download it here:

  • Don't pause upon initially loading file (Fixes #32)

Version 0.7.1 Released! (May 8, 2017)

You can download it here:

  • Various MPlayer2 fixes
  • Fix subprocess.mswindows error in python3.5+
  • Add a gevent-friendly Player subclass.

Version 0.7.0 Released! (September 8, 2011)

You can download it here:

  • Expose ALL commands except get_* and *_property commands and those which have the same name as their corresponding property.
  • Better QPlayerView and GtkPlayerView widgets; the Player objects are now directly accessible via the player property.
  • Getting output from MPlayer is now thread-safe (a Queue is now used)
  • Data can now be obtained asynchronously from Player objects (via subscribers/callbacks)
  • Improved generation of properties (using functools.partial objects)
  • Added type checking to generated methods and properties
  • Added value checking to generated properties
  • Abstracted MPlayer type handling away from the core (see mtypes module)
  • Python 2.x unicode and str fixes

Don't forget to read the CHANGES file.

Switched to git (September 7, 2011)

The code of (formerly PyMPlayer/python-mplayer) is now hosted at GitHub.

NOTE: Issues and wiki are still hosted here at Google Code.

Since python-mplayer is a very verbose and long name, let's just call it :)

Version 0.6.0 Released! (March 3, 2011)

You can download it here:

  • Support for MPlayer property access (get_property, set_property, step_property) with automatic type conversion via standard Python properties (new-style classes)
  • Drop methods which have the same functionality as their corresponding properties (for cleaner API)
  • No more exposed command() and query() methods; use the higher-level methods and properties instead
  • Improved code generation; generated methods execute faster than in 0.5.0
  • Introspection now happens on module load, not on instantiation
  • MPlayer is now spawned automatically (See autospawn parameter)
  • Setting of command prefix globally (i.e. per class) and per method execution is supported
  • Full support for Windows (for get_ commands)

Don't forget to read the CHANGES file.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution (16.2 kB view hashes)

Uploaded source

Built Distribution (20.3 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page