1. 컴파일러 준비
컴파일러는 MPC-BE(http://dev.mpc-next.ru/index.php/topic,1829.0.html, http://117.52.4.235/beta/msys_be_20131017.7z )의 것이나 MPC-HC(http://xhmikosr.1f0.de/tools/MSYS_MinGW-w64_GCC_482_x86-x64.7z, http://117.52.4.235/beta/MSYS_MinGW-w64_GCC_482_x86-x64.7z)의 것을 사용하면 된다.
위 파일을 압축을 푼뒤에 msys.bat를 실행 한다.
그런 후 gcc -v를 입력 해서 gcc가 실행이 잘 되는지 확인 한다.
msys.bat가 있는 폴더에 적당한 작업 디렉토리를 만든다.
예) mkdir Workspace
cd Workspace
2. 소스 준비
FFmpeg는 http://www.ffmpeg.org/download.html에서 받을 수 있다.
Libav는 http://www.libav.org/download.html에서 받을 수 있다.
받은 파일을 1번에서 만들었던 폴더에 넣어둔다.
tar -xvzf "압축 파일 이름"으로 압축을 푼다.
압축이 풀린 폴더 이름에 해시코드 같은 것이 있으므로 폴더의 이름을 ffmpeg일 경우는 ffmpeg로 바꾸고, libav는 libav로 바꾼다.
3. 컴파일
원본 소스 폴더에서 컴파일을 해도 되지만 그렇게 하면 폴더가 여러가지 잡다한 파일로 오염이 되므로, 폴더를 만들어서 하는것을 추천 한다.
mkdir ffmpeg_dll
cd ffmpeg_dll
../ffmpeg/configure
make [-j자신의 CPU갯수]
gcc -I. -I../ffmpeg -c -O2 AdditionalFunc.c
dllwrap -Wl,--enable-stdcall-fixup --export-all-symbols -s -o FFmpeg.dll \
AdditionalFunc.o \
libavcodec/libavcodec.a \
libavutil/libavutil.a \
-lws2_32 -lz -lbz2 -lpthread
strip FFmpeg.dll
만들어진 파일을 팟플레이어의 Module/FFmpeg에 복사를 하면 된다.
Libav도 비슷한 방법으로 하면 되며, 첨부 파일을 참고 하면 된다.
끝!!
ps. AdditionalFunc.c는 첨부 파일에 들어가 있다.
FFmpegCompile.zip
첫댓글 Need an english version and then I can spread the info~