Welcome to the wiki talking about FFmpeg on Windows.

Batch file for MinGW files of MinGW + MSYS

mingw.bat
@REM ***************************************************************************
@REM
@REM Batch file for MinGW files of MinGW + MSYS
@REM
@REM Version: 1.2 @ August 28, 2011
@REM
@REM *** License ***
@REM
@REM Except where otherwise noted, all of the batchs and scripts are
@REM copyrighted by http://www.FFmpegWindows.org
@REM
@REM Copyright (C) 2010-2011 http://www.FFmpegWindows.org All rights reserved.
@REM
@REM These batchs and scripts are provided "as-is," without any express or
@REM implied warranty. In no event shall the author be held liable for any
@REM damages arising from the use of them.
@REM
@REM Permission is granted to anyone to use these batchs and scripts for
@REM any purpose, including commercial applications, and to alter and
@REM redistribute it, provided that the following conditions are met:
@REM
@REM 1. All redistributions of batchs and scripts must retain all copyright
@REM    notices that are currently in place, and this list of conditions
@REM    without modification.
@REM
@REM 2. Modified versions must be plainly marked as such, and must not be
@REM    misrepresented as being the original batchs and scripts.
@REM
@REM http://www.ffmpegwindows.org
@REM
@REM ***************************************************************************
@REM
@REM Files needed:
@REM   binutils: binutils-2.21.1-1-mingw32-bin.tar.lzma
@REM   runtime: mingwrt-3.20-mingw32-dev.tar.gz, mingwrt-3.20-mingw32-dll.tar.gz
@REM   win32api: w32api-3.17-2-mingw32-dev.tar.lzma
@REM   bzip2: bzip2-1.0.6-1-mingw32-bin.tar.lzma, libbz2-1.0.6-1-mingw32-dll-2.tar.lzma
@REM   GCC 4.2.1:
@REM              gcc-core-4.2.1-sjlj-2.tar.gz
@REM              gcc-g++-4.2.1-sjlj-2.tar.gz
@REM   GCC 4.5.2:
@REM              gcc-core-4.5.2-1-mingw32-bin.tar.lzma
@REM              gcc-c++-4.5.2-1-mingw32-bin.tar.lzma
@REM              libgmp-5.0.1-1-mingw32-dll-10.tar.lzma
@REM              libmpc-0.8.1-1-mingw32-dll-2.tar.lzma
@REM              libmpfr-2.4.1-1-mingw32-dll-1.tar.lzma
@REM              libgcc-4.5.2-1-mingw32-dll-1.tar.lzma
@REM
@REM ***************************************************************************

@REM check if we are running within the main batch file
@IF NOT "%IN_MINGW_MSYS_BAT%"=="1" (
	@ECHO.
	@ECHO This batch file "%~NX0" needs to be called by the main batch file.
	@ECHO.
	@PAUSE
	@EXIT /B 1
)

REM global variables: INSTALL_BASE, OPERATION, OPERATE_BATCH

REM MinGW installation directory
SET INSTALL_DIR=%INSTALL_BASE%MinGW\
REM base url
SET BASE_URL=http://sourceforge.net/projects/mingw/files

REM operation
IF "%OPERATION%"=="LIST" ECHO MinGW files list
IF "%OPERATION%"=="DOWNLOAD" ECHO Downloading MinGW files
IF "%OPERATION%"=="INSTALL" ECHO Installing MinGW files

REM GNU-Binutils
REM http://sourceforge.net/projects/mingw/files/MinGW/BaseSystem/GNU-Binutils/binutils-2.21.1/binutils-2.21.1-1-mingw32-bin.tar.lzma/download
SET FILE_URL=%BASE_URL%/MinGW/BaseSystem/GNU-Binutils
SET FILE_VER=binutils-2.21.1
SET FILE_NAME=binutils-2.21.1-1-mingw32-bin.tar.lzma
CALL %OPERATE_BATCH%
IF ERRORLEVEL==1 EXIT /B 1

REM MinGW-RT
REM http://sourceforge.net/projects/mingw/files/MinGW/BaseSystem/RuntimeLibrary/MinGW-RT/mingwrt-3.20/mingwrt-3.20-mingw32-dev.tar.gz/download
SET FILE_URL=%BASE_URL%/MinGW/BaseSystem/RuntimeLibrary/MinGW-RT
SET FILE_VER=mingwrt-3.20
SET FILE_NAME=mingwrt-3.20-mingw32-dev.tar.gz
CALL %OPERATE_BATCH%
IF ERRORLEVEL==1 EXIT /B 1

REM MinGW-RT DLL
REM http://sourceforge.net/projects/mingw/files/MinGW/BaseSystem/RuntimeLibrary/MinGW-RT/mingwrt-3.20/mingwrt-3.20-mingw32-dll.tar.gz/download
SET FILE_URL=%BASE_URL%/MinGW/BaseSystem/RuntimeLibrary/MinGW-RT
SET FILE_VER=mingwrt-3.20
SET FILE_NAME=mingwrt-3.20-mingw32-dll.tar.gz
CALL %OPERATE_BATCH%
IF ERRORLEVEL==1 EXIT /B 1

REM Win32-API
REM http://sourceforge.net/projects/mingw/files/MinGW/BaseSystem/RuntimeLibrary/Win32-API/w32api-3.17/w32api-3.17-2-mingw32-dev.tar.lzma/download
SET FILE_URL=%BASE_URL%/MinGW/BaseSystem/RuntimeLibrary/Win32-API
SET FILE_VER=w32api-3.17
SET FILE_NAME=w32api-3.17-2-mingw32-dev.tar.lzma
CALL %OPERATE_BATCH%
IF ERRORLEVEL==1 EXIT /B 1

REM MinGW bzip2 bin
REM http://sourceforge.net/projects/mingw/files/MinGW/bzip2/1.0.6-1/bzip2-1.0.6-1-mingw32-bin.tar.lzma/download
SET FILE_URL=%BASE_URL%/MinGW/bzip2
SET FILE_VER=1.0.6-1
SET FILE_NAME=bzip2-1.0.6-1-mingw32-bin.tar.lzma
CALL %OPERATE_BATCH%
IF ERRORLEVEL==1 EXIT /B 1

REM MinGW bzip2 dll
REM http://sourceforge.net/projects/mingw/files/MinGW/bzip2/1.0.6-1/libbz2-1.0.6-1-mingw32-dll-2.tar.lzma/download
SET FILE_URL=%BASE_URL%/MinGW/bzip2
SET FILE_VER=1.0.6-1
SET FILE_NAME=libbz2-1.0.6-1-mingw32-dll-2.tar.lzma
CALL %OPERATE_BATCH%
IF ERRORLEVEL==1 EXIT /B 1
 
IF "%GCC_VER%"=="4.2.1" (
	REM GCC Core 4.2.1
	REM http://sourceforge.net/projects/mingw/files/MinGW/BaseSystem/GCC/Version4/Previous%20Testing_%20gcc-4.2.1-sjlj%20-2/gcc-core-4.2.1-sjlj-2.tar.gz/download
	SET FILE_URL=%BASE_URL%/MinGW/BaseSystem/GCC/Version4
	SET FILE_VER=Previous%%20Testing_%%20gcc-4.2.1-sjlj%%20-2
	SET FILE_NAME=gcc-core-4.2.1-sjlj-2.tar.gz
	IF "%OPERATION%"=="INSTALL" (
		REM do not install libiberty.a
		CALL %OPERATE_BATCH% -x!lib\libiberty.a
		IF ERRORLEVEL==1 EXIT /B 1
		IF ERRORLEVEL==0 (
			REM copy gcc-sjlj.exe to gcc.exe
			COPY /B /Y "%INSTALL_DIR%bin\gcc-sjlj.exe" "%INSTALL_DIR%bin\gcc.exe" > nul 2> nul
		)
	) ELSE (
		CALL %OPERATE_BATCH%
		IF ERRORLEVEL==1 EXIT /B 1
	)

	REM GCC G++ 4.2.1
	REM http://sourceforge.net/projects/mingw/files/MinGW/BaseSystem/GCC/Version4/Previous%20Testing_%20gcc-4.2.1-sjlj%20-2/gcc-g%2B%2B-4.2.1-sjlj-2.tar.gz/download
	SET FILE_URL=%BASE_URL%/MinGW/BaseSystem/GCC/Version4
	SET FILE_VER=Previous%%20Testing_%%20gcc-4.2.1-sjlj%%20-2
	SET FILE_NAME=gcc-g++-4.2.1-sjlj-2.tar.gz
	CALL %OPERATE_BATCH%
	IF ERRORLEVEL==1 EXIT /B 1
	IF "%OPERATION%"=="INSTALL" (
		REM copy g++-sjlj.exe to g++.exe
		COPY /B /Y "%INSTALL_DIR%bin\g++-sjlj.exe" "%INSTALL_DIR%bin\g++.exe" > nul 2> nul
	)
)
 
IF "%GCC_VER%"=="4.5.2" (
	REM GCC Core 4.5.2
	REM http://sourceforge.net/projects/mingw/files/MinGW/BaseSystem/GCC/Version4/gcc-4.5.2-1/gcc-core-4.5.2-1-mingw32-bin.tar.lzma/download
	SET FILE_URL=%BASE_URL%/MinGW/BaseSystem/GCC/Version4
	SET FILE_VER=gcc-4.5.2-1
	SET FILE_NAME=gcc-core-4.5.2-1-mingw32-bin.tar.lzma
	CALL %OPERATE_BATCH%
	IF ERRORLEVEL==1 EXIT /B 1

	REM GCC G++ 4.5.2
	REM http://sourceforge.net/projects/mingw/files/MinGW/BaseSystem/GCC/Version4/gcc-4.5.2-1/gcc-c%2B%2B-4.5.2-1-mingw32-bin.tar.lzma/download
	SET FILE_URL=%BASE_URL%/MinGW/BaseSystem/GCC/Version4
	SET FILE_VER=gcc-4.5.2-1
	SET FILE_NAME=gcc-c++-4.5.2-1-mingw32-bin.tar.lzma
	CALL %OPERATE_BATCH%
	IF ERRORLEVEL==1 EXIT /B 1

	REM libgmp
	REM http://sourceforge.net/projects/mingw/files/MinGW/gmp/gmp-5.0.1-1/libgmp-5.0.1-1-mingw32-dll-10.tar.lzma/download
	SET FILE_URL=%BASE_URL%/MinGW/gmp
	SET FILE_VER=gmp-5.0.1-1
	SET FILE_NAME=libgmp-5.0.1-1-mingw32-dll-10.tar.lzma
	CALL %OPERATE_BATCH%
	IF ERRORLEVEL==1 EXIT /B 1

	REM libmpc
	REM http://sourceforge.net/projects/mingw/files/MinGW/mpc/mpc-0.8.1-1/libmpc-0.8.1-1-mingw32-dll-2.tar.lzma/download
	SET FILE_URL=%BASE_URL%/MinGW/mpc
	SET FILE_VER=mpc-0.8.1-1
	SET FILE_NAME=libmpc-0.8.1-1-mingw32-dll-2.tar.lzma
	CALL %OPERATE_BATCH%
	IF ERRORLEVEL==1 EXIT /B 1

	REM libmpfr
	REM http://sourceforge.net/projects/mingw/files/MinGW/mpfr/mpfr-2.4.1-1/libmpfr-2.4.1-1-mingw32-dll-1.tar.lzma/download
	SET FILE_URL=%BASE_URL%/MinGW/mpfr
	SET FILE_VER=mpfr-2.4.1-1
	SET FILE_NAME=libmpfr-2.4.1-1-mingw32-dll-1.tar.lzma
	CALL %OPERATE_BATCH%
	IF ERRORLEVEL==1 EXIT /B 1

	REM libgcc (needed when -shared-libgcc)
	REM http://sourceforge.net/projects/mingw/files/MinGW/BaseSystem/GCC/Version4/gcc-4.5.2-1/libgcc-4.5.2-1-mingw32-dll-1.tar.lzma/download
	SET FILE_URL=%BASE_URL%/MinGW/BaseSystem/GCC/Version4
	SET FILE_VER=gcc-4.5.2-1
	SET FILE_NAME=libgcc-4.5.2-1-mingw32-dll-1.tar.lzma
	CALL %OPERATE_BATCH%
	IF ERRORLEVEL==1 EXIT /B 1
)
 
EXIT /B 0

Batch files list

Download the batch files and utils

Print/export