본문 바로가기

Programming/ffmpeg

윈도우에서 ffmpeg 컴파일하기(to use in vc++)

다운 받은 패키지는 아래와 같습니다.

원래하드에 깔려 있던 패키지
mingw-5.0.3

추가로 받은 패키지.
MSYS-1.0.11-2004.04.30-1.exe
bash-2.05b-MSYS.tar.bz2
binutils-2.16.91-20060119-1.tar.gz
ffmpeg 소스

svn클라이언트로 ffmpeg을 다운로드 합니다.
주소는 다음과 같습니다. svn://svn.mplayerhq.hu/ffmpeg/trunk
인터넷에서 돌아다니는 문서에 보면 binutils를 받으란 얘기는 없는데 binutils 버전이 안 맞으면 컴파일 도중에러가 나네요. 이것때문에 시간 좀 끌었습니다.

mingw와 msys를 설치해 줍니다. path는 경우에 맞게 지정해주세요.
msys.bat에

call "C:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat"

이 한줄을 추가 시켜줍니다. vcvars32.bat가 있는 경로로 수정해주세요.
msys실행 후 link.exe를 실행해서 뭔가 주루룩 나오면 제대로 된겁니다. 그 다음 다운 받은 ffmpeg 디렉토리로 가서 configure를 수행합니다.

./configure --enable-shared --disable-static --enable-memalign-hack

그다음 make를  실행후 컴파일 완료되면
c:\program files\FFmpeg 이란 디렉토리가 생깁니다. 
FFmpeg폴더 밑에 lib란 디렉토리를 만든후 원 소스가 있던 FFmpeg소스 디렉토리의 하위 디렉토리에lib파일이 세개 있는데 programs files\FFmepg\lib 디렉토리에 카피 합니다.
그리고 dll파일들은 system32에 카피 합니다.

아래 링크에 설치 과정이 나와있습니다.
http://ffmpeg.mplayerhq.hu/ffmpeg-doc.html#SEC26
http://arrozcru.no-ip.org/ffmpeg/

그리고 http://arrozcru.no-ip.org/ffmpeg_builds/ 에서
윈도우용 바이너리를 미리 컴파일 해놓은 것이 있어서 굳이 직접 컴파일 할 필요는 없습니다.