태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

[Media] FFMPEG에 x265 encoding 활성화 방법

Posted on 2014.05.19 00:53
Filed Under Development

  • 이 글은 www.jakeworld.net 에서 작성되었습니다.

  • 퍼가실 때에는 이 박스와 함께 복사해주세요.


FFMPEG 에 x265 library를 활성화하여 hevc encoding을 할 수 있는 환경을 준비하는 방법에 대해 알아봅시다.


준비물:

1. Linux host

2. libx265 source

3. FFMPEG source



[preparing libx265]


본인이 mercurial or tortoiseHG 를 사용한다면 아래 repo를 끌어옵니다.

Console >> hg clone https://bitbucket.org/multicoreware/x265


없다면...

URL >> https://bitbucket.org/multicoreware/x265/downloads

으로 접속해서 Tag tab에서 태깅된 버전을 받습니다.

git-hub 경우는 snapshot 을 압축해서 받아올 수 있는데 bitbucket은 그런게 안보이네요.


압축을 푼 이후 x265/build/linux 로 이동 후 아래 명령을 수행합니다.

./make-Makefiles.bash

make

make install



[preparing FFMPEG]


다음은 FFMPEG 을 준비합니다.

준비된 libx265 라이브러리와 연동하기 위한 FFMPEG을 새로 빌드해야 하기 때문에 소스가 필요합니다.


본인이 git를 사용한다면... 아래 repo를 끌어옵니다.

Console >> git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg


없다면...

URL >>  http://git.videolan.org/?p=ffmpeg.git;a=snapshot;h=HEAD;sf=tgz

으로 접속하면 현재 repo상의 HEAD revision의 snapshot을 받아서 풀어줍니다.


압축을 푼 ffmpeg 최상위 경로에서 아래 명령을 수행합니다.

<필요한 코덱이 있다면 configure 시 추가 해주세요>


./configure --prefix=/usr/local --enable-gpl --enable-nonfree --enable-libopus --enable-libvpx --enable-libvidstab --enable-libx265


make

make install


이후 빌드된 ffmpeg을 통해 다음과 같은 명령어로 encoding 이 가능합니다.

ffmpeg -i input.mp4 -c:v libx265 output.mkv


configure시 pkg-config 를 통해 libx265를 찾는데 인식하지 못할 경우 /usr/local/lib/pkgconfig의 *.pc 파일들을 /usr/lib/pkgconfig로 복사해주시면 해결될겁니다.




사족1> 현재 기준으로 mkv 와 mp4 는 지원합니다. ts는 테스트하진 못했지만, 현재 FFMPEG TS muxer 소스에 hevc stream type이 추가되지 않은 상태라 소스상에 추가만 해준다면 되지 않을까 싶네요. 이래도 안된다면 bitstream filter 소스 확인이 필요할 듯 합니다. (아마 Parameter NAL unit이 포함된 extra data의 전체 구조가 h264와 별 다른게 없어서 bitstream filter가 호환이 되지 않을까 싶습니다만)  최신 리비전에서 TS muxer에 hevc stream type 추가 확인하였습니다.


사족2> libx265 의 퍼포먼스는 참담합니다. 정말... 안타까울 정도로 느려요. libx264 생각하시면 안되요.

신고

댓글을 달아 주세요

About



모바일 페이지 QR 코드

Counter

· Total
: 466,357
· Today
: 49
· Yesterday
: 64


DNS server, DNS service