ffmeg 오픈 소스 코드 컴 파일
본문http://www.aurora-x.net/wiki/CompileFFmpegWindows,
얼마 전에 ffempg 와 x264 로 h264 인 코딩 과 디 코딩 Filter 를 개 발 했 습 니 다.이 글 은 제 가 ffmeg 프로젝트 를 컴 파일 하여 인터넷 에서 찾 은 가장 좋 은 문서 입 니 다.그리고 상세 한 것 은 제 가 이 문서 의 한 걸음 한 걸음 씩 하 는 것 입 니 다.처음으로 ffmepg 의 컴 파일 을 순조롭게 완 성 했 습 니 다.만약 당신 도 ffmpeg 을 배우 고 있다 면,이 문 서 를 자세히 배 워 보 세 요.나중에 기회 가 된다 면,나 는 ffmpeg 에 x264 라 이브 러 리 를 포함 하 는 것 을 어떻게 컴 파일 하 는 지,그리고 ffmpeg 으로 h264 디 코딩 Filter 를 어떻게 개발 하 는 지 상세 하 게 쓸 것 입 니 다.
지혜 로 운 물고기 2008.3.8
본 논문 의 목적 은 FFmpeg 이 Windows 에서 의 모든 도움 을 제공 하 는 것 이다.처음에는 MSys+MinGW 시스템 으로 컴 파일 된 손잡이 에 대한 튜 토리 얼 이 었 으 나,이 제 는 프로젝트 에 FFmpeg 를 연결 하 는 방법(C+,C\#)을 추가 하 였 습 니 다.
우 리 는 Cygwin 에 대해 토론 하지 않 습 니 다.왜냐하면 그것 의 작업 방식 은 기본적으로 유 닉 스 시스템 과 일치 하기 때 문 입 니 다.
시작 하기 전에 먼저 다음 과 같은 몇 가 지 를 명 확 히 해 야 한다.
목차
이 안내 서 는 매우 지루 하 다.만약 당신 이 이전에 오픈 소스 소프트웨어 를 컴 파일 한 경험 이 있다 면,당신 은 이 편 을 읽 어 볼 수 있 습 니 다.그것 은 아주 짧게 많이 해 야 한다.작은 미조정 만 있 으 면 정상적으로 일 할 수 있다.
그러나 만약 에 문제 가 발생 하면 ffmpeg 의 메 일 링 리스트 에 오 류 를 보고 할 때 먼저 본문 을 자세히 읽 으 십시오.이것 은 매우 직관 적 이 고 많은 부분의 세부 사항 이 너무 상세 할 수도 있 습 니 다.우 리 는 오류 가 발생 할 수 있 는 모든 부분 을 포함 하려 고 합 니 다.만약 당신 이 글 의 방법 을 정확하게 따른다 면,당신 은 윈도 환경 에서 의 FFmpeg 에 아무런 문제 가 없 을 것 입 니 다.
당신 의 노력 을 다 해 당신 이 직면 한 문 제 를 해결 하 세 요.절대 다수의 FFmpeg 개발 자 들 은 윈도 우 를 사용 하지 않 기 때문에 그들 은 당신 을 도 울 수 없습니다.
준비 하 다.
이곳 의 내용 은 본문 과 아무런 관계 가 없 을 수도 있 지만,나 는 실수 할 수 있 는 어떤 부분 도 남기 고 싶 지 않다.절대 다수의 사람들 에 게 이 부분 은 뛰 어 넘 을 수 있다.
압축 을 푸 는 도구 소프트웨어 가 필요 합 니 다."*.tar.gz"와"*.tar.bz2"파일 을 지원 합 니 다.너 는 이 압축 패 키 지 를 지정 한 디 렉 터 리 에 압축 을 풀 어야 할 것 이다.이러한 프로그램 이 있 고 특정 디 렉 터 리 에 압축 을 푸 는 방법 을 알 고 있다 면 MSys+MinGW 시스템 을 준비 하 는 것 을 읽 으 십시오.
압축 을 풀기 위해 7-Zip 이나 WinRAR 을 사용 하 는 방법 을 보 여 드 리 겠 습 니 다.7-Zip 을 추천 합 니 다.오픈 소스 이 고 무료 이기 때 문 입 니 다.
MSys+MinGW 시스템 준비
최신 MSys+MinGW 시스템 가 져 오기.다음 가방 의 버 전 요구 사항 에 주의 하 십시오.
설정 이 완료 되 었 다 면 다음 부분 을 읽 고 SVN 방식 으로 FFmpeg 를 가 져 오 십시오.그렇지 않 으 면 다음 절 차 를 순서대로 실행 하 십시오.
FFmpeg 의 소스 코드 를 가 져 오 는 방법 을 알 고 있다 면 다음 부분 컴 파일 을 읽 으 십시오.
FFmpeg 의 소스 코드 가 SVN 창고 에 저장 되 어 있 기 때문에 명령 행 프로그램 이나 그래 픽 인터페이스 프로그램 을 사용 해 야 합 니 다.저 는 개인 적 으로 TortoiseSVN 을 추천 합 니 다.Windows 자원 관리자 와 잘 결합 되 어 있 기 때문에 TortoiseSVN 을 사용 하 는 방법 만 소개 합 니 다.
컴 파일
컴 파일 FFplay
SDL-devel 을 미리 설치 해 야 합 니 다.
SDL.dll ffplay.exe PATH , 。 MSys mingw/bin PATH , ffplay.exe 。 MSys , SDL.dll ffplay.exe 。
현재 FFmpeg 를 앞의 방식 으로 정적 또는 동적 으로 다시 컴 파일 할 수 있 습 니 다.configure 스 크 립 트 를 실행 하면 SDL 과 ffplay 를 정확하게 찾 을 수 있 습 니 다.
제3자 라 이브 러 리 지원
너 는 동적 라 이브 러 리 부분 을 완전히 이해 해 야 한다.
FFmpeg 의 바 이 너 리 파일 에 다른 라 이브 러 리 를 추가 할 때 라 이브 러 리 가 정적 으로 연결 되 는 지 동적 으로 연결 되 는 지 먼저 고려 해 야 합 니 다.이것 을 FFmpeg 자체 가 정적/동적 링크 라 이브 러 리 와 혼동 하지 마 십시오.정적 으로 제3자 라 이브 러 리 를 FFmpeg 에 연결 할 수 있 지만 FFmpeg 라 이브 러 리 자 체 는 동적 으로 불 러 온 dll 라 이브 러 리 입 니 다.
이러한 상황 을 고려 해 보 세 요.xvidcore 를 바 꾸 려 고 하지만 FFmpeg 를 다시 컴 파일 하 기 를 원 하지 않 는 다 면 xvidcore 를 동적 링크 라 이브 러 리 로 컴 파일 해 야 합 니 다.
그 다음 에 당신 이 고려 해 야 할 것 은 이 제3자 라 이브 러 리 들 이 MSys 시스템 의 어떤 위치 에 설치 되 어 있 는 지 입 니 다.
대부분의 라 이브 러 리 는 라 이브 러 리 입 니 다.부족 한 경로 에 설치 하면 FFmpeg configure 스 크 립 트 에 추가 인 자 를 전달 해 야 컴 파일 할 때 이 라 이브 러 리 를 찾 을 수 있 습 니 다.이 라 이브 러 리 를 gcc 의 결 성 include 와 lib 경로 에 설치 하면 이 매개 변 수 를 추가 로 지정 할 필요 가 없습니다.동적 라 이브 러 리 와 정적 라 이브 러 리 를 분리 해서 저장 하려 면 경 로 를 지정 해 야 합 니 다.이러한 경 로 는 당신 이 설치 한 라 이브 러 리 의 prefix 라 고 불 립 니 다.
gcc 가 아 닌 결 성에 라 이브 러 리 를 설치 하여 경 로 를 찾 으 려 면 FFmpeg configure 스 크 립 트 에 이 경로 정 보 를 전달 해 야 합 니 다.
--extra-ldflags=-L/lib --extra-cflags=-I/include
이와 유사 하 다.
./configure --enable-memalign-hack --enable-mp3lame /
-–extra-ldflags=-L/usr/local/lib /
--extra-cflags=-I/usr/local/include
MSys 에서 gcc 의 결 성 경 로 는?
/mingw
또한 이 라 이브 러 리 의 dll 을 설치 하면 프로그램 이 PATH 환경 변수 에서 해당 하 는 dll 을 찾 을 수 있 도록 합 니 다.
다음 라 이브 러 리 의 설 치 를 보 여 드 리 겠 습 니 다.