Final Media Player itself is not open source software.
The player uses the LGPL version of FFmpeg and related libraries as its playback engine. The entire development environment setup and build procedure is explained here.
You ONLY need these files if you want to build your own media player! If you just want to play movies, download Final Media Player and install it. It is ready to use as-is.
You will need MinGW to build FFmpeg on Windows. Run these installers in the listed order and use the installation paths suggested by the installers:
Run MinGW-5.1.6.exe - Minimal GNU for Windows.
Run MSYS-1.0.11.exe - Minimal SYStem.
Run msysDTK-1.0.1.exe - MSYS Developer Tool Kit.
Extract coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2 to C:\msys\1.0. DO NOT replace existing files. This is primarily to get pr.exe
Extract gcc-core-4.5.0-1-mingw32-bin.tar.lzma to C:\MinGW
Extract gcc-c++-4.5.0-1-mingw32-bin.tar.lzma to C:\MinGW
Extract libgcc-4.5.0-1-mingw32-dll-1.tar.lzma to C:\MinGW
Extract libstdc++-4.5.0-1-mingw32-dll-6.tar.lzma to C:\MinGW
Extract libgmp-5.0.1-1-mingw32-dll-10.tar.lzma to C:\MinGW
Extract libmpc-0.8.1-1-mingw32-dll-2.tar.lzma to C:\MinGW
Extract libmpfr-2.4.1-1-mingw32-dll-1.tar.lzma to C:\MinGW
Extract gdb-7.1-2-mingw32-bin.tar.gz to C:\msys\1.0
Extract libexpat-2.0.1-1-mingw32-dll-1.tar.gz to C:\msys\1.0
Save yasm-1.1.0-win32.exe as yasm.exe in C:\msys\1.0\bin
Yes, unfortunately it is needed to patch 3 system include files in order to build the newest FFmpeg.
tempnam.diff, strcasecmp.diff and strcasecmp.diff.
After you have installed MinGW and updated it as described above, you are ready to build FFmpeg and related libraries. Start a shell by double-clicking the MSYS icon on your desktop and follow the instructions below.
mkdir /ffmpeg mkdir /ffmpeg/libraries mkdir /ffmpeg/Binaries_LGPL mkdir /ffmpeg/olibs/include mkdir /ffmpeg/olibs/lib mkdir /ffmpeg/olibs/man mkdir /ffmpeg/olibs/man/man3
Extract libgsm_1.0.13.orig.tar.gz to /ffmpeg/libraries (License: Proprietary, Home page)
cd /ffmpeg/libraries/gsm-1.0-pl13 make cp lib/* /ffmpeg/olibs/lib mkdir /ffmpeg/olibs/include/gsm cp inc/gsm.h /ffmpeg/olibs/include/gsm/
Extract lame-3.98.4.tar.gz to /ffmpeg/libraries (License: LGPL v2, Home page)
cd /ffmpeg/libraries/lame-3.98.4/ ./configure --prefix=/ffmpeg/olibs --enable-static --disable-shared make make install
Extract opencore-amr-0.1.2.tar.gz to /ffmpeg/libraries (License: Apache, Home page)
cd /ffmpeg/libraries/opencore-amr-0.1.2 ./configure --prefix=/ffmpeg/olibs --enable-static --disable-shared make make install
Extract libogg-1.2.0.tar.gz to /ffmpeg/libraries (License: Public Domain, Home page)
cd /ffmpeg/libraries/libogg-1.2.0 ./configure --prefix=/ffmpeg/olibs --enable-static --disable-shared make make install
Extract libvorbis-1.3.1.tar.gz to /ffmpeg/libraries (License: Public Domain, Home page)
cd /ffmpeg/libraries/libvorbis-1.3.1 ./configure --prefix=/ffmpeg/olibs --enable-static --disable-shared make make install
Extract SDL-1.2.13.zip to /ffmpeg/libraries (License: LGPL v2.1, Home page)
Extract directx-devel.tar.gz to /ffmpeg/libraries/SDL-1.2.13 (Home page)
Patch SDL_stretch.c:
in function SDL_SoftStretch() of file SDL_stretch.c
/* using asm to stretch will cause exception under Windows when DEP enabled
disable using asm will work even with DEP */
/* SDL_bool use_asm = SDL_TRUE; */
SDL_bool use_asm = SDL_FALSE;
cd /ffmpeg/libraries/SDL-1.2.13 ./configure --prefix=/ffmpeg/olibs --enable-static --enable-shared --enable-joystick=no --enable-cdrom=no make make install strip --strip-debug /ffmpeg/olibs/bin/SDL.dll
Extract libtheora-1.1.1.tar.bz2 to /ffmpeg/libraries (License: Public Domain, Home page)
cd /ffmpeg/libraries/libtheora-1.1.1 ./configure --prefix=/ffmpeg/olibs --enable-static --disable-shared --disable-oggtest --disable-vorbistest --with-ogg=/ffmpeg/olibs --with-vorbis=/ffmpeg/olibs --with-sdl-prefix=/ffmpeg/olibs make make install
export PATH=$PATH:/ffmpeg/olibs/bin mkdir /ffmpeg/ffmpeg_lgpl
Extract ffmpeg-r24068-swscale-r31628.tar.bz2 to /ffmpeg/ffmpeg_lgpl (License: LGPL v2.1, Home page)
cd /ffmpeg/ffmpeg_lgpl/ffmpeg-r24068-swscale-r31628 ./configure --prefix=/ffmpeg/Binaries_LGPL --disable-debug --disable-static --enable-shared --enable-version3 --enable-avfilter --enable-memalign-hack --enable-avisynth --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --extra-cflags=-I/ffmpeg/olibs/include --extra-ldflags=-L/ffmpeg/olibs/lib make make install
To decompress the compressed files above, you will need a tool like BitZipper.