Wednesday, May 27, 2009

mplayer

Video Acceleration and You
posted by Compn

There are several ways to speed up the playback of 1080 H.264 files in MPlayer.

First is to use the newly added VDPAU output. It allows the newer Nvidia video cards to decode the video without using much CPU. It is in SVN MPlayer (Nvidia binary driver 180.37 or newer required), you can find known bugs and report bugs HERE. (Linux, Solaris and FreeBSD only)
How to get the SVN version is described on the download page and snapshot tarballs are available as well.

Second is to use MPlayer with the experimental multithreaded FFmpeg-mt branch, which allows you to use multiple cores/CPU. (all OS and CPU supported)

To install, copy and paste this line:
git clone git://repo.or.cz/mplayer && cd mplayer && git checkout origin/mt && git submodule init && git submodule update && ./configure && make && make install
To enable threading run mplayer -lavdopts threads=N file.mkv where N is the number of threads you want to use.
NOTE: FFmpeg-mt has problems with packed b-frames.

A Windows build of MPlayer using FFmpeg-mt can be found at http://kovensky.project357.com.

Third is to use the multithreaded CoreAVC codec with the CoreAVC-for-linux project. The CoreAVC decoder costs $15 USD. (Linux ONLY)(Windows users only need this PATCH)

Fourth, FFmpeg has added some optimizations from the x264 project. To fully utilize these you will need to make sure a recent version of YASM is installed and detected by the latest SVN MPlayer when compiling. (32bit x86 CPU only!)

Fifth, using -lavdopts skiploopfilter=all:fast=1 may cause artifacts, but will allow you to play larger files in realtime. (all OS and CPU supported) (use -lavdopts skipframe=nonref:skiploopfilter=all:fast=1 for even more speedup, skipframe also works with VDPAU.)

There is also a rejected PATCH which adds support for the new multithreaded binary VC-1/WMV3 codec.

2008-12-20, Saturday :: Picsearch samples list
posted by Compn

The FFmpeg project would like to recognize and thank the people at Picsearch for their help improving FFmpeg recently. The Picsearch team makes extensive use of FFmpeg and provided feedback to FFmpeg in the form of thousands of files that either crash FFmpeg or use unsupported/unknown codecs. The FFmpeg development team is putting this information to work in order to improve FFmpeg for everyone.

We know that there are other organizations using FFmpeg on a large scale to process diverse input types. The FFmpeg team invites those organizations to provide similar feedback about problems encountered in the wild.

The MPlayer team is also working hard on this list, so far we have added support for 25 binary decoders and 23 fourccs to existing video codecs. Stay tuned as we continue testing files and adding support for more codecs.

We also urge all websites that use MPlayer/FFmpeg to share the crashing/unplayable files with us. We suspect that Youtube uses our software, and we would like everyone to benefit from their work.

One of our goals is to be able to play every video file. If you have a file which does not play with MPlayer, please upload it so we can take a look. You can find instructions in the Bugreports section of the documentation. Or you can report non-working videos on our Bugzilla or on the MPlayer-users mailing list or just send me an email with the URL of the problem video.

2008-09-09, Tuesday :: libdvdnav-4.1.3 and libdvdread-4.1.3 released
posted by Dominik

We are proud to announce another release. This time, it's a dual one, because libdvdread was split from libdvdnav and is now developed in a separate tree, retaining API compatibility with the old upstream.

Apart from the split, the highlights for this release include a large number of memory and resource leak fixes, pkgconfig support and the introduction of dvdread-config script.

libdvdnav-4.1.3 and libdvdread-4.1.3 can be downloaded from the following locations. Please be kind to our server and use one of our many mirrors.

SHA1SUM: d1b95eb8a7caee1fa7580a1abad84d6cb3cad046
MD5SUM: d62383c45b28816771e283515f2c27fa

SHA1SUM: fc4c7ba3e49929191e057b435bc4f867583ea8d5
MD5SUM: 6dc068d442c85a3cdd5ad3da75f6c6e8

2008-05-29, Thursday :: MPlayer at LinuxTag 2008
posted by Roberto

LinuxTag2008

Also this year MPlayer will be at LinuxTag. You can meet us at Messe Berlin in Hall 7 booth 113, from May 28 to 31.

This year we're sharing the booth with FFmpeg and OGP.

Come visit us in Berlin!

2008-04-30, Wednesday :: GPLv2
posted by Diego

No, we do not have plans to switch to GPL version 3 at this particular point in time. However, we do wish to be compatible with GPL version 3. We also wish to have the option of switching licenses available in the future. Circumstances making a license upgrade desirable might arise, one never knows. Unfortunately there are some bits of code in MPlayer, which are licensed as GPL version 2 only. Trying to get in contact with the authors of these parts has been fruitless, we have had no reaction from them.

Thus we are looking for help contacting them. Specifically, we are searching for the authors of (crossed out authors we already found)

libmpcodecs/ve_x264.c
written by Bernhard Rosenkraenzer, last known email addresses <> and <>
libmpdemux/demux_ty_osd.c
written by Mike Baker, last known email address <> and Christopher Wingert, last known email addresses <> and <> and <> and <>
TOOLS/realcodecs/*
written by Florian Schneider, last known email address <>. Note that this is not the Florian Schneider from the band Kraftwerk, nor a researcher from the ETH Zürich.

If you know how to get in touch with them or if you are one of the people we are seeking, please contact us so that we can get these issues resolved. Thanks a bunch.

2008-04-15, Tuesday :: libdvdnav-4.1.2 released
posted by Dominik

On the first anniversary of libdvdnav under the new dev team, we're happy to announce a new release. But first, some history.

As some of you probably know, libdvdnav hasn't been actively developed upstream for quite some time. About a year ago, a couple of developers related to MPlayer took over the task of maintaining libdvdnav. The first release happened quietly on Sunday, October 28th 2007 and now it is time for another.

There have been many improvements to the build system and some bugfixes including plugging a few memory leaks since the last release, but no major changes.

libdvdnav-4.1.2 can be downloaded from the following locations. Please be kind to our server and use one of our many mirrors.

SHA1SUM: 65e8f5aa01a60cf8fd013ef9e5d8c23b9fef21d6
MD5SUM: 0e9a494403f9f5a2e781252c77599561

2008-01-30, Wednesday :: buffer overflow in stream_cddb.c
posted by Roberto

Summary

A buffer overflow was found and reported by Adam Bozanich of Musecurity in the code used to extract album titles from CDDB server answers.

When parsing answers from the CDDB server, the album title is copied into a fixed-size buffer with insufficient size checks, which may cause a buffer overflow. A malicious database entry could trigger a buffer overflow in the program. That can lead to arbitrary code execution with the UID of the user running MPlayer.

Severity

High (arbitrary code execution under the user ID running the player) when getting disk information from a malicious CDDB entry, null if you do not use this feature. Please note that it is possible to overwrite entries in the CDDB database, so an attack can also be performed via a non-compromised server. At the time the buffer overflow was fixed there was no known exploit in the wild.

Solution

A fix for this problem was committed to SVN on Sun Jan 20 20:58:02 2008 UTC as r25824. Users of affected MPlayer versions should download a patch for MPlayer 1.0rc2 or update to the latest version if they are using SVN.

Affected versions

MPlayer 1.0rc2 and SVN before r25824 (Sun Jan 20 20:58:02 2008 UTC). Older versions are probably affected, but they were not checked.

Unaffected versions

SVN HEAD after r25824 (Sun Jan 20 20:58:02 2008 UTC)
MPlayer 1.0rc2 + security patches

2008-01-30, Wednesday :: buffer overflow in url.c
posted by Roberto

Summary

A buffer overflow was found and reported by Adam Bozanich of Musecurity in the code used to escape URL strings.

The code used to skip over IPv6 addresses can be tricked into leaving a pointer to a temporary buffer with a non-NULL value; this causes the unescape code to reuse the buffer, and may lead to a buffer overflow if the old buffer is smaller than required. A malicious URL string may be used to trigger a buffer overflow in the program, that can lead to arbitrary code execution with the UID of the user running MPlayer.

Severity

High (arbitrary code execution under the user ID running the player) if you can play untrusted URLs (e.g. delivered by a remote playlist), null if you do not use this feature. At the time the buffer overflow was fixed there was no known exploit in the wild.

Solution

A fix for this problem was committed to SVN on Sun Jan 20 20:43:46 2008 UTC as r25823. Users of affected MPlayer versions should download a patch for MPlayer 1.0rc2 or update to the latest version if they are using SVN.

Affected versions

MPlayer 1.0rc2 and SVN before r25823 (Sun Jan 20 20:43:46 2008 UTC). Older versions are probably affected, but they were not checked.

Unaffected versions

SVN HEAD after r25823 (Sun Jan 20 20:43:46 2008 UTC)
MPlayer 1.0rc2 + security patches

2008-01-29, Tuesday :: buffer overflow in demux_mov.c
posted by Roberto

Summary

A buffer overflow was found and reported by Felipe Manzano and Anibal Sacco of CORE Security Technologies in the code used to parse MOV file headers. Other similar issues were found by Reimar Döffinger while fixing the code. The vulnerability is identified as CORE-2008-0122.

The code read some values from the file and used them as indexes into an array allocated on the heap without performing any boundary check. A malicious file may be used to trigger a buffer overflow in the program. That can lead to arbitrary code execution with the UID of the user running MPlayer.

Severity

High (arbitrary code execution under the user ID running the player) when playing a malicious MOV file, null if you do not use this feature. At the time the buffer overflow was fixed there was no known exploit in the wild.

Solution

A fix for this problem was committed to SVN on Tue Jan 29 22:13:20 2008 UTC as r25920, Tue Jan 29 22:13:47 2008 UTC as r25921 and Tue Jan 29 22:14:00 2008 UTC as r25922. Users of affected MPlayer versions should download a patch for MPlayer 1.0rc2 or update to the latest version if they are using SVN.

Affected versions

MPlayer 1.0rc2 and SVN before r25922 (Tue Jan 29 22:14:00 2008 UTC). Older versions are probably affected, but they were not checked.

Unaffected versions

SVN HEAD after r25922 (Tue Jan 29 22:14:00 2008 UTC)
MPlayer 1.0rc2 + security patches

2008-01-29, Tuesday :: stack overflow in demux_audio.c
posted by Roberto

Summary

A stack overflow was found and reported by Damian Frizza and Alfredo Ortega of CORE Security Technologies in the code used to parse FLAC comments. The vulnerability is identified as CORE-2008-1218.

When loading a comment from the file, a length value is read from the file and then used as an index to a VLA array with no check performed. A malicious file could trigger a stack overflow in the program, leading to arbitrary code execution with the UID of the user running MPlayer.

Severity

High (arbitrary code execution under the user ID running the player) when playing a FLAC file with malicious comments, null if you do not use this feature. At the time the buffer overflow was fixed there was no known exploit in the wild.

Solution

A fix for this problem was committed to SVN on Tue Jan 29 22:00:58 2008 UTC as r25917. Users of affected MPlayer versions should download a patch for MPlayer 1.0rc2 or update to the latest version if they are using SVN.

Affected versions

MPlayer 1.0rc2 and SVN before r25917 (Tue Jan 29 22:00:58 2008 UTC). Older versions are probably affected, but they were not checked.

Unaffected versions

SVN HEAD after r25917 (Tue Jan 29 22:00:58 2008 UTC)
MPlayer 1.0rc2 + security patches

2008-01-03, Wednesday :: HUP Readers' Choice Award 2007
posted by Diego

HUP Readers' Choice Award 2007

Like every year the Hungarian Unix Portal has held its annual Readers' Choice Award and MPlayer + its frontends came out on top of the "favorite video player" category. MPlayer got 600 votes (61%), placing it before VLC with 231 (23%) and Totem with 49 (5%).

If you can read Hungarian, check out the HUP award page.

2007-10-07, Sunday :: MPlayer 1.0rc2 released
posted by the release team

It's been a while, but we are still around and have decided that it's time to funnel our steady stream of daily changes into a release again.

One main source of improvements has, as always, been FFmpeg, which added support for several new video and audio codecs along with speedups and massive code cleanups.

MPlayer now supports Real RTSP authentication and the libnemesi streaming library as an alternative to live555. Also, many QuickTime over RTSP streams can now be played. There have been various improvements to TV streaming, Intel Mac support should be complete.

Support for VC-1 in MPEG-TS and MPEG-PS will make many HDTV streams work. Blu-ray or HD-DVD playback is not possible yet, but MPlayer can play the EVO files after they have been decrypted.

MPlayer now assumes square pixels as found on LCD panels. If the video on your monitor appears squished or stretched please use '-monitoraspect 4:3' to get back the previous behavior.

It is no longer necessary to patch the sources to get AMR audio support. Instead, download AMR libraries for Linux and install them as described on that page.

Note that this release will not compile on current (as of this writing) Cygwin versions due to a missing llrint implementation in Cygwin. You will have to wait for the next gcc upgrade in Cygwin or patch either Cygwin or MPlayer locally.

There is no need to download binary codec packages if you already have an older version.

MPlayer 1.0rc2: "AreWeThereYet?"

DOCS:

  • console messages and XML documentation converted to UTF-8
  • Russian documentation translation finished
  • Russian man page translation finished
  • Chinese man page translation finished
  • Chinese documentation translation started
  • Documented get/set/step properties in DOCS/tech/slave.txt

Decoders:

  • Intel Music Coder audio decoding via lavc
  • Monkey Audio audio decoding via lavc
  • Fraps v2/v4 video decoding via lavc
  • Video game codecs: 4XM audio, Electronic Arts ADPCM audio, Delphine CIN audio and video, Interplay DPCM audio, Sierra VMD video, Tiertex SEQ video, Westwood IMA ADPCM audio, XAN wc3 video, Id CIN video, Interplay video, XAN ADPCM audio, Westwood SND1 audio, Feeble Files DXA video, THP audio and video, Renderware TeXture Dictionary video, Bethesda Software VID video via lavc
  • video game codecs: XAN wc4 video via binary DLL
  • libmpeg2 updated to 0.4.1
  • fixed resolution switching with libmpeg2
  • handle resolution switching for Real codecs
  • FFmpeg video decoder can now handle aspect ratio changes
  • AMR now handled via libamr wrapper (http://www.penguin.cz/~utx/amr)
  • SIMD optimizations for mp3lib under AMD64

Demuxers:

  • Implemented switch_video and switch_program consistently with switch_audio (default keys are "_" and TAB, respectively). For the time being program switching is only available in TS streams handled by demux_ts.c (not libavformat), while video switching is also handled by demux_lavf.c and demux_avi.c.
  • audio and video switching for the AVI demuxer (video switching untested)
  • GIF demuxer improvements, should work with all GIFs now
  • support for VC-1 in MPEG-TS and MPEG-PS files (BD,HD)-DVD
  • support for EVO demuxing
  • support -noidx with libavformat demuxer
  • support for channel navigation with PVR input
  • text subtitles should now work with libavformat demuxer
  • cleaned up TiVo demuxer

Streaming:

  • authentication for Real RTSP streams
  • near-precise seeking in dvd:// and dvdnav:// (dvdnav:// requires libdvdnav from mphq)
  • speed selection when playing dvd:// streams, to make drive quieter
  • support SVQ3 and H.264 in X-QT over RTSP, now RTSP Apple keynotes work (live555)
  • SMIL playlist over Real RTSP
  • support H.263-2000 over RTSP (live555)
  • fix AAC-LATM over RTSP (live555)
  • support AMR over RTSP (live555)
  • support H.264 over RTSP (live555)
  • "device" and "adevice" suboptions now work for the *BSD BT848 TV driver
  • dvdnav:// now depends on MPlayer's fork of libdvdnav
  • teletext support for tv:// (v4l and v4l2 only)
  • radio support for *BSD BT848
  • channel scanner for tv://
  • fine tuning for tv://
  • driver autodetection for tv://
  • libnemesi RTSP/RTP support
  • EOF detection for RTSP (live555)

FFmpeg/libavcodec:

  • Intel Music coder audio decoder
  • Fraps v2/v4 video decoder
  • H.264 decoding speedup
  • Slice-based parallel H.264 decoding (-lavdopts fast:threads=N)
  • native NUT demuxer updated to spec
  • native NUT muxer
  • NUT muxing and demuxing support via libnut
  • WMA encoder
  • fix MJPEG-B on big-endian systems
  • lowres support for some H.264 files
  • DTS/DCA audio decoder
  • Atrac 3 audio decoder
  • MPEG-1/2 speedups
  • RoQ muxer, video and audio encoder
  • QTRLE encoder
  • AC-3 decoder
  • Matroska muxer
  • Monkey's Audio demuxer and decoder
  • Flac encoder and decoder speedups
  • AMV demuxer and audio/video decoder

libmpeg2:

  • iWMMXt-accelerated DCT and motion compensation for ARM processors

Filters:

  • obsolete fame filter removed
  • vf_geq speed-ups
  • vf_yadif green frame fixed
  • fix af_pan when switching audio streams
  • add audio left/right balance feature to af_pan

MEncoder:

  • write to output streams (currently only file:// and smb://)
  • support -ffourcc with -of lavf
  • removed B-frame warning message
  • fixed bugs that would corrupt headers in the video stream when using telecining and not patch the TFF flag correctly

Ports:

  • Complete Intel Mac support
  • Hitachi SuperH (SH3) support
  • Blackfin optimizations

Drivers:

  • ALSA audio output now sets the non-audio bit for AC3 passthrough even if the user-specified default device name tries to clear it
  • fixed internal VIDIX in Solaris/x86, also auto-enabled
  • rework of internal VIDIX, now a fully static library with builtin drivers
  • updated VIDIX ATI drivers
  • Sun XVR-100 video output driver

Others:

  • monitorpixelaspect=1 is now default. Set monitoraspect=4/3 to get the old behavior (if you have non-square pixels).
  • libdvdcss updated to Subversion HEAD, now same as upstream version
  • libmpdvdkit split into libdvdread and libdvdcss
  • obsolete Xvid 3 support removed
  • long-deprecated -vop option removed
  • video stream switching
  • dvdnav:// honor -alang and -slang
  • support for doubleclick as input event
  • -really-quiet works as expected now
  • select libavformat demuxer (-lavfdopts format=)
  • internal minilzo removed in favor of FFmpeg implementation, use liblzo2 for encoding
  • change GUI dependency from libpng to libavcodec
  • ability to change subtitle size during playback
  • ability to turn loop on/off during playback
  • Apple Remote support
  • libdvdread updated to 0.9.7
  • many compiler warning fixes

MPlayer 1.0rc2 can be downloaded from the following locations. Please be kind to our server and use one of our many mirrors.

MPlayer 1.0rc2 is also available on BitTorrent.

MD5SUM: 7e27e535c2d267637df34898f1b91707
SHA1SUM: e9b496f3527c552004ec6d01d6b43f196b43ce2d


download