- http://ffmpeg.arrozcru.org/builds/ - old one
- http://ffmpeg.zeranoe.com/builds/ new one
- http://win32.libav.org/ libAV
But those builds use only GPL version. To use it commercially, we need to build it on our own.
- Install linux (for instance on a Virtual Machine - Oracle VirtualBox is free and amazing software to help). I've installed latest Ubuntu (11.10) but other releases would be fine.
- from this site: http://ffmpeg.zeranoe.com/blog/ download latest MinGW-w64 toolchain build script. This script will build complete toolchain for cross-compilation. It is a good and very friendly piece of code and everyone (even me!) can handle it.
- The script takes some time to finish: up to half an hour I think. It should end with the message: "MinGW-w64 has been built without errors. "
To build libAV (or ffmpeg) you need to do
- Download source code for the libav: http://libav.org/download.html. Place the unpacked files for instance in home/src/libav
- create output directory for the build for instance: home/build/libav32 and home/build/libav64
- configure the build (see below in "build configuration")
- type "make" (and "make install"). After the build you will have several files (dlls) in libav32 and libav64 output directories
- and that's all... Now you can copy dlls to the windows machine and use them in your software...
Build configuration:
- decide what you want to build: 32 or 64 bit version and then go to the output directory for that version: for instance cd home/build/libav32
- add directory for binaries... from the end message of the toolchain: "export PATH="$PATH:/home/fen/mingw/mingw-w64-i686/bin"" or "export PATH="$PATH:/home/fen/mingw/mingw-w64-x86_64/bin""
- for win32 type ../../src/libav/configure --enable-cross-compile --enable-w32threads --cross-prefix=i686-w64-mingw32- --arch=i686 --target-os=mingw32 --enable-memalign-hack --enable-shared --disable-static --disable-debug --enable-runtime-cpudetect
Important params:
- "--cross-prefix=" simply go to the home/mingw/mingw-w64-i686/bin and find what is the prefix before binaries, for instance "i686-w64-mingw32-gcc"
- description of options for the build can be find in the libav/configure script file
hope this helps :)