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-dev
NOTE :
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 update
sudo 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 mercurial
Build 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 src
cd src
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xzvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make
sudo checkinstall --pkgname=yasm --pkgversion="1.3.0" --backup=no \
--deldoc=yes --fstrans=no --default
Build 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 ~/src
wget http://www.cmake.org/files/v3.1/cmake-3.1.2.tar.gz
tar xzvf cmake-3.1.2.tar.gz
cd cmake-3.1.2
mkdir _build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr
make
sudo make install
sudo ldconfig
cek versinya dengan command berikut
cmake --version
Build dan Install x264
cd ~/src
git clone git://git.videolan.org/x264
cd x264
./configure --enable-static --disable-opencl
make
sudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | \
awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes \
--fstrans=no --default
check apabila telah terinstall x264
x264 --help
kalau sudah keluar helpnya maka terinstall dan tidak ada masalah
Build dan Install librtmp
cd ~/src
git clone git://git.ffmpeg.org/rtmpdump
cd rtmpdump
make SYS=posix
sudo checkinstall --pkgname=rtmpdump --pkgversion="2:$(date +%Y%m%d%H%M)-git" --backup=no \
--deldoc=yes --fstrans=no --default
Build dan Install libvpx
cd ~/src
git clone http://git.chromium.org/webm/libvpx.git
cd libvpx
make
sudo checkinstall --pkgname=libvpx --pkgversion="1:$(date +%Y%m%d%H%M)-git" --backup=no \
--deldoc=yes --fstrans=no --default
Build dan Install x265/HEVC
cd ~/src
hg clone http://hg.videolan.org/x265
cd x265/build/linux
./make-Makefiles.bash
make
sudo make install
check apabila telah terinstall x265
x265 --help
kalau 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 directory
maka solusinya adalah
cd /lib
sudo ln -s /usr/local/lib/libx265.so.45
cd -
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 ~/src
git clone --depth 1 git://git.videolan.org/ffmpeg
cd 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-libvpx
make
sudo checkinstall --pkgname=ffmpeg --pkgversion="99:$(date +%Y%m%d%H%M)-git" --backup=no \
--deldoc=yes --fstrans=no --default
Ketika FFMPEG telah terinstall selanjutnya kita build dan install x264 LAVF support
sudo apt-get remove x264
cd ~/src/x264
rm *.deb
make distclean
./configure --enable-static --disable-opencl
make
sudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | \
awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes \
--fstrans=no --default
reboot 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.conf
add baris berikut
include /usr/local/lib/
save file dan ketik command berikut
sudo ldconfig
reboot ubuntu anda
Untuk Mengetahui apakah FFMPEG anda telah support x265/HEVC jalankan command berikut
ffmpeg -codecs | grep -i hevc
maka 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 compression
Link Referensi :
http://wiki.serviio.org/doku.php?id=build_ffmpeg_linux http://www.rover12421.com/
comments powered by Disqus