Tutorial ini dibuat untuk keperluan pribadi dengan serviio sebagai DLNA Server di ubuntu 12.04 dan kebetulan ffmpeg yang terinstall tidak support x265 atau HEVC. Oleh karena itu dengan modal nekat dan google akhirnya bisa juga compile nya di ffmpeg terbaru.
Pada saat tutorial ini dibuat linux yang dipakai adalah Ubuntu 12.04 dan Serviio 1.5, untuk build x265/HEVC dibutuhkan beberapa hal yang harus terpenuhi yaitu cmake minimal 2.8.8 dan yasm minimal 1.2, di ubuntu 12.04 versi yang ada di repository tidak memenuhi kriteria oleh karena itu kita harus melakukan compile versi tersebut.
Pertama - tama uninstall terlebih dahulu ffmpeg yang lama.
sudo apt-get remove ffmpeg x264 libx264-dev libvpx-dev librtmp0 librtmp-devNOTE :
Jika pada saat melakukan remove jumlahnya berkisar 500 Mb silakan di cancel dan hilangkan librtmp0 dari command diatas dan jalankan kembali command diatas.
Install tools yang diperlukan.
sudo apt-get updatesudo apt-get install build-essential checkinstall git libfaac-dev libjack-jackd2-dev \
libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev \
libva-dev libvdpau-dev libvorbis-dev libx11-dev libxfixes-dev texi2html zlib1g-dev \
libssl1.0.0 libssl-dev libxvidcore-dev libxvidcore4 libass-dev cmake mercurialBuild dan Install YASM
Rekomendasi yasm yang digunakan adalah 1.2 ke atas, di tutorial ini yang digunakan adalah yang terakhir yaitu yasm 1.3.
cd ~mkdir srccd srcwget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gztar xzvf yasm-1.3.0.tar.gzcd yasm-1.3.0./configuremakesudo checkinstall --pkgname=yasm --pkgversion="1.3.0" --backup=no \
--deldoc=yes --fstrans=no --defaultBuild dan Install CMAKE
Rekomendasi cmake yang digunakan adalah minimal 2.8.8 ke atas, di tutorial ini yang digunakan adalah yang terakhir yaitu cmake 3.1.2.
cd ~/srcwget http://www.cmake.org/files/v3.1/cmake-3.1.2.tar.gztar xzvf cmake-3.1.2.tar.gzcd cmake-3.1.2mkdir _buildcmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usrmakesudo make installsudo ldconfigcek versinya dengan command berikut
cmake --versionBuild dan Install x264
cd ~/srcgit clone git://git.videolan.org/x264cd x264./configure --enable-static --disable-openclmakesudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | \
awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes \
--fstrans=no --defaultcheck apabila telah terinstall x264
x264 --helpkalau sudah keluar helpnya maka terinstall dan tidak ada masalah
Build dan Install librtmp
cd ~/srcgit clone git://git.ffmpeg.org/rtmpdumpcd rtmpdumpmake SYS=posixsudo checkinstall --pkgname=rtmpdump --pkgversion="2:$(date +%Y%m%d%H%M)-git" --backup=no \
--deldoc=yes --fstrans=no --defaultBuild dan Install libvpx
cd ~/srcgit clone http://git.chromium.org/webm/libvpx.gitcd libvpxmakesudo checkinstall --pkgname=libvpx --pkgversion="1:$(date +%Y%m%d%H%M)-git" --backup=no \
--deldoc=yes --fstrans=no --defaultBuild dan Install x265/HEVC
cd ~/srchg clone http://hg.videolan.org/x265cd x265/build/linux./make-Makefiles.bashmakesudo make installcheck apabila telah terinstall x265
x265 --helpkalau sudah keluar helpnya maka terinstall dan tidak ada masalah, namun jika ada notif error seperti berikut
x265: error while loading shared libraries: libx265.so.45: cannot open shared object file: No such file or directorymaka solusinya adalah
cd /libsudo ln -s /usr/local/lib/libx265.so.45cd -untuk mengecek parameter apa yang di lihat tergantung errornya, contoh error diatas berhubungan dengan file libx265.so.45, silakan sesuaikan nama filenya jika berbeda.
Langkah selanjutnya adalah build FFMPEG
cd ~/srcgit clone --depth 1 git://git.videolan.org/ffmpegcd ffmpeg./configure --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb \
--enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 \
--enable-nonfree --enable-postproc --enable-version3 --enable-x11grab --enable-librtmp \
--enable-libxvid --enable-libass --enable-libx265 --enable-libvpxmakesudo checkinstall --pkgname=ffmpeg --pkgversion="99:$(date +%Y%m%d%H%M)-git" --backup=no \
--deldoc=yes --fstrans=no --defaultKetika FFMPEG telah terinstall selanjutnya kita build dan install x264 LAVF support
sudo apt-get remove x264cd ~/src/x264rm *.debmake distclean./configure --enable-static --disable-openclmakesudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | \
awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes \
--fstrans=no --defaultreboot Ubuntu anda
jika nanti muncul error ffmpeg: error while loading shared libraries: librtmp.so.1: cannot open shared object file: No such file or directory, lakukan langkah berikut
sudo nano /etc/ld.so.confadd baris berikut
include /usr/local/lib/save file dan ketik command berikut
sudo ldconfigreboot ubuntu anda
Untuk Mengetahui apakah FFMPEG anda telah support x265/HEVC jalankan command berikut
ffmpeg -codecs | grep -i hevcmaka hasilnya
libavutil 54. 18.100 / 54. 18.100
libavcodec 56. 21.102 / 56. 21.102
libavformat 56. 19.101 / 56. 19.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 10.100 / 5. 10.100
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
DEV.L. hevc H.265 / HEVC (High Efficiency Video Coding) (encoders: libx265 )selamat x265/HEVC sudah terinstall di ubuntu anda
Berikut maksud dari kode diatas
Codecs:
D..... = Decoding supported
.E.... = Encoding supported
..V... = Video codec
..A... = Audio codec
..S... = Subtitle codec
...I.. = Intra frame-only codec
....L. = Lossy compression
.....S = Lossless compressionLink Referensi :
http://wiki.serviio.org/doku.php?id=build_ffmpeg_linux http://www.rover12421.com/
comments powered by Disqus