Log in

View Full Version : how to compile FFMPEG


Amnon82
18th April 2004, 09:54
Fl0ppy ask me once how I did it. So here is the answer.

To compile ffmpeg is simple!

What U need:

The current versions of MSYS and MinGW from http://www.mingw.org/.
If you want to test the FFmpeg Simple Media Player, also download the MinGW development library of SDL 1.2.x (`SDL-devel-1.2.x-mingw32.tar.gz') from http://www.libsdl.org.

How to install the tools:

Install MinGW following the installer.
Then start the installer of MSYS. In the post install enter the path of mingw.

If You want to use FFPlay unpack SDL-devel-1.2.x-mingw32.tar.gz in a temporary place, and unpack the archive `i386-mingw32msvc.tar.gz' in the MinGW tool directory. Edit the `sdl-config' script so that it gives the correct SDL directory when invoked.

Prepare the source:

Extract the current version of FFmpeg (the latest release version or the current CVS snapshot whichever is recommended).

How to compile:

Start the MSYS shell (file `msys.bat'). Normaly a shortcut was created by the installer.
Change to the FFMPEG directory. For doing this enter for example this into the shell:

cd C:/FFMPEG-20040114/

So the source is located in C:\FFMPEG-20040114\.

To read about the install instructions read the INSTALL-file.

The basic compile:

enter this into the shell:

./configure

then:

make

and last:

make install

So the compiled FFMPEG.exe You can find in C:\Program files\FFMPEG\

Advanced Compile:

If you have problems using SDL, verify that `sdl-config' can be launched from the MSYS command line.
Don't forget to copy `SDL.dll' at the place you launch `ffplay'.

The target `make wininstaller' can be used to create a Nullsoft based Windows installer for FFmpeg and FFplay. `SDL.dll' must be copied in the ffmpeg directory in order to build the installer.

By using ./configure --enable-shared when configuring ffmpeg, you can build `avcodec.dll' and `avformat.dll'. With make install you install the FFmpeg DLLs and the associated headers in `Program Files/FFmpeg'.

Visual C++ compatibility: if you used ./configure --enable-shared when configuring FFmpeg, then FFmpeg tries to use the Microsoft Visual C++ lib tool to build avcodec.lib and avformat.lib. With these libraries, you can link your Visual C++ code directly with the FFmpeg DLLs.

Hope this helps You guys :D