mingw 로 ffmpeg 0.5 컴 파일 하기

먼저 ffmpeg 0.5 의 원본 코드 를 다운로드 하고 공식 로드 지점:http://ffmpeg.org/releases/ffmpeg-0.5.tar.bz2
컴 파일 의 가장 기본 적 인 옵션 입 니 다.(아래 에 서술 한 것 은 모두 정적 컴 파일 입 니 다. 얻 은 ffmpeg. exe 는 독립 적 으로 실행 할 수 있 습 니 다. dll 을 컴 파일 하지 않 습 니 다)
./configure --enable-memalign-hack --extra-cflags=-fno-common
make
make install

-- enable - memalign - hack, 이 항목 이 없 으 면 컴 파일 할 수 없습니다. -fno - common 은 GCC 의 bug 에 대응 합 니 다.
우연히 사용 한 컴 파일 옵션
CFLAGS="-pipe -s -fno-common" /path/to/ffmpeg-0.5/configure / --enable-memalign-hack --disable-logging --disable-debug --disable-ffserver --enable-avisynth / --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-avfilter-lavf --cpu=i586 / / --enable-pthreads --enable-libx264 --enable-libmp3lame --enable-libfaac --enable-libgsm --enable-libtheora

앞의 두 줄 의 옵션 은 모두 11 개 로 ffmpeg 내 에 직접 사용 할 수 있 는 옵션 을 만 듭 니 다. -cpu = i586, i686 이상 을 사용 할 수 없습니다. 그렇지 않 으 면 내장 mpeg 4 파일 을 사용 할 수 없습니다. ffplay 는 시청 각 을 재생 할 수 없습니다.컴 파일 과정 에서 강제로 열 립 니 다. - O3, configure 의 -- cpu 인 자 는 CFLAGS 에서 지정 한 - march 를 덮어 씁 니 다.마지막 줄 의 6 개 옵션 은 해당 하 는 다른 패 키 지 를 미리 설치 해 야 열 수 있 습 니 다.ffmpeg 에는 mpeg 4 와 vorbis 가 내장 되 어 있 기 때문에 외부 인 코더 libxvid 와 libvorbis 를 추가 로 설치 할 필요 가 없습니다.pthreads (-- enable - pthreads) CPU 의 다 중 스 레 드 / 다 중 핵심 지원.libx 264 는 이 패키지 에 의존 합 니 다.다 중 스 레 드 / 다 중 핵심 지원 만 원 하지만 libx 264 는 설치 되 어 있 지 않 습 니 다.내 장 된 Win 32 threads (-- enable - w32threads) 를 사용 할 수 있 습 니 다.
   pthreadspthreads-w32-2-8-0-release.tar.gz

http://ffmpeg.arrozcru.org/wiki/images/1/12/Pthreads-w32-2-8-0.diff
http://ffmpeg.arrozcru.org/wiki/images/d/dd/Ffmpeg_r15966_static_pthreads.diff
pthreads
make clean GC-static patch -p1 < ../pthreads-w32-2-8-0.diff cp libpthreadGC2.a /mingw/lib cp pthread.h sched.h /mingw/include
ffmpeg
patch -p0 < ../Ffmpeg_r15966_static_pthreads.diff

첫 번 째 패 치 는 sched. h 컴 파일 오류 문 제 를 해결 합 니 다.두 번 째 패 치 는 ffmpeg 에서 pthreads 정적 라 이브 러 리 를 사용 할 수 없 는 문 제 를 해결 합 니 다.x264(--enable-libx264)
   x264     ftp://ftp.videolan.org/pub/videolan/x264/snapshots
   YASMyasm-0.7.2-win32.exeyasm.exemsys/mingw/bin
x264
./configure --prefix=/mingw --extra-cflags=-DPTW32_STATIC_LIB ; make -j2 ; make install

-- extra - cflags 필수, 그렇지 않 으 면 ffmpeg 에서 컴 파일 되 지 않 고 libx 264. a: undefined reference to `imp__pthread lame(--enable-libmp3lame)
   LAMEhttp://downloads.sourceforge.net/lame/lame-398-2.tar.gz
http://superfq.googlepages.com/ffmpeg-20080908-lame-flush-once.patch
lame-398-2。 :
./configure --prefix=/mingw --disable-shared --disable-frontend ; make -j2 ; make install
 ffmpeg 
patch -p0 < ../ffmpeg-20080908-lame-flush-once.patch

패 치 는 lamemp 3 인 코딩 이 끝 날 때 오류 가 발생 하 는 문 제 를 해결 하 는 데 사 용 됩 니 다. lame: output buffer too small, Audio encoding failed faac (-- enable - libfaac)
   FAAChttp://downloads.sourceforge.net/faac/faac-1.28.tar.bz2
faac
./bootstrap ; ./configure --prefix=/mingw --disable-shared --without-mp4v2 ; make -j2 ; make install

FAAC 는 mp4 용기 지원 을 컴 파일 할 필요 가 없 으 며, mp4 용기 에 봉 인 된 작업 은 ffmpeg 가 책임 집 니 다.GSM (-- enable - libgsm) 이 인 코딩 을 거 친 후의 소식 은 마치 전화선 에서 전해 지 는 것 처럼 들린다.(make 컴 파일 오류 무시: make: * * [bin / toast] Error 1)
   GSMhttp://user.cs.tu-berlin.de/~jutta/gsm/gsm-1.0.12.tar.gz
 gsm-1.0-pl12 
make -j2
cp lib/libgsm.a /mingw/lib
cp inc/gsm.h /mingw/include

사용 방법 특수: ffmpeg - i input. wav - acodec libgsmms - ac 1 - ar 8000 - ab 13000 output. wav Theora (-- enable - libthora) libthora 는 OGG 의 화상 인 코딩 으로 libogg 에 의존 합 니 다.
  
libogghttp://downloads.xiph.org/releases/ogg/libogg-1.1.3.tar.gz
Theorahttp://downloads.xiph.org/releases/theora/libtheora-1.0.tar.bz2
 
libogglibtheora-1.0  libogg):
./configure --prefix=/mingw --disable-shared ; make -j2 ; make install

FFplay ffplay 는 간단 한 문제 가 많은 양춘 플레이어 로 교차 하 는 것 을 지원 하지 않 습 니 다.우연히 그것 을 가지 고 테스트 를 하 였 다.일반적인 영상 재생 용 도 는 다른 재생 기 를 사용 해 야 한다.ffplay 는 SDL 에 의존 하고 SDL 이 설치 되 어 있 지 않 으 면 ffplay 를 컴 파일 하지 않 습 니 다.
   SDLhttp://www.libsdl.org/release/SDL-devel-1.2.13-mingw32.tar.gz

SDL-1.2.13/bin/sdl-config prefix Users/hercules/tmp/SDL-1.2.13 /mingw SDL-1.2.13 bin, include, lib /mingw。 。
  configure           SDL support   yes ffplay.exe ffplay     SDL.dll   ffplay.exe 

도움말 문 서 는 texi2html 를 설치 해 야 컴 파일 할 때 문 서 를 컴 파일 할 수 있 습 니 다.
   texi2htmlhttp://ftp.twaren.net/Unix/NonGNU/texi2html
 texi2html 
./configure --prefix=/mingw ; make install
touch /mingw/bin/pod2man

touch /mingw/bin/pod2man。컴 파일 을 해결 하 는 중 오류 가 발생 했 습 니 다: "/ bin / sh: pod2man: command not found".만약 당신 에 게 pod2man 이 있다 면 이 단 계 를 줄 일 수 있 습 니 다.pod2man 은 명령 을 찾 을 수 없 도록 Perl script 입 니 다.도움말 문 서 는 주로 6 개의 HTML 파일 입 니 다. 가끔 은 PO 를 네트워크 에 보 냈 습 니 다.
§ FFmpeg FAQ
§ FFmpeg Documentation
§ FFplay Documentation
§ FFserver Documentation
§ General Documentation
§ Video Hook Documentation
파일 다운로드 ffmpeg - 0.5 - windows - i586.7z: ffmpeg, ffplay 와 도움말 문 서 를 포함 합 니 다.예비 적재 점 1 예비 적재 점 2

좋은 웹페이지 즐겨찾기