Yes. Yet another movie player for linux.
What is the special with this? It works, at least for me :)
I've tried lots of players under linux (mtv, xmps, dvdview, livid/oms, VideoLAN, xine, xanim, avifile, xmmp) but they all have something problem. Mostly with the special files or with audio/video sync. Most of them is unable to play both mpeg1, mpeg2 and avi (divx) files. many players has image quality or speed problems too. So I've decided to write/modify one...
- mpg12play v0.1 has born, using libmpeg3 by Adam Williams
- mpg12play 2nd generation (v0.5-), using dvdview by Dirk Farin
- mpg12play 3nd generation (v0.9-), using libmpeg2 (mpeg2dec) by Aaron Holtzman and Michel Lespinasse
- mplayer born, containing mpg12play 0.90pre5 and a new simple avi player based on the avifile library
- mplayer 0.10, mpeg and avi player in a single binary
As you see, I didn't write any codecs, just some players. But I spent a lot of time finding the best way to parse bad damaged input files (both mpg and avi) and to do perfect A-V sync with seeking ability. My player is rock solid playing damaged mpeg files (useful for some VCDs), and it plays some bad AVI files too which is unplayable with the famous windows media player. That AVI files without index chunk are playable too! As you see, stability and quality are the most important things for me, but speed is very important too.
What about the GUI?
I'm not a GUI programmer. I hate GUIs, I like the pure black 80x25 console. So the player has only keyboard control from the controlling console/xterm now. But there is a GUI development for this player, coordinated by Pontscho/Fresh! It's still under development, but it will soon merged and released. Btw he needs some nice skins, if you are a good graphician, contact him!
Yes, we are using Win32 (Video for Windows) codecs for AVI decoding. They must be installed to /usr/lib/win32/ directory, with all lower case. You can grab the codecs package from w32codec.zip or can be found in your C:\WINDOWS\SYSTEM\ dir, see codecs.c for filenames.
Some people asked why don't we use AvtiveMovie/DirectShow codecs. The reason is simple: we has to emulate the whole DirectX architecture and implement the (patented!) COM interface to be able to use them. Btw the old VfW DivX codec seems to be faster than the new .AX version, but it has no quality/CPU setting option (it always uses the highest image quality).
Supported input formats:
- VCD (Video CD) directly from CD-ROM or from CDRwin's .bin image file
- MPEG 1/2 System Stream (PS) and Elementary Stream (ES) file formats
- RIFF AVI file format, currently only interleaved audio&video supported
- ASF files (very alpha code yet)
Supported audio codecs:
- PCM (uncompressed) audio (8/16 bit, mono/stereo)
- MPEG layer 2/3 audio (using mp3lib, based on mpg123)
- AC3 audio (using ac3dec/libac3)
- Win32 ACM audio codecs (the *.ACM files) [Only in the AVI player]
tested with: DivX audio, MS-ADPCM
- aLaw audio format
Supported video formats:
- MPEG 1 and MPEG 2 video decoder (using mpeg2dec/libmpeg2)
- Win32 ICM (VfW) video codecs (for example DivX using DIVXC32.DLL)
tested with: MPG4, DivX, CVID (Cinepack), Indeo (3.2,4,5), ATI VCR2
- OpenDivX encore & decore (see ProjectMayo)
Supported output devices:
- Matrox G200/G400 hardware YUV overlay via the mga_vid device (Some people has reported that G200 is broken :( if you are programmer and has a G200, please check it and fix if you can!)
- xmga: Matrox G200/G400 overlay (mga_vid) in X11 window (Xv emulation)
- OpenGL renderer, requires Utah-GLX or DRI or nVidia's new driver
- X11 XImage optionally with SHM extension
- X11 with Xv extension (YUV & scale support)
- syncfb output (YUV support on framebuffer, not tested, maybe broken)
- 3dfx hardware YUV support (not yet tested, maybe broken)
- SDL driver (slower than 'x11', but supports software scaling)
- Null output (for speed tests)
- PGM file output (for testing purposes?)
- MD5sum output (for mpeg conformance tests)
NOTE: only the first 5 are available for AVI files!
Most of time-critical parts are optimized for MMX/SSE/3Dnow.
You can improve rendering speed by setting up MTRR registers, see doc in MTRR.
Some benchmark results can be found in the doc file SPEED.
If you have a Matrox G400 Dual-Head card, you can watch movies on TV, using TV-out feature of the second head. You must have matroxfb support enabled in your kernel (2.4.x kernels). You don't need X11 for this!
First please read all the docs in the package, most of problems are described somewhere. At least read the Troubleshooting section! We don't like answering questions which are already answered in the README or other docs.
You should try the latest test (pre) release version too, maybe your bug is already fixed, but the new version hasn't been released.
If you couldn't solve the problem, then send us a quality bugreport via E-Mail.
E-mail: email@example.com (or firstname.lastname@example.org)
Download: http://thot.banki.hu/esp-ftp/linux/MPlayer/ or ftp://thot.banki.hu/esp-team/linux/MPlayer/
Use only at your own risk! There may be errors and inaccuracies that could be damaging to your system or your eye. Proceed with caution, and although this is highly unlikely, I don't take any responsibility for that!