MPlayer on Windows (win32) - some crt functions are replaced by gnulib's ones
If you appreciate my work, you may want to:
[News]
- [08/01/2012] Sorry guys, I lost the whole content of my hard disk, so I need some time to setup again my build scripts
- [12/07/2011] New builds, after missing spare time and MPlayer's "unbuildability", added FFprobe to FFmpeg package
- [09/21/2011] Sorry new builds but no time to look at bugs, I hope some of them is fixed
- [07/19/2011] New builds
- [06/09/2011] Fixed dvdnav:// crash. Perhaps, do you really still need p3 builds?
- [05/24/2011] I was a bit confused by the dual fork, for now I'm still using MPlayer + FFmpeg, FFmpeg binary now uses teh subdir ffpresets for video presets
- [04/05/2011] New builds but I'm unable to follow your bugreports right now, I just hope upstream developers fixed some :)
- [03/27/2011] Ok the mt issue should be gone, I've updated xvid to 1.3.1 and added librtmp (but don't ask me how to use, looks tricky)
- [03/26/2011] Suspected FFmpeg bug that prevents mt decoding (waiting confirmation), I need more info about ass subtitles and mencoder,
I only have this command line and a sample that works for me, but I receive a lot of bug report about it does not work.
mencoder bbb.avi -o gh.avi -ass -sub bbb.ass -vf fixpts=fps=24000/1001,ass,fixpts -ovc xvid -xvidencopts bitrate=1000
- [03/25/2011] Finally new builds, no more -mt, because multithreaded decoding has been merged in FFmpeg, so all builds are multithreaded
Build selection table
| CPU | Build (r34401) |
|---|---|
| AMD | athlon |
| Intel Pentium3 | p3 |
| Intel Pentium 4 or better | p4 |
| 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: 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 34401 - 12/07/2011
† Download FFmpeg git rev N-35509-gfd36cbf - 12/07/2011
† Download MinGW Build Environment with gcc 4.2.5 and 4.6.1 - Unpack in c:\ or edit MinGW/etc/fstab accordling, use gcc-config to select default compiler.
[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
- Zeranoe FFmpeg Multiple builds for 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 separately this archive and unpack the dll (with e.g. 7zip) in the directory in which the executable lies (as shown in the picture).
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] - Nov 22, 2011
- 02_color_console_win32.diff [2 KiB] - Oct 11, 2010
- 99_af_wadsp.diff [12 KiB] - Dec 07, 2011
- 99_filename_in_title.diff [2 KiB] - Dec 07, 2011
- 99_vd_dsnative.diff [9 KiB] - Dec 07, 2011
- sm_runtime_eq.diff [3 KiB] - Nov 05, 2011
- xx_ctrl_keys.diff [2 KiB] - Nov 26, 2010
- xx_ctypes.diff [10 KiB] - Dec 07, 2011
- xx_dvdnav_win32.diff [2 KiB] - Jul 18, 2011
- xx_faac_dynload.diff [4 KiB] - Aug 25, 2011
- xx_fontconfig_verbosecache.diff [846 bytes] - Dec 07, 2011
- xx_line_max.diff [456 bytes] - May 24, 2011
- xx_missing_proto.diff [463 bytes] - Apr 27, 2010
- xx_nomute_atexit.diff [530 bytes] - Aug 25, 2011
- xx_qtx_nospam_stdout.diff [552 bytes] - Dec 01, 2010
- xx_reducespam.diff [501 bytes] - May 18, 2011
- xx_term_osd_win32.diff [1 KiB] - Dec 07, 2011
[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.8-gcc46.tar.bz2 [585 KiB] - Nov 22, 2011
- fribidi-mingw32-0.19.2-gcc42.tar.bz2 [69 KiB] - Mar 24, 2010
- jpeg8c-mingw32-gcc42.tar.bz2 [166 KiB] - Mar 25, 2011
- lame-mingw32-3.99.3-gcc46.tar.bz2 [1.08 MiB] - Dec 07, 2011
- 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
- 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
- libiconv-mingw32-1.14-gcc42.tar.bz2 [1.92 MiB] - Aug 11, 2011
- 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 [221 KiB] - May 24, 2011
- libmpcdec-mingw32-1.2.6-gcc42.tar.bz2 [29 KiB] - Dec 25, 2009
- libogg-mingw32-1.3.0-gcc42.tar.bz2 [14 KiB] - Aug 11, 2011
- libregif-mingw32-4.1.7-gcc42.tar.bz2 [30 KiB] - Dec 25, 2009
- librtmp-mingw32-2.3-r568-gcc42.tar.bz2 [46 KiB] - May 02, 2011
- libtheora-mingw32-1.1.1-gcc42.tar.bz2 [449 KiB] - Dec 25, 2009
- libtwolame-mingw32-0.3.13-gcc42.tar.bz2 [75 KiB] - Jan 24, 2011
- libvorbis-mingw32-1.3.2-gcc42.tar.bz2 [425 KiB] - Nov 26, 2010
- libvpx-mingw32-v0.9.7-p1-181-g254889c-gcc46.tar.bz2 [272 KiB] - Dec 07, 2011
- opencore-amr-mingw32-v0.1.2-42-gd38fe00-gcc42.tar.bz2 [228 KiB] - Mar 25, 2011
- polarssl-mingw32-1.0.0-gcc42.tar.bz2 [146 KiB] - Aug 11, 2011
- 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-0.119.2106-07efeb4-gcc46.tar.bz2 [1.00 MiB] - Nov 01, 2011
- xvidcore-mingw32-1.3.1-gcc42.tar.bz2 [494 KiB] - Mar 25, 2011
- 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
- flac-mingw32-1.2.1-gcc42.tar.bz2 [499 KiB] - Mar 25, 2011
- 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
- libfaac.png [10 KiB] - Dec 02, 2010
- libregif-4.1.7-ac.tar.bz2 [258 KiB] - Dec 26, 2009
- libregif-4.1.7.tar.gz [72 KiB] - Nov 11, 2005
- mingwrt_file64.diff [1 KiB] - Mar 22, 2010
- xvid_vaq_1.2.2.diff [3 KiB] - Apr 08, 2010
- yy_alt_alloc.diff [6 KiB] - Nov 22, 2011
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 \
--disable-ffprobe \
--enable-postproc \
--enable-avfilter \
--enable-pthreads \
--enable-runtime-cpudetect \
--enable-hardcoded-tables \
--enable-memalign-hack \
--enable-avisynth \
--enable-bzlib \
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
--enable-libfaac \
--enable-libfreetype \
--enable-libmp3lame \
--disable-libopenjpeg \
--enable-libgsm \
--enable-libspeex \
--enable-libtheora \
--enable-libvorbis \
--enable-libx264 \
--enable-libxvid \
--enable-libvpx \
--enable-zlib