Hubbry Logo
MPlayerMPlayerMain
Open search
MPlayer
Community hub
MPlayer
logo
8 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
MPlayer
MPlayer
from Wikipedia
MPlayer
DeveloperMPlayer team
Initial release2000; 25 years ago (2000)
Stable release
1.5[1][2] Edit this on Wikidata / 27 February 2022
Repository
Written inC
PlatformCross-platform
Available inEnglish, Hungarian, Polish, Russian and Spanish
TypeMedia player
LicenseGPL-2.0-or-later[3]
Websitemplayerhq.hu Edit this at Wikidata

MPlayer is a free and open-source media player software application. It is available for Linux, OS X and Microsoft Windows. Versions for legacy systems such as OS/2 and AmigaOS were previously available, but are no longer actively maintained. A port for DOS using DJGPP is also available.[4] Versions for the Wii Homebrew Channel[5] and Amazon Kindle[6] have also been developed.

History

[edit]

Development of MPlayer began in 2000. The original author, Hungarian Árpád Gereöffy, started the project because he was unable to find any satisfactory video players for Linux after XAnim stopped development in 1999. The first version was titled mpg12play v0.1 and was initially prototyped using libmpeg3 from Cinelerra-HV. After mpg12play v0.95pre5, the code was merged with an AVI player based on avifile's Win32 DLL loader to form MPlayer v0.3 in November 2000.[7]

Gereöffy was soon joined by many other programmers, in the beginning mostly from Hungary, but later worldwide.

Alex Beregszászi has maintained MPlayer since 2003 when Gereöffy left MPlayer development to begin work on a second generation MPlayer. The MPlayer G2 project was abandoned, and all the development effort was put on MPlayer 1.0.[8]

MPlayer was previously called "MPlayer - The Movie Player for Linux" by its developers but this was later shortened to "MPlayer - The Movie Player" after it became commonly used on other operating systems.

Video acceleration

[edit]

There are various SIP blocks that can accelerate video decoding computation in several formats, including PureVideo, UVD, QuickSync Video, TI Ducati and others. Hardware acceleration for MPlayer was implemented in the 2000s for several chipsets. However, newer forks such as mpv now provide more modern and active support for hardware decoding for MPlayer,[9] including for specific mobile device architectures.[10]

Capabilities and classification

[edit]

MPlayer supports a broad range of media formats, leveraging FFmpeg libraries for decoding and playback. However, users seeking support for modern codecs and streaming protocols often use mpv, which builds upon MPlayer's foundation and can also save all streamed content to a file locally.

A companion program, called MEncoder, can take an input stream, file or a sequence of picture files, and transcode it into several different output formats, optionally applying various transforms along the way.

A variety of command-line parameters allows changing the appearance of the player, including -speed [number], -af scaletempo for changing audio speed while maintaining the pitch, -ss (start at x seconds), -sb (start at x bytes), -endpos (stop playing at x seconds), -novideo for only playing the audio track of a video, and -loop [number] for looping.[11]

Media formats

[edit]
MPlayer being run via command line in Microsoft Windows.

MPlayer can play many formats, including:[12]

MPlayer can also use a variety of output driver protocols to display video, including VDPAU, the X video extension, OpenGL, DirectX, Direct3D, Quartz Compositor, VESA, Framebuffer, SDL and rarer ones such as ASCII art (using AAlib and libcaca) and Blinkenlights. It can also be used to display TV from a TV card using the device tv://channel, or play and capture radio channels via radio://channel|frequency.

Since version 1.0RC1, Mplayer can decode subtitles in ASS/SSA subtitle format, using libass.

Available plugins

[edit]

Interface and graphical front-ends

[edit]
Gnome-MPlayer v1.0.9 on GNOME

Like GStreamer, MPlayer has only command line interface and there are a couple of front-ends available, which use GUI widgets of GTK, Qt or some other widget library. When not using these front-ends, mplayer can still display video in a window (with no visible controls on it), and is controlled using a keyboard. MPlayer itself is a command-line based player, but various third-party front-ends have been developed over time. Active and popular front-ends include SMPlayer (Qt-based), while others such as Gnome-MPlayer and MPlayerX are no longer actively maintained.

Forks

[edit]

mplayer2 was a GPLv3-licensed fork of MPlayer, largely the work of Uoti Urpala, who was excluded from the MPlayer project in May 2010 due to "long standing differences" with the MPlayer Team.[13] The main changes from MPlayer were improved pause handling, Matroska support, seeking, and support for Nvidia VDPAU; enabling multithreading by default; and the removal of MEncoder, the GUI interface, and various video drivers and bundled libraries, such as ffmpeg, relying instead on shared libraries.[14][15] The developers also indicated intentions to enable MPlayer2 to use Libav as an alternative to ffmpeg.[16] The first release, 2.0, was published in March 2011. Mplayer2 development has ceased, and its goals have largely been continued by mpv, an actively developed fork.

mpv[17] is a GPLv2-licensed fork of mplayer2. Since June 2015, mpv has worked to relicense its code as LGPL v2.1 or above.[18]

MPlayer, MPlayer2 and mpv all use incompatible EDL formats.[19][20][21]

[edit]

In January 2004, the MPlayer website was updated with an allegation that the Danish DVD player manufacturer, Kiss Technology, were marketing DVD players with firmware that included parts of MPlayer's GPL-licensed code. The implication was that Kiss was violating the GPL, since Kiss did not release its firmware under the GPL license. The response from the managing director of Kiss, Peter Wilmar Christensen, countered that the similarities between the two pieces of code indicate that the MPlayer team had in fact used code from Kiss's firmware.[22] However, the Kiss DVD player, released in 2003, used a subtitle file format that is specific to MPlayer, which was designed by an MPlayer developer in 2001.[22]

Current status

[edit]

As of 2025, MPlayer remains available as a legacy media player but is no longer under active feature development. Users seeking a more modern and actively maintained media player are generally encouraged to use mpv, a fork that continues the MPlayer2 development line with improved compatibility, hardware acceleration, and interface options.

See also

[edit]

References

[edit]
[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
MPlayer is a free and open-source media player software that supports playback of a wide variety of video and audio formats on multiple platforms.
Originally developed in 2000 by Hungarian programmer Árpád Gereöffy (known as A'rpi) out of frustration with the limitations of existing Linux media players, it began as a simple MPEG-1/2 decoder called mpg12play before evolving into a comprehensive multimedia tool.
Key early contributors included Aaron Holtzman and Michel Lespinasse, who helped expand its capabilities, leading to the first official MPlayer release (version 0.10) in January 2001, which unified support for MPEG and AVI files in a single binary.
Over time, MPlayer has grown to include advanced features such as hardware-accelerated video decoding via VDPAU, on-screen display (OSD) for subtitles in multiple formats, and compatibility with modern codecs like HEVC, VP9, and Opus through integration with FFmpeg libraries.
It runs on diverse operating systems including Linux, Windows, macOS, OS/2, and even embedded devices like the Wii, with both command-line and graphical user interface (GUI) options available.
The project remains actively maintained under the GNU General Public License version 2, with its latest stable release (version 1.5) issued on February 27, 2022, incorporating updates from the FFmpeg 5.0 release and ongoing development in its SVN trunk.

History and Development

Origins and Early Development

MPlayer was founded in September 2000 by Hungarian developer Árpád Gereöffy, known online as A'rpi in the community, as his first major open-source project beyond demoscene activities. Gereöffy, who began programming at age 10 on the Commodore 64, sought to address the shortcomings of existing media players, which struggled with audio-video synchronization, special file handling, and limited format support for tasks like playing VCDs. Drawing from his involvement in the Hungarian open-source scene, he chose the GNU General Public License (GPL) to foster collaborative development and encourage contributions from a global community. The initial release, MPlayer v0.1, emerged on September 22, 2000, as mpg12play, a video-capable extension built on libraries like libmpeg3 for /2 playback. This was quickly followed by versions up to v0.95pre5 by early November, incorporating improvements such as the libmpeg2 for better performance. In November 2000, Gereöffy merged the mpg12play codebase with his new simple AVI player, avip—which relied on avifile's Win32 DLL loader—resulting in MPlayer v0.3, a unified package supporting basic AVI playback alongside MPEG. From the outset, MPlayer emphasized portability across and systems, prioritizing a , single-process design that integrated audio and video decoding to maintain . By January , with v0.10, the project combined MPEG and support into a single binary, marking a foundational step toward broader media compatibility. This early evolution laid the groundwork for rapid community involvement, though Gereöffy transitioned leadership to maintainers like Alex Beregszászi by 2003.

Key Milestones and Maintainers

In 2003, following Árpád Gereöffy's departure from the project to pursue the short-lived MPlayer G2 initiative, which was abandoned due to licensing concerns, Alex Beregszászi assumed maintenance responsibilities for , having already served as code maintainer since version 0.90rc3 earlier that year. This transition marked a shift toward more collaborative development, with Beregszászi supported by an expanding team of contributors. The release of MPlayer 1.0pre1 on September 1, 2003, represented a significant , introducing a integration of FFmpeg's library that expanded support for a wide range of codecs, including formats, without relying on external binary libraries. This integration, refined through subsequent updates between 2003 and 2005, allowed MPlayer to handle diverse media streams more efficiently by leveraging libavcodec's decoding capabilities directly within its build process. Key releases during this period further advanced MPlayer's functionality. Version 1.0rc1, released on October 23, 2006, added native support for ASS/SSA subtitle formats via the libass library, enabling advanced rendering of styled and colored subtitles. MPlayer 1.1, issued on June 10, 2012, enhanced streaming capabilities, including improved RTSP protocol handling through FFmpeg integration and better support for subtitles. The series culminated in MPlayer 1.3 on February 16, 2016, which incorporated FFmpeg 3.0 for superior hardware decoding, such as for HEVC and VDA acceleration on macOS, alongside fixes for codec compatibility. Community involvement grew substantially under Beregszászi's leadership, with contributions coordinated via the project's (SVN) repository and IRC channel #mplayer-dev on , leading to expansions in skins, such as the default "Blue" theme, and comprehensive documentation updates in multiple languages.

Current Development Status

MPlayer 1.4, codenamed "SubCounter," was released on April 18, 2019, with a primary emphasis on ensuring compatibility with FFmpeg 4.1 and the ongoing FFmpeg master branch, alongside various bug fixes to stabilize playback and codec handling. This release marked a continuation of efforts to align MPlayer with upstream libraries while addressing accumulated issues from prior versions. The final major release, MPlayer 1.5 "Hope," arrived on February 27, , introducing compatibility with FFmpeg 5.0 and the FFmpeg master branch, and incorporating an updated FFmpeg snapshot for enhanced codec support. Key improvements included adjustments to deprecated features like ffmpeg12vpdau decoders, replaced by separate ffmpeg1vpdau and ffmpeg2vdpau options, to maintain functionality amid FFmpeg's evolution. Since , MPlayer's development has shifted to , with activity confined to sporadic Subversion (SVN) commits primarily for security patches, bug fixes, and adaptations in packaging—no new features have been introduced. For instance, SVN revisions have advanced to at least r38680 by mid-2025, often tied to packaging updates like those in Debian Multimedia repositories, ensuring ongoing compatibility and vulnerability mitigations. The official website at mplayerhq.hu and the bug-tracking repository at trac.mplayerhq.hu continue to operate, though with infrequent updates beyond maintenance tickets. The project's IRC channel persists on irc. in #mplayer for community discussions. For users seeking active development and modern enhancements, forks such as mpv are recommended, as MPlayer is increasingly regarded as legacy software suited for stable, lightweight playback needs in 2025.

Core Features and Capabilities

Playback and Processing Functions

MPlayer functions primarily as a command-line media player, enabling the reproduction of local media files by specifying the file path directly in the invocation. It supports playback of DVD discs through the dvd://<title> syntax, utilizing libraries such as libdvdread for navigation and decryption via when needed. Similarly, Video CDs (VCDs) are handled with the vcd://<track> syntax, accessing tracks in mode 1 or 2 form from the default device. For network content, MPlayer streams media from protocols including HTTP, FTP, MMS, and RTSP/RTP by providing the appropriate , with options to save incoming streams during playback. A key aspect of MPlayer's processing is its ability to perform on-the-fly adjustments during playback, including format conversion, video scaling via filters like scale=width:height, with options such as pp=lb or yadif, and audio-video synchronization using parameters like -autosync or -mc to correct timing discrepancies. These operations occur seamlessly without external dependencies, allowing real-time adaptation of media for optimal display on the target system. To facilitate , MPlayer includes a slave mode activated by the -slave option, which interprets commands from standard input for controlling playback, seeking, and other functions, making it suitable as a backend for scripting or integration into larger applications. This mode supports external scripting for tasks like pausing, volume adjustment, or subtitle loading, as detailed in the slave protocol documentation. MPlayer offers versatile output options, rendering video to the screen through drivers such as X11 or , dumping streams or processed output to files in formats like with -dumpstream and -dumpfile, or directing content to external devices including TV-out configurations on supported hardware. These capabilities enhance its utility in diverse environments, from desktop viewing to embedded systems. Although effective for playback and basic filtering, MPlayer does not support advanced real-time editing like cutting or layering; instead, its companion tool MEncoder handles for encoding and conversion tasks, applying similar filters in multi-pass operations to produce output files without interactive editing features. MEncoder leverages MPlayer's demuxing and decoding for efficient, non-real-time workflows such as resizing or format in bulk.

Classification and Limitations

MPlayer is classified as a free and open-source under the GNU General Public License, emphasizing its availability for modification and redistribution. Primarily developed for , it supports cross-platform usage through ports to Windows, macOS, and legacy systems like DOS, enabling playback on diverse hardware environments. One of its key strengths lies in high customizability, facilitated by configuration files such as mplayer.conf and input scripts that allow users to bind commands to keys or automate playback sequences. Additionally, MPlayer serves as a lightweight transcoder via its integrated MEncoder tool, which converts media files without requiring a full-featured encoding suite. These attributes make it particularly appealing for users seeking precise control over media handling. However, MPlayer has notable limitations, including the absence of native support for mobile operating systems, with no official builds for Android or , restricting its use on contemporary handheld devices. It provides minimal built-in library management, lacking features like automated media scanning or tagging beyond basic playlists, and relies on external libraries such as FFmpeg for codec updates and format compatibility. In scope, it is not designed as a comprehensive media center, omitting support for protocols like for network streaming, which contrasts with more GUI-oriented players like VLC that cater to broader, less technical audiences. Instead, MPlayer excels in command-line-centric environments favored by advanced users. As of 2025, MPlayer's legacy status—stemming from its last release in 2022—limits seamless integration with new hardware ecosystems, such as modern GPUs or streaming devices, often necessitating forks like mpv for enhanced compatibility and ongoing development.

Technical Implementation

Hardware Acceleration Methods

MPlayer utilizes several methods to offload video decoding and rendering from the CPU to the GPU, improving playback efficiency for demanding formats. VDPAU, an developed by and compatible with and GPUs, has been supported in MPlayer since its integration into the mainline codebase around 2009. This method enables hardware decoding of H.264 and video streams, substantially reducing CPU utilization by shifting decoding tasks to the GPU. VA-API, an open-source interface primarily for Intel and AMD hardware, was integrated into MPlayer starting in 2007. It supports hardware decoding of VP8 and HEVC on compatible modern GPUs, allowing efficient processing of web-optimized and high-efficiency videos. On macOS, MPlayer leverages VDA, integrated with the framework, for hardware-accelerated decoding. For Windows platforms, DXVA through provides similar GPU offloading capabilities. Additionally, serves as a method for hardware-accelerated output scaling and rendering. These methods are configured using command-line options, such as -vo vdpau to enable VDPAU output or -vo vaapi for VA-API, with MPlayer automatically falling back to software-based rendering if the selected hardware acceleration is unavailable or incompatible. Limitations include that hardware acceleration for AV1 depends on compatible hardware and drivers via FFmpeg integration; AV1 hardware decoding is supported through VA-API and VDPAU as of FFmpeg 4.0 (2018). As of the 1.5 release (2022) with FFmpeg 5.0, HEVC hardware acceleration is fully supported via VDPAU and VA-API; ongoing trunk development incorporates later FFmpeg versions for improved performance.

Supported Media Formats and Codecs

MPlayer supports a wide array of media containers, enabling playback of diverse video files through its integration with native demuxers and the FFmpeg library's libavformat. Commonly handled containers include for general-purpose , MPEG variants such as ( objects), PS (program streams), and TS (transport streams) for broadcast and streaming content, (MKV) for high-quality containerization with chapters and multiple tracks, Ogg/OGM for open-source bundling, MP4 for modern web and mobile video, ASF/WMV for formats, (MOV) for Apple ecosystems, and (RM) for legacy streaming. These are processed natively or via FFmpeg, allowing seamless demuxing without external dependencies for most cases. For video codecs, MPlayer relies heavily on the library from FFmpeg, providing decoding support for standards like H.264/AVC for high-efficiency compression in Blu-ray and streaming, /2/4 for foundational DVD and web video, and (MPEG-4 ASP implementations) for popular encoded movies, VP6/8/9 from for interactive media, as an open royalty-free option, and WMV for Windows Media compatibility. decoding is supported via FFmpeg since approximately 2016 for software and 2018 for on compatible GPUs. The full suite covers hundreds of codecs, though patented ones like certain or Sorenson variants require binary DLLs for full functionality, which are not included in standard builds to avoid licensing issues. Encoding is limited to non-patented options unless external libraries are linked. Audio codecs are similarly broad, with native and support for (MPEG Layer 3) as the ubiquitous compressed format, AAC for efficient multichannel audio in MP4 containers, for Ogg-based open-source playback, AC-3 () for passthrough, WMA for interoperability, and for . MPlayer handles multi-track audio selection, allowing users to switch between language or commentary streams within containers like MKV or OGM during playback. Subtitle formats are robustly supported for on-screen display, including ASS/SSA with advanced styling capabilities introduced in 2006 for animations and positioning, SRT for simple timed text, SUB (DVD subtitles), and VOBsub for image-based DVD overlays. Additional formats encompass MicroDVD, SubViewer, Sami, VPlayer, RT, PJS, MPsub, AQTitle, JACOsub, OGM embedded text, and closed captions (CC). Font rendering is customizable, supporting European ISO 8859-1/2, Cyrillic, and Korean character sets via integration. Through periodic updates to its FFmpeg integration, MPlayer has incorporated decoding for emerging codecs like HEVC/H.265 since version 1.2 (2015), enabling efficient handling of 4K and high-dynamic-range content, though encoding remains unavailable without proprietary extensions. Proprietary formats may require plugins for niche support.

Plugins and Extensions

MPlayer incorporates a Win32 DLL loader to enable playback of media using proprietary binary codecs, such as those from , , and Windows Media, on both and Windows systems without requiring recompilation of MPlayer itself. This loader supports (VfW) codecs via .dll or .drv files, Audio Compression Manager (ACM) codecs for audio, and codecs identified by GUIDs, allowing MPlayer to interface with these external libraries for decoding formats not fully covered by open-source alternatives. For instance, and streams can be handled by loading the corresponding binary codecs, which must be installed separately and placed in a designated directory. Among legacy extensions, MPlayer on Windows can utilize filters to access enhanced codec capabilities, such as advanced decoding through Microsoft's , by specifying the codec's GUID and filename in the configuration. Additionally, libmad provides high-quality fixed-point decoding for audio (MPEG layers 1-3), offering an alternative to the internal mp3lib for improved accuracy in audio playback. These extensions were particularly valuable in earlier versions when open-source codec support was limited. Installation of these plugins typically involves compile-time configuration, such as enabling the Win32 DLL loader with the --enable-win32-dll option during MPlayer's build process, followed by placing the binary files in the codecs directory specified via --codecsdir. Runtime selection is also possible, for example, using the -ac mad option to load libmad for decoding, allowing flexible choice without rebuilding the application. With the integration of FFmpeg's , MPlayer has reduced reliance on these external binary plugins, as native open-source decoders now cover most formats previously requiring them. However, binary codecs carry ongoing risks due to their nature and lack of auditing, including historical vulnerabilities that could enable remote execution, a concern that persists as of 2025.

User Interfaces and

Command-Line Interface

MPlayer's (CLI) serves as its primary mode of operation, allowing users to invoke playback and configure settings directly from . The basic syntax follows the form mplayer [options] [file|URL|playlist|-], where options precede the media file, , or device path, enabling playback of local files, network streams, or optical media like DVDs and VCDs. Configuration is managed through files, with a global system-wide file at /etc/mplayer/mplayer.conf and a user-specific one at ~/.mplayer/config, which store default options and can be overridden by command-line arguments. File-specific configurations are also supported by placing an mplayer.conf file in the same directory as the media file when the -use-filedir-conf option is enabled. Key options provide fine-grained control over playback parameters. The -vo option selects the video output driver, such as xv for X11 or gl for OpenGL rendering, while -ao specifies the audio output, like alsa for ALSA or oss for OSS. Seeking is handled by -ss <time>, which starts playback from a specified position in seconds (e.g., -ss 30 skips the first 30 seconds), and -speed <factor> adjusts the playback rate, ranging from 0.01 to 100 (e.g., -speed 1.5 for 1.5x speed). These options can be combined for customized sessions, such as mplayer -vo xv -ao alsa -ss 60 -speed 2 video.avi. During playback, the CLI integrates interactive controls via keyboard shortcuts, enhancing usability for power users. Pressing the spacebar toggles pause and unpause, while enable seeking: left/right arrows move backward/forward by 10 seconds, and up/down arrows adjust by 1 minute. The (OSD) is enabled by default and shows progress information, including time and percentage, with levels adjustable via -osdlevel (e.g., -osdlevel 2 adds a seek bar). These shortcuts are defined in ~/.mplayer/input.conf, allowing customization of key bindings to MPlayer commands. Advanced scripting capabilities extend the CLI's programmability, particularly through slave mode activated by the -slave option, which reads commands from standard input (stdin) instead of keyboard events, facilitating external control via pipes or TCP sockets. In this mode, commands like pause, seek 10 0 (seek forward 10 seconds), or volume 80 are sent line-by-line, often prefixed with pausing modifiers such as pausing_seek to halt playback during operations. For example, echo "seek 30" | mplayer -slave -quiet video.avi seeks to 30 seconds upon launch, and for networked scripting, external tools such as can be used to send commands over TCP to the slave mode's stdin. A full list of supported commands is available via mplayer -input cmdlist. Customization options cater to diverse setups, including basic visual enhancements and hardware-specific profiles. Skin support adds a graphical overlay to the CLI output using -skin <name>, such as -skin default for a simple interface with menus and controls. Profiles in the configuration file, denoted by sections like [profile.laptop], group options for different scenarios (e.g., lower resolution on mobile devices), invoked with -profile [laptop](/page/Laptop). Graphical front-ends often wrap this CLI for easier access, passing options transparently to MPlayer. MPlayer's CLI and front-ends support accessibility features, including multi-format subtitle rendering for the hearing impaired, customizable OSD for visual feedback, and keyboard-driven controls compatible with screen readers on supported platforms. Subtitles can be loaded via command-line options like -sub <file> or integrated in front-ends with automatic downloading capabilities.

Graphical Front-Ends and Tools

GMPlayer serves as the official graphical user interface for MPlayer, providing a skin-based frontend that enhances the command-line player's usability without altering its core functionality. Built using GTK libraries (version 1.2.x or 2.0), it requires compilation with the --enable-gui flag and launches via the gmplayer binary. The interface supports customizable skins installed in system-wide or user-specific directories, allowing users to select themes through command-line options, configuration files, or an in-app skin browser. Key features include menu-driven navigation, playlist management for organizing media files, and seamless integration with MPlayer's existing configuration, enabling passthrough of hardware acceleration and codec options from the underlying binary. While included in various Linux distributions' MPlayer packages, GMPlayer is considered an aging component, with limited updates tied to MPlayer's overall development cycle. SMPlayer offers a robust, cross-platform graphical frontend for MPlayer, utilizing Qt widgets to create an intuitive interface that invokes the MPlayer binary for playback. It supports playback of virtually all video and audio formats through built-in codecs, remembering per-file settings such as playback position, audio tracks, subtitles, and volume for resumed sessions. Notable features encompass advanced management for sorting and queuing media, automatic subtitle downloading from opensubtitles.org, and integration for playing videos via an optional search plugin. Users can configure and other MPlayer options through SMPlayer's settings, ensuring compatibility with the core player's capabilities while adding layers of ease-of-use like skins and icon themes. As an actively maintained project under the GPL license, SMPlayer received updates in , including compatibility enhancements for modern systems on Windows, , and macOS. Other third-party tools have extended MPlayer's accessibility within specific desktop environments, though many are no longer actively developed. functions as a KDE-integrated frontend for MPlayer, FFmpeg, and , supporting DVD/VCD playback from files, URLs, or devices, with embedding capabilities in and browsers. It includes recording via mencoder and streaming options using ffserver/ffmpeg, passing through MPlayer's hardware options for efficient media handling. However, is unmaintained by the KDE community as of recent years. Similarly, GNOME MPlayer provides a simple, clean interface tailored for the desktop, enabling playlist creation, multimedia organization, and support for audio, video, CDs, DVDs, VCDs, and streams through MPlayer's backend. This tool, once archived on Google Code, remains unmaintained, with no updates beyond early distributions. These frontends collectively inherit MPlayer's format and versatility, focusing on visual enhancements like subtitle handling and tools to improve user .

Forks and Successors

mplayer2

mplayer2 emerged as a of MPlayer in early 2011, primarily developed by Uoti Urpala following his exclusion from the original project in 2010 amid disagreements. This fork was licensed under GPLv3, moving beyond MPlayer's GPLv2 to enable greater compatibility with modern libraries and address licensing constraints for integrating newer components. It responded to the original MPlayer's slowing development pace in the late 2000s and early by focusing on streamlined builds and enhanced feature integration. Key enhancements in mplayer2 included improved integration with libass for advanced subtitle rendering, supporting styled ASS/SSA formats with better font handling and compatibility. It introduced asynchronous queueing mechanisms in its playback pipeline to reduce stuttering during high-bitrate streams, contributing to smoother video reproduction. Additionally, Lua scripting hooks allowed users to extend functionality through custom scripts for input handling and playback control, marking an early adoption of embeddable scripting in the MPlayer lineage. Development reached its peak with releases through , during which mplayer2 incorporated updates from FFmpeg's master branch to support emerging codecs like H.264 and without relying on outdated internal decoders. Active contributions tapered off by –2014, as the project transitioned into , ultimately serving as an intermediary step toward more advanced derivatives.

mpv and Other Derivatives

mpv emerged as the primary active successor to MPlayer through its from mplayer2 in 2013, initiated by developer wm4 along with other contributors seeking to modernize the . This addressed limitations in the aging MPlayer by prioritizing cleaner , enhanced extensibility, and compatibility for in other applications. To facilitate broader integration, mpv underwent a relicensing effort starting in 2015, transitioning much of its from GPLv2+ to LGPLv2.1+ by obtaining contributor agreements, with the process largely completed by 2017. As of 2025, mpv remains under vigorous development, with version 0.40.0 released on March 25, 2025, marking frequent updates focused on performance optimizations and new platform support. Distinguishing itself from its mplayer2 predecessor, mpv introduced a simplified (CLI) that streamlines options for easier use while retaining power-user flexibility through profiles and runtime commands. It added native support for and scripting, enabling users to create custom extensions for on-screen controls, subtitle handling, and integration with tools like without external dependencies. Hardware acceleration saw significant improvements, including full support for VA-API 2.0 for efficient video decoding on , , and hardware, reducing CPU load in high-resolution playback. The video output (vo) system evolved into the gpu rendering chain, leveraging , , or Direct3D11 for scalable, shader-based processing that outperforms legacy MPlayer methods. mpv's feature set emphasizes configurability and video fidelity, with dynamic runtime adjustments via key bindings or scripts that allow on-the-fly changes to playback parameters without restarting. It incorporates high-quality scaling algorithms such as Lanczos, which balances sharpness and smoothness for upscaling, serving as the default for optimal performance on modern displays. Advanced is enhanced through integration with libplacebo, a library for GPU-accelerated rendering that handles HDR , , and custom shaders, enabling precise control over output quality. Beyond mpv, other derivatives of the MPlayer lineage include Baka MPlayer, a GUI-focused frontend built on libmpv for cross-platform playback with a minimalist interface, though development stalled around with no significant updates since. Similarly, MPlayerX targeted macOS users with native Cocoa integration but was abandoned in the mid-2010s amid controversies over distribution via its official installer, which bundled potentially unwanted programs. mpv has gained widespread adoption as the preferred alternative to the original MPlayer, powering Android ports like mpv-android for mobile video playback and serving as the backend for media centers such as Kodi through libmpv embeddings. Its lightweight design and active maintenance make it the de facto standard for command-line media handling in distributions and embedded systems.

GPL Compliance Disputes

In early 2004, MPlayer developers accused Kiss Technology of violating the GNU General Public License (GPL) by integrating portions of MPlayer's GPL-licensed code—specifically, subtitle parsing routines from files like subreader.c and subreader.h, as well as libraries such as libmad and —into the of their DP-500 and DP-600 players without releasing the corresponding . Evidence included identical strings for subtitle formats (e.g., MPSub, SAMI, RT) in KiSS firmware dumps, which matched MPlayer's implementation exactly, including MPlayer-specific formats unlikely to appear coincidentally. Kiss provided a GPL.ZIP file with sources for the and but omitted any MPlayer-related code, further fueling the accusations. Kiss Technology responded by accusing the MPlayer project of incorporating proprietary code from their decoder into MPlayer without proper attribution or compliance with open-source licensing requirements. This claim arose amid Kiss's development of early -compatible DVD players, such as the DP-450 and DP-500 models, where they asserted that similarities in code functionality suggested leakage of their closed-source implementations into MPlayer's publicly available codebase. The dispute escalated publicly through online announcements and a January 10, 2004, interview on Danish National Radio, where MPlayer lead developer Árpád Gereöffy (Gabucino) described the similarities as evidence of code theft due to "laziness" in development, while Kiss managing director Peter Wilmar Christensen denied any use of MPlayer code, reiterated their proprietary nature, and questioned the GPL's legal enforceability as an untested license. No formal lawsuit was filed by either party, and community pressure via forums, news sites, and developer statements led only to these public exchanges without mandated code releases or alterations. Following the dispute, Kiss Technology was acquired by Cisco Systems in 2005. This episode underscored broader tensions between open-source multimedia projects and commercial hardware vendors, amplifying scrutiny over the inclusion of binary-only codecs in GPL-compliant software like MPlayer, which often relied on proprietary decoders for formats such as . It contributed to a shift in the ecosystem, encouraging greater reliance on fully open-source alternatives like FFmpeg to mitigate proprietary entanglements and licensing risks in video playback tools.

Patent and Distribution Concerns

One notable incident highlighting patent risks occurred in April 2005, when the MPlayer website displayed a fabricated announcement claiming the project was shut down due to patent violations related to MPEG2 stream decoding capabilities. This was an April Fool's prank orchestrated by lead developer Árpád Gereöffy to underscore the threats posed by software patents, particularly in the context of the ongoing European Union debate over the proposed software patent directive. The stunt aligned with the project's active advocacy against such patents, including participation in demonstrations and petitions; the directive was ultimately rejected by the European Parliament in July 2005. Real legal challenges arose from MPlayer's support for proprietary binary codecs, such as DLLs and other Win32 binaries, which enabled playback of patented formats like certain MPEG variants. Under U.S. and patent law, distributing these compiled binaries without licensing agreements constitutes infringement, as binaries embody the patented invention in executable form, unlike which is treated as a non-infringing . To address this, MPlayer implemented optional compilation for binary codecs, allowing users to integrate them only if legally obtained, thereby avoiding direct distribution liability by the project. In response to these and broader patent pressures on video technologies, the MPlayer community emphasized royalty-free alternatives, notably integrating early support for Ogg Theora and codecs to promote open standards unencumbered by licensing fees. This focus influenced successor projects, including the mpv fork, which prioritizes patent-free decoding via FFmpeg and disables proprietary extensions by default in many distributions to minimize legal exposure. While MPlayer's development focuses on maintenance and integration with updated libraries like FFmpeg, ensuring support for modern codecs such as , legacy binaries incorporating patented elements continue to pose distribution challenges in patent-enforcing jurisdictions such as the and select member states.

References

Add your contribution
Related Hubs
User Avatar
No comments yet.