MPlayer on Windows (win32) - some crt functions are replaced by gnulib's ones
If you appreciate my work, you may want to:
[News]
- Yes again delay, but my laptop gets too hot to make builds :D, I'm using back alternative allocator, console colors are back
- Sorry for delay, webm builds, dnsnative codecs names were renamed to dsnxxxx to avoid name clashses with dshow entries
- Sorry for the lack of updates, I've been very busy
- MPlayer: new path for fontconfig cache (fonts.conf is updated), now in local appdata, you can safely delete fontconfig\\cache in appdata, MEncoder: fixed ass problems
- MEncoder: added vobsub support (not so much tested)
- MinGW: I've added my current build environment, I think some one can find it useful
- MPlayer: experimental allocation wrapper, this should solve p4 issues or break all builds :), bundled codecs.conf
- MPlayer: new try for dsnative (help help :D), p4 builds are somehow unstable, I think something related to SSE, I'll setup a working env on a p4 box
- MPlayer: updated dsnative, support for dynamic loading of faac also in MEncoder, fixed fontconfig
- MPlayer: rtm builds have fontconfig disabled, this will fixed in next build
- MPlayer: uploaded fixed builds (only non-mt), framedrop now issues a resync on the decoder, this is not optimal but at least keeps the sync
- MPlayer: sorry I've noticed a bug that forces mplayer to use ffdshow dxva if the video is avc, please use previous version or -vc ffh264, I'll fix it shortly
- dsnative: updated dsnative, now it handles coreavc, ffdshow (some problems with framedrop), cineformhd, ffdshow dxva untested but it may work. If the codec is registered in the system you don't need to put i codecs directory
- MPlayer: experimental dsnative wrapper, included in the package, you can try using -vc coreavc and send me feedbacks
- MPlayer: work in progress native dshow video decoder, it works with coreavc and mpeg4ds on the samples I've tested
- FFmpeg: Added dynamic dll loading support for libfaac.dll, downloadable separately (place the dll in the same directory of FFmpeg executable)
- Added SDL vo output, the mplayer sdl code is still buggy, but windib works
- New builds with SDL should work also on dos + hx extender, see notes
- libfaac (AAC encoding) removed from ffmpeg due to licensing problems (looks like it includes non free code)
- Added dvdnav support please read notes
- Patched sources are available as download on sourceforge (.tar.bz2 files)
Build selection table (mt = based on FFmpeg multithread fork, a bit experimental)
| CPU | Build (r31878) |
|---|---|
| AMD Single Core | athlon |
| AMD Multi Core (X2/X3/X4/Phenom) | athlon / athlon-xp mt |
| Intel Pentium3 | p3 |
| Intel Pentium 4 or better Single Core | p4 |
| Intel Pentium 4 or better Multi Core (core2/xeon/etc) | p4 / p4 mt |
| Generic 486 or better | rtm |
More infos about Direct Show Native Wrapper, look at "VideoCodec" column to see what to add after -vc in MPlayer
Please use the tracker instead of sending me emails, I get a lot of email also about other projects, and since I cannot always reply immediately some emails can go unreplied.
Other precompiled versions of MPlayer can be found on the main projects page
7z files are 7-zip compressed files. Binaries have SSE enabled (p3/p4). Please use athlon buidls for AMD cpu, even for AMD64 (amd is faster with 3dnow).
RTM means with runtime cpudetection, working on i486+ (except x264 decoder/encoder). Prefer p4/p3/athlon builds if possible.
Binaries of MPlayer/MEncoder (in the same package), FFmpeg. Sourceforge mirrors may take a while to update packages, so try later if problems.
† Download MPlayer/MEncoder svn rev 31878 - 07/16/2010
† Download MPlayer/MEncoder with FFmpeg MT svn rev 31878 - 07/16/2010 (add lavdopts=threads=2 or so in config, beware it will cause problems in mpeg2 decoder)
† Download FFmpeg svn rev 24623 - 07/16/2010
† Download MinGW32 ToolChain @ 20080717 (gcc/binutils/runtime)
† Download MinGW Build Environment with gcc 4.2.5 - Unpack in c:\ or edit MinGW/etc/fstab accordling
[Related links]
- SMPlayer Nice GUI for MPlayer
- MuldeR's Mplayer for Windows Complete out-of-box packages with SMPlayer
- WW MPlayer A feature rich fork, native UI, options dialog, skins
- FFmpeg on Windows Compiling FFmpeg on Windows
- Notes -
fontconfig
If you enable fontconfig, the first run of mplayer can take a while, even 2-3 minutes, because the font cache needs to be created. In the window you can follow fonts that are being parsed. Other runs you will have no delay until you make changes to the font directory.
faac encoder
faac encoder is not included in MEncoder and FFmpeg package due to licensing problems, you should download it separately and put in MEncoder/FFmpeg executable
dvdnav
To use dvdnav the best way is pick a recent svn build of smplayer from Mulder's homepage
- go to Preferences->Keyboard and mouse->Mouse and select "Activate option in DVD menus" for the left mouse button (so you can select the options in the menus with the mouse)
- go to Preferences->Drives and check the option "Enable DVD menus"
Since for some reason KEYPAD arrow keys on win32 are the same keys of arrow keys, you cannot use them without losing seek ability of right and left, so you can add this snip in input.conf to re-route them to menu system only if dvdnav is selected:
UP {dvdnav} dvdnav up # DVDNav UP
DOWN {dvdnav} dvdnav down # DVDNav DOWN
LEFT {dvdnav} dvdnav left # DVDNav LEFT
RIGHT {dvdnav} dvdnav right # DVDNav RIGHT
ESC {dvdnav} dvdnav menu # DVDNav MENU
ENTER {dvdnav} dvdnav select # DVDNav SELECT (ok)
BS {dvdnav} dvdnav prev # DVDNav PREVIOUS menu (in the order chapter->title->root)
HX Dos Extender
At this time (12/20/2009), I've successfully run mplayer on FreeDOS + HX Extender on a WMware Virtual Machine, you need to use sdl video output. Unfortunately there is a glitch, the default resolution given by sdl with -vm or similar switches, trashes the console at exit so the best way to run it is using default output with -vo sdl, that merely results in a continuous error message, then press C key to cycle resolutions. Using dpmild32 -g also works fine. You also need additionals dll:
- for HX < 2.17, modified ol32.dll and duser32.dll from hxmpdeps.7z (contains also diffs)
- mscvrt.dll, crtdll.dll, opengl32.dll, glu32.dll from Win98 system folder
You can avoid passing command line options for vo/ao by adding these lines to mplayer\config:
vo=sdl ao=win32
[Patches]
- 00_flavor.diff [3 KiB] - Jul 29, 2010
- 01_center_ovl.diff [1 KiB] - Feb 25, 2010
- 02_color_console_win32.diff [2 KiB] - Jul 16, 2010
- 99_af_wadsp.diff [12 KiB] - Jul 29, 2010
- 99_caca1.diff [10 KiB] - May 17, 2009
- 99_filename_in_title.diff [2 KiB] - Jul 16, 2010
- 99_vd_dsnative.diff [9 KiB] - Jul 31, 2010
- 99_vobsub_mencoder.diff [7 KiB] - Jul 13, 2010
- sm_ass_mencoder_embedfonts.diff [13 KiB] - Feb 25, 2010
- sm_runtime_eq.diff [3 KiB] - Jul 29, 2010
- xx_c99_loops.diff [2 KiB] - Jul 29, 2010
- xx_ctrl_keys.diff [2 KiB] - Jun 24, 2010
- xx_ctypes.diff [11 KiB] - Jul 29, 2010
- xx_dvdnav_win32.diff [2 KiB] - Jul 29, 2010
- xx_faac_dynload.diff [4 KiB] - Mar 02, 2010
- xx_ff_etimeout.diff [521 bytes] - Jun 13, 2010
- xx_fontconfig_verbosecache.diff [879 bytes] - Jul 16, 2010
- xx_missing_proto.diff [463 bytes] - Apr 27, 2010
- xx_nomute_atexit.diff [549 bytes] - Jul 31, 2010
- xx_reducespam.diff [482 bytes] - Jun 24, 2010
- xx_term_osd_win32.diff [2 KiB] - Jul 16, 2010
- yy_alt_alloc.diff [6 KiB] - Jul 29, 2010
[MinGW libs]
- enca-mingw32-1.13-gcc42.tar.bz2 [79 KiB] - Feb 26, 2010
- expat-mingw32-2.0.1-gcc42.tar.bz2 [121 KiB] - Jan 22, 2010
- fontconfig-etc-fonts.tar.bz2 [11 KiB] - Nov 08, 2009
- fontconfig-mingw32-2.8.0-gcc42.tar.bz2 [172 KiB] - Apr 08, 2010
- freetype-mingw32-2.4.1-gcc42.tar.bz2 [612 KiB] - Jul 29, 2010
- fribidi-mingw32-0.19.2-gcc42.tar.bz2 [69 KiB] - Mar 24, 2010
- iconv-mingw32-1.13.1-gcc42.tar.bz2 [1.91 MiB] - Dec 25, 2009
- lame-mingw32-3.98.4-gcc42.tar.bz2 [340 KiB] - Mar 24, 2010
- libSDL-mingw32-1.2.14-gcc42.tar.bz2 [400 KiB] - Jan 22, 2010
- libbs2b-mingw32-3.1.0-gcc42.tar.bz2 [13 KiB] - Dec 25, 2009
- libbz2-mingw32-1.0.5-gcc42.tar.bz2 [40 KiB] - Dec 25, 2009
- libcaca-mingw32-0.99.beta17-gcc42.tar.bz2 [427 KiB] - Feb 14, 2010
- libdca-mingw32-0.0.5-gcc42.tar.bz2 [185 KiB] - Dec 25, 2009
- libgpac_static-mingw32-0.4.5-gcc45.tar.bz2 [2.83 MiB] - Dec 25, 2009
- libjpeg6b-mingw32-gcc42.tar.bz2 [117 KiB] - Dec 25, 2009
- liblzo-mingw32-2.03-gcc42.tar.bz2 [81 KiB] - Dec 25, 2009
- libmad-mingw32-0.15.1b-gcc42.tar.bz2 [106 KiB] - Dec 25, 2009
- libmng-mingw32-1.0.10-gcc42.tar.bz2 [166 KiB] - Dec 25, 2009
- libmpcdec-mingw32-1.2.6-gcc42.tar.bz2 [29 KiB] - Dec 25, 2009
- libogg-mingw32-1.2.0-gcc42.tar.bz2 [14 KiB] - Mar 28, 2010
- libpng-mingw32-1.4.3-gcc42.tar.bz2 [207 KiB] - Jun 30, 2010
- libregif-mingw32-4.1.7-gcc42.tar.bz2 [30 KiB] - Dec 25, 2009
- libsndfile-mingw32-1.0.21-gcc42.tar.bz2 [268 KiB] - Dec 25, 2009
- libtheora-mingw32-1.1.1-gcc42.tar.bz2 [449 KiB] - Dec 25, 2009
- libtwolame-mingw32-0.3.12-gcc42.tar.bz2 [73 KiB] - Dec 25, 2009
- libvorbis-mingw32-1.3.1-gcc42.tar.bz2 [424 KiB] - Mar 28, 2010
- libvpx-mingw32-0.9.1.git.c2a8d8b-gcc42.tar.bz2 [219 KiB] - Jul 29, 2010
- opencore-amr-mingw32-0.1.2.git.bb71be6-gcc42.tar.bz2 [454 KiB] - Jun 13, 2010
- pthreadsGC2-static-2.9.x-gcc42.tar.bz2 [29 KiB] - Jun 30, 2010
- speex-mingw32-1.2rc1-gcc42.tar.bz2 [191 KiB] - Dec 25, 2009
- x264-mingw32-git-r1666-gcc42.tar.bz2 [779 KiB] - Jul 13, 2010
- x264-mingw32-git-r1688-gcc42.tar.bz2 [790 KiB] - Jul 29, 2010
- xvidcore-mingw32-1.2.2-vaq-gcc42.tar.bz2 [476 KiB] - Apr 08, 2010
- zlib-mingw32-1.2.5-gcc42.tar.bz2 [82 KiB] - May 11, 2010
[Misc Files]
- binutils_cvs_file64.diff [405 bytes] - Sep 29, 2008
- cpuinfo.exe [8 KiB] - Apr 01, 2008
- faad2-2.6.1-repack.tar.gz [1.13 MiB] - Nov 18, 2007
- ffmpeg_ptw32_static.diff [1 KiB] - Oct 15, 2008
- flac-mingw32-1.2.1.tar.gz [672 KiB] - Dec 27, 2007
- fontconfig-2.8.0-sherpya.diff [4 KiB] - Apr 08, 2010
- gcc_bug_34625.diff [881 bytes] - Mar 25, 2010
- hxmpdeps.7z [19 KiB] - Dec 20, 2009
- libfaac-1.28.7z [30 KiB] - Jan 20, 2010
- libregif-4.1.7-ac.tar.bz2 [258 KiB] - Dec 26, 2009
- libregif-4.1.7.tar.gz [72 KiB] - Nov 11, 2005
- libvpx_no-sse_in_mmx.diff [981 bytes] - Jul 29, 2010
- mingwrt_file64.diff [1 KiB] - Mar 22, 2010
- vim-mingw32-7.1.tar.gz [3.87 MiB] - Dec 13, 2007
- xvid_vaq.diff [3 KiB] - Apr 08, 2010
- yamdi-1.2-portable.tar.gz [16 KiB] - Mar 09, 2008
Note: do not use colon in -extra-cflags, i.e. use /c/live instead of c:/live
[MPlayer: Configure options]
./configure \
--extra-cflags="-I/c/Work/mplayer/live" \
--prefix=/mingw \
--enable-static \
--enable-md5sum \
--enable-menu \
--enable-faac \
--enable-enca \
--enable-sdl \
--enable-caca \
--enable-gl \
--enable-freetype \
--enable-png \
--enable-mng \
--enable-jpeg \
--enable-gif \
--enable-tga \
--enable-mad \
--enable-tv \
--enable-theora \
--disable-vidix \
--disable-faac-lavc \
--disable-inet6
To compile live555.com stuff you just need to call ./genMakefiles mingw, then make.
[FFmpeg: Configure options]
--extra-version=Sherpya \
--enable-gpl \
--enable-version3 \
--disable-ffplay \
--disable-ffserver \
--enable-postproc \
--enable-avfilter \
--enable-avfilter-lavf \
--enable-pthreads \
--enable-runtime-cpudetect \
--enable-hardcoded-tables \
--enable-memalign-hack \
--enable-avisynth \
--enable-bzlib \
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
--enable-libfaac \
--enable-libmp3lame \
--disable-libopenjpeg \
--enable-libgsm \
--enable-libspeex \
--enable-libtheora \
--enable-libvorbis \
--enable-libx264 \
--enable-libxvid \
--enable-zlib
