반응형

이전에 관련 글을 작성하였지만,

이런저런 삽질을 통해 성공한 경험을 바탕으로

좀더 정리된 내용을 정리하고자 한다.

ffserver에서 libx264코덱을 이용하도록 하기 위해,

다음 두 사이트를 참고하였다.


  1. ffserver란
    • ffserver는 ffmpeg에 포함되어 있는 영상서버 프로그램이며, 다수의 사용자들에게 영상을 전송할 수 있도록 해주는 기능을 한다.
  2. Windows용 ffserver 빌드
    • ffserver는 Linux용이지만, Cygwin, Mingw등과 같은 툴을 통해 Windows에서도 빌드할 수 있다.(여기서는 Cygwin 사용)
    • 준비 단계
      • 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
  3. 필요한 파일들을 가져다가 사용
    • 필요 파일들
      • 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
    • 위의 파일들을 같은 폴더에 복사해서 실행하면 된다.


반응형

+ Recent posts