0. ffmpeg source export by SVN svn://svn.ffmpeg.org/ffmpeg/trunk
1. download "MinGW" http://sourceforge.net/projects/mingw/files/
2. MinGW설치 c,c++컴파일러와(c++은 안해도 될듯하지만) MSYS포함
3. add Path 환경변수에 추가
C:\MinGW\msys\1.0\bin
C:\MinGW\bin
4.http://yasm.tortall.net/Download.html 에서 적당한 yasm을 다운.
C:\MinGW\msys\1.0\bin에 넣는다.
이때 파일의 이름을 yasm.exe로 해준다.
5. export한 ffmpeg을 C:\MinGW\msys\1.0로 이동(혹은 복사)
6.C:\MinGW\msys\1.0\msys.bat 수정
맨 윗줄에 추가
call "C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/vcvars32.bat"
7.msys.bat 실행
cd /MinGW/msys/1.0/ffmpeg
// 컴파일 실패(ffmpeg-1.1.2)
./configure --enable-shared --enable-memalign-hack --extra-cflags=-U__STRICT_ANSI__
// 컴파일 성공(ffmpeg-1.1.2 : H264만 빼내는 방법)
./configure --disable-doc --enable-shared --disable-static --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-avdevice --disable-encoders --disable-network --disable-protocols --disable-decoders --disable-parsers --enable-decoder=h264 --enable-parser=h264 --disable-filters --disable-yasm --disable-muxers --disable-bsfs --disable-devices --disable-demuxers --disable-avfilter --disable-swscale --enable-memalign-hack --target-os=mingw32 --extra-cflags=-U__STRICT_ANSI__ --extra-libs=-lpthread
make
make install
8.C:\MinGW\msys\1.0\local 에 파일 생성되어있음.
빌드는 여기까지 완료
테스트 컴파일
샘플소스 : ffmpeg\libavcodec\api-example.c
포함,라이브러리 path설정
빌드시 inttype.h없다고 에러
압축풀고 include 폴더안에 넣음
소스들 적당히 수정해주고
common.h에
#ifdef __cplusplus
#define __STDC_CONSTANT_MACROS
#ifdef _STDINT_H
#undef _STDINT_H
#endif
# include <stdint.h>
#endif
추가
소스에서 헤더 포함은
extern "C" {
#include "libavcodec/avcodec.h"
#include "libavutil/mathematics.h"
}
으로 수정