Source Code
Free YouTube to MP3 TURBO Converter itself is not open-source software.
The downloader uses the GPL version of FFmpeg to convert videos. FFmpeg is included as a stand-alone executable, and not used in the Free YouTube to MP3 TURBO Converter executable itself. You can find the build instructions and source code to the exact version of FFmpeg used in Free YouTube to MP3 TURBO Converter on this page.
You ONLY need these files if you want to build your own media player or video converter! If you just want to convert downloaded videos, download Free YouTube to MP3 TURBO Converter and install it. It is ready to use as-is.
Development Environment setup
You will need MinGW to build FFmpeg on Windows. Perform the steps below in the exact order shown.
Main MinGW / MSYS environment
Unless stated otherwise, always extract the archive files with full folder information.
Extract binutils-2.20-1-mingw32-bin.tar.gz to C:\MinGW\
Extract gcc-core-3.4.5-20060117-3.tar.gz to C:\MinGW\
Extract mingwrt-3.17-mingw32-dev.tar.gz to C:\MinGW\
Extract mingwrt-3.17-mingw32-dll.tar.gz to C:\MinGW\
Extract w32api-3.14-mingw32-dev.tar.gz to C:\MinGW\
Run MSYS-1.0.11.exe - Minimal SYStem. Use default options.
When the command prompt pops up, answer the questions like this:
"Do you wish to continue with the post install [yn ]" y
"Do you have MinGW installed? [yn ]" y
"Where is your MinGW installation?" c:/mingw
Run msysDTK-1.0.1.exe - MSYS Developer Tool Kit. Use default options.
Extract pr.exe from coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2 tar file to c:\msys\1.0\bin
Upgrade GCC
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
Install GDB
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
Install wget
Extract wget-1.11.4-1-bin.zip to C:\MinGW.
Extract wget-1.11.4-1-dep.zip to C:\MinGW
Install unzip
Extract unzip-5.51-1-bin.zip to C:\MinGW.
Install Yasm
Save yasm-1.1.0-win32.exe as yasm.exe in C:\msys\1.0\bin
Patch system include files
Yes, unfortunately it is needed to patch 2 system include files in order to build the newest FFmpeg.
tempnam.diff and strcasecmp.diff.
Building FFmpeg and related libraries
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.
Create directories
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
Build libgsm
Extract libgsm_1.0.13.orig.tar.gz to /ffmpeg/libraries (License: Proprietary, Home page)
cd /ffmpeg/libraries/gsm-1.0-pl13 make (ignore errors in toast.c) cp lib/* /ffmpeg/olibs/lib mkdir /ffmpeg/olibs/include/gsm cp inc/gsm.h /ffmpeg/olibs/include/gsm/
Build lame
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
Build opencore-amr
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
Build libogg
Extract libogg-1.2.2.tar.gz to /ffmpeg/libraries (License: Public Domain, Home page)
cd /ffmpeg/libraries/libogg-1.2.2 ./configure --prefix=/ffmpeg/olibs --enable-static --disable-shared make make install
Build libvorbis
Extract libvorbis-1.3.2.tar.gz to /ffmpeg/libraries (License: Public Domain, Home page)
cd /ffmpeg/libraries/libvorbis-1.3.2 ./configure --prefix=/ffmpeg/olibs --enable-static --disable-shared make make install
Build libSDL
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 src/video/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
Build libtheora
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
Build x264
Extract x264-snapshot-20110126-2245.tar.bz2 to /ffmpeg/libraries (License: GPL, Home page)
cd /ffmpeg/libraries/x264-snapshot-20110126-2245 ./configure --prefix=/ffmpeg/olibs make make install
Build Xvid
Extract xvidcore-1.3.0-rc1.tar.gz to /ffmpeg/libraries (License: GPL, Home page)
cd /ffmpeg/libraries/xvidcore ./configure --prefix=/ffmpeg/olibs --enable-static --disable-shared make make install rm /ffmpeg/olibs/lib/xvidcore.dll cp /ffmpeg/olibs/lib/xvidcore.a /ffmpeg/olibs/lib/libxvidcore.a
Build GPL FFmpeg
export PATH=$PATH:/ffmpeg/olibs/bin mkdir /ffmpeg/ffmpeg_gpl mkdir /ffmpeg/ffmpeg_gpl/src
Extract ffmpeg-svn-r26402-gpl-cfg.tar.gz to /ffmpeg/ffmpeg_gpl/src (License: GPL, Home page)
cd /ffmpeg/ffmpeg_gpl/src ./configure --prefix=/ffmpeg/Binaries_GPL --disable-debug --enable-static --disable-shared --enable-version3 --enable-avfilter --enable-memalign-hack --enable-avisynth --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-gpl --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.
Updated January 30, 2011 to reflect the FFmpeg version used in Free YouTube to MP3 TURBO Converter 2011.

