반응형
이전에 관련 글을 작성하였지만,
이런저런 삽질을 통해 성공한 경험을 바탕으로
좀더 정리된 내용을 정리하고자 한다.
ffserver에서 libx264코덱을 이용하도록 하기 위해,
다음 두 사이트를 참고하였다.
- ffserver란
- ffserver는 ffmpeg에 포함되어 있는 영상서버 프로그램이며, 다수의 사용자들에게 영상을 전송할 수 있도록 해주는 기능을 한다.
- Windows용 ffserver 빌드
- ffserver는 Linux용이지만, Cygwin, Mingw등과 같은 툴을 통해 Windows에서도 빌드할 수 있다.(여기서는 Cygwin 사용)
- 준비 단계
- Cygwin 다운로드 : https://cygwin.com/install.html
- NASM 다운로드 : http://www.nasm.us/
- libx264 다운로드 : https://www.videolan.org/developers/x264.html
- 진행 순서
- 다음과 같은 순서로 진행한다.
- Cygwin 설치
- setup-x86_64 실행
- Choose A Download Site 화면에서, http://ftp.daum.net와 같은 국내 서버를 선택하는 것이 속도 면에서 좋다.
- Select Packages에서 Devel Category를 펼친다음 아래 항목들 선택(Search에 입력하여 검색 가능)
- gcc-core, gcc-g++, git, make, yasm
- Editors에서 vim을 선택
- [다음(N)]을 계속 눌러 설치 완료
- libx264 압축해제 후, Cygwin 디렉토리에 복사
- 7zip 등을 이용해 2단계에 걸쳐 압축 해제
- x264-snapshot-xxxxxxxx-xxxx폴더를 편의상 x264로 이름 변경
- C:\cygwin64\home\[UserName]폴더에 복사
- NASM 설치
- libx264 빌드
- Cygwin64 Terminal 실행
- 터미널 화면에서,
- NASM 경로 설정
- PATH=[NASM경로]:$PATH
- 설정 변경
- cd x264
- ./configure --enable-shared --disable-avs
- (이렇게 해서 avs를 제외하지 않으면, AVS 관련 파일에서 컴파일 에러가 난다.)
- make & install 하기
- make
- make install
- ffmpeg 빌드
- 터미널 화면에서,
- git 설정 변경
- git config --global core.autocrlf false
- ffmpeg 다운로드
- git clone --branch n3.1.11 https://git.ffmpeg.org/ffmpeg.git
- (ffserver가 ffmpeg3.2 버전부터는 중단되므로, 3.1.x버전을 다운로드 받아야 한다.)
- (현재 3.1.x 최신버전은 3.1.11이므로, 3.1.11 버전을 다운로드한다.)
- ffmpeg 폴더로 이동
- cd ffmpeg
- 설정 변경(libx264코덱 사용 설정 포함)
- ./configure --prefix=../ffmpeg-3.1.11 --enable-gpl --enable-libx264 --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib
- config 헤더파일 수정(빌드시 에러 방지 위해)
- vi config.h
- (vim 사용법 요약 : i 누르면 입력(끼워넣기)모드, ESC누르면 커서이동모드, 커서이동모드에서는 / 입력 후 검색할 단어 입력 가능, 커서이동모드에서 : 입력 후 wq 입력후 엔터키를 누르면 저장 후 종료)
- HAVE_ARC4RANDOM의 값을 1에서 0으로 수정 (링크에서 나는 에러 패치)
- #ifndef 다음라인(약 3~4번째 라인)에 _XOPEN_SOURCE 700 추가 (sigaction 함수선언 문제 해결)
- 저장 후 종료
- make & install 하기
- make
- make -j5를 하면 더 빨리 빌드됨(-j 옵션은 동시빌드 개수)
- make install
- 필요한 파일들을 가져다가 사용
- 필요 파일들
- ffmpeg.exe
- ffserver.exe
- ffprobe.exe
- libx264-152.dll
- cygwin1.dll
- 파일 원본 위치 :
- C:\cygwin64\home\[UserName]\ffmpeg-3.1.11\bin
- C:\cygwin64\home\[UserName]\x264
- C:\cygwin64\bin
- 위의 파일들을 같은 폴더에 복사해서 실행하면 된다.
반응형
'영상처리 프로젝트' 카테고리의 다른 글
OpenCV Python 기본 환경 (0) | 2018.03.25 |
---|---|
ffserver와 OpenCV를 통한 영상서버 구축 2 (0) | 2017.11.08 |
ffserver와 OpenCV를 통한 영상서버 구축 1 (0) | 2017.06.15 |
신규 떨림보정(자유도 4, 자유도 2) 테스트 (0) | 2016.12.22 |
OpenCV 2.x와 3.x의 차이 (0) | 2016.10.20 |