October 29, 2004

An MPlayer project update

Author: John Knight

MPlayer, a popular movie player application, has been in the 1.0 release candidate stage since September 2003. We caught up with some of the developers of this huge project for an update.

We spoke with:

  • Alex Beregszaszi, 20, Hungary, student. "I've been a contributor and developer in recent years. Starting in 2004 I became the maintainer."
  • Diego Biurrun, 29, Germany (born Argentinian), eternal CS student and part-time admin. "I'm the documentation and Web site maintainer and official representative. I also review patches, test stuff, and am generally active on the mailing lists. Sometimes I do a (very small) bit of coding as well."
  • Felix Bünemann, 23, Germany, IT specialist for Linux security and networks. "I joined the MPlayer-team in Q1/2001, first contributing to video out drivers. Later I worked on several video and audio outputs as well as aspect ratio code and autoconfiguration. I worked as patch maintainer and supporter for quite some time and was involved in several MPlayer ports. Due to time constraints I had to give up most of my work on MPlayer."
  • Sascha Sommer, 20, Germany, informatics student. "I'm one of the maintainers for the Windows port. Besides that, I helped to make the QuickTime DLLs work on Linux and wrote a vidix driver for nVidia video cards that bypasses the X server to accelerate video playback."
  • Arpad Gereoffy, 26, Hungary, network and Unix system administrator, former MPlayer coder.
  • Ivan Kalvachev, 26, Bulgaria. "Currently I'm an unemployed, just graduated ex-student. I work on the video system. XvMC is one of the biggest things I've implemented."
  • Roberto Togni, 32, Italy, electronic engineer. "I started working on MPlayer at the beginning of 2002. I started with codec implementation, and that's still my main activity, even if now I'm moving most of my code to FFmpeg. Then i did some demuxer, bug fixes, ported code from other projects (like realrtsp), and lately I have started to review and apply patches that people send to our lists. I also build the binary codec packages."

Newsforge: MPlayer is verging on 1.0 status. What hopes do you have for the full release?

Roberto: The future main target is to support every codec natively (no binaries), but it's quite a complex task.

Ivan: No bugs. DVD menus are in the wish list, but I don't know if that will make it into the 1.0 release.

Alex: We would like to have a more stable and powerful player than the 0.90 series. Also, we dream about finally introducing NUT as a real alternative by having really good support for it.

Newsforge: There are numerous other movie player projects -- xine, Ogle, VideoLAN, etc. Why should users try MPlayer?

Sascha: It's a fast and highly configurable multi-platform movie player that plays almost every common format.

Diego: In two words: speed and features. Ogle is a DVD-only player so it does not really compare to the other big three. MPlayer can play DVDs fine, but has no support for menus; you have to use another player or just skip the fancy stuff and directly watch the movie. MPlayer is the most efficient player available. I can watch almost all movies smoothly on my 500MHz K6-III. I don't get comparable performance out of other Linux or Windows players.

Newsforge: Previously, MPlayer had a bit of an image problem. Many felt the
developers and parts of the community were arrogant. What do you think has changed the image of MPlayer?

Diego: The community around MPlayer has changed quite a bit with the departure of some developers and the arrival of others. Some of us seem to have grown up and mellowed a bit over the years.

Ivan: Now there's better documentation, less napalm in the mailing lists, and a helpful IRC channel. A lot of people just don't read manuals. It's much simpler to ask somebody. #MPlayer in irc.freenode.net is the right place to ask stupid questions (and wait a while -- people there are not paid for quick answers).

Newsforge: In the late '90s, some people said Linux needed a "killer app" for people to migrate from Windows. Now others say, "If they can use it in Windows, they'll have no trouble migrating to Linux," as illustrated by OpenOffice.org, the GIMP, and others. Do you think MPlayer may be heading along these lines?

Diego: Yeah, I'd agree with that. If you can get used to the applications that run on Linux before making the OS switch, the transition is much less painful.

Ivan: I try to make my friends use FOSS programs on their pirated copies of Windows. So far there have been few problems. MPlayer for Windows doesn't have a GUI. There are a few front ends, but they don't seem very popular. But the biggest problem is that there aren't any browser plug-ins for the Windows version of MPlayer. For example, Firefox can invoke MPlayer as a download application, but cannot do it for Web-integrated media. There are some plug-ins under Linux. For me, Firefox and MPlayer are the killer combination.

Felix: MPlayer's goal never was to attract Windows users. When the project was started its target was to build a usable player for DivX files for Linux. We then later saw MPlayer's growing potential and popularity, so we tried to port it to as many OSes and architectures as possible.

Sascha: I'm not sure if MPlayer will help people find their way into Linux. As a command-line player, it is more for advanced users who don't mind typing options to get things done. GIMP and OpenOffice.org are both apps that run under X and they both can be used in ways similar to proprietary Windows products. I hope the new external MPlayer front ends developed during recent months will change this situation a bit. One thing I noticed during the last year, however, is that there is an increasing demand for LiveCDs that include MPlayer, to use special hardware features like MPEG decoders that are not yet supported in the Windows version.

Newsforge: The announcement of MPlayer Generation 2 last year sparked a fair bit of interest among users, but since the announcement we haven't heard much about it. Is the MPlayer G2 project still on the cards, and if so, what will it be like in comparison to the current MPlayer?

Roberto: The main idea in G2 is to write the core as a library, so that it can be used with different front ends; codecs (and maybe demuxers) will be moved to FFmpeg. Since this requires us to rewrite big parts of the code, it's also a good time to solve some problems of G1 architecture, and to clean up all the mess in the code caused by years of development.

Arpi: G2 was basically a technical change to the core parts and APIs of the player, not something too visible to the users. Many people asked what are the new features of G2, but actually G2 has a lot fewer features than G1.

G2 was started from scratch, by redesigning some parts of the player and copying some others from G1 as is, or with little modification. A whole rewrite was required, as we couldn't clean up APIs and code in G1, due to many messy patches and hacks added over time.

In the long term, of course, G2 will have more features, as it has a lot fewer design limitations than G1, so some things we couldn't do in G1 (like DVD menus and correct inverse telecine playback) are doable.

There were some showstoppers in G2's life. First we disagreed on the new video filter (vf) layer. Some wanted a brand new complex thing with more features (like merging video from multiple sources and playback on multiple displays), while I wanted to hold onto the vf from G1, with its limitations. A new vf would be better, but it would take years to implement, and another year to port (actually rewrite) all the filters and codecs G1 has.

Then I decided to change the license from GPL to something more free -- not free as in RMS, but free as in freedom. There were several options: GPL plus commercial license, BSD, LGPL, etc. Finally I was flamed off, so I left the G2 project, and development stopped there.

As G1 is getting worse day by day, I decided to try again at G2, and even though some people disagreed, I changed the license to LGPL. Fortunately some key developers agreed, so I don't have to do all the work alone. Now I'm working on some design details of G2, and plan to make a new preview available soon.

Newsforge: Currently the law is a little shaky when it comes to reverse engineering, which Linux players are usually renowned for. Are you worried about the current state of E.U. and U.S. law in this area?

Alex: Either you decide to study law or you decide to be a programmer. Of course we worry about laws and patents, but mostly we can do nothing about them. This also means no one can make a patent-free player. Regarding reverse engineering: in some countries, such as Norway, Hungary, and maybe Switzerland, it is allowed for compatibility.

Diego: Reverse engineering is forbidden in some countries, but it is also explicitly allowed in others, such as Australia and Switzerland. So far there have not been problems with reverse engineering and I do not expect any to creep up in the future. However, I'm very worried about the chilling effect that software patents could have on the software field in general and free software in particular. The multimedia area is a legal minefield and our work is threatened should software patents get passed in the E.U. I'm actively working to prevent this, and if you live in the E.U., you should as well.

Newsforge: If you could ask your users for anything, what would it be?

Felix: I guess free beer would be a good start! After all, we all do this for fun. And never forget to RTFM -- it saves us developers a lot of trouble.

Ivan, Roberto, Arpi, and Diego: RTFM! ;-)