Memulai
Tips

Selamat menjelajah, kami menunggu suntingan Anda di Wikipedia bahasa Indonesia!

Welcome! If you do not understand the Indonesian language, you may want to visit the embassy or find users who speak your language. Enjoy!

--Pesan selamat datang ini dikirim dari bot. 20 Agustus 2020 02.35 (UTC)Balas

Tutorial Installasi/Compile FFMPEG (Software encoding) Pada Ubuntu

sunting

Tutorial ini mendukung sistem operasi Ubuntu,Debian atau Mint.
Tapi dalam hal ini saya akan mencoba memberi tutorial untuk installasi pada ubuntu server 18.04.

Dalam installasi ini, anda akan membuat beberapa folder pada 'home directory' ubuntu anda, antara lain :

1. ffmpeg_resources : merupakan folder tempat menyimpan semua hasil download resource
2. ffmpeg_build : merupakan tempat semua library yang dibutuhkan dalam installasi
3. bin : merupakan folder binaries yang berisi (ffmpeg, ffplay, ffprobe, x264, x265) dalam installasi

Ok langsung saja tutorialnya

Dapatkan Dependensi
Ada banyak paket yang diperlukan dalam installasi

sudo apt-get update -qq && sudo apt-get -y install \
 autoconf \
 automake \
 build-essential \
 cmake \
 git-core \
 libass-dev \
 libfreetype6-dev \
 libgnutls28-dev \
 libsdl2-dev \
 libtool \
 libva-dev \
 libvdpau-dev \
 libvorbis-dev \
 libxcb1-dev \
 libxcb-shm0-dev \
 libxcb-xfixes0-dev \
 pkg-config \
 texinfo \
 wget \
 yasm \
 zlib1g-dev

Buat folder/direktori baru pada home

mkdir -p ~/ffmpeg_sources ~/bin

Install NASM
Jika repositori pada ubuntu anda menyediakan nasm versi >= 2.13, maka bisa dilakukan installasi nasm sebagai berikut

sudo apt-get install nasm

Cara lain :

cd ~/ffmpeg_sources && \
wget https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.bz2 && \
tar xjvf nasm-2.14.02.tar.bz2 && \
cd nasm-2.14.02 && \
./autogen.sh && \
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" && \
make && \
make install

libx264
H.264 merupakan video encoder yang dibutuhkan pada saat install ffmpeg dengan mengkonfigurasi --enable-gpl --enable-libx24
Jika repositori pada ubuntu anda meyediakan libx264-dev dengan versi >= 118, maka bisa dilakukan installasi sebagai berikut

sudo apt-get install libx264-dev

Cara lain :

cd ~/ffmpeg_sources && \
git -C x264 pull 2> /dev/null || git clone --depth 1 https://code.videolan.org/videolan/x264.git && \
cd x264 && \
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static 
--enable-pic && \
PATH="$HOME/bin:$PATH" make && \
make install

libx265
H.265/HEVC merupakan video encoder lain yang dibutuhkan pada saat install ffmpeg dengan mengkonfigurasi --enable-gp --enable-libx265
Jika repositori ubuntu anda menyediakan libx265-dev versi >= 68, maka bisa dilakukan installasi sebagai berikut

sudo apt-get install libx265-dev libnuma-dev

Cara lain :

sudo apt-get install libnuma-dev && \
 cd ~/ffmpeg_sources && \
 git -C x265_git pull 2> /dev/null || git clone --depth 1 https://bitbucket.org/multicoreware/x265_git && \
 cd x265_git/build/linux && \
 PATH="$HOME/bin:$PATH" cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED=off ../../source && \
 PATH="$HOME/bin:$PATH" make && \
 make install

libvpx
VP8/VP9 video encoder/decoder yang dibutuhkan pada saat installasi ffmpeg dengan mengkonfigurasi --enable-libvpx
Jika repositori pada ubuntu anda menyediakan libvpx-dev >= 1.4.0, maka bisa dilakukan installasi sebagai berikut

sudo apt-get install libvpx-dev

Cara lain :

cd ~/ffmpeg_sources && \
git -C libvpx pull 2> /dev/null || git clone --depth 1 https://chromium.googlesource.com/webm/libvpx.git && \
cd libvpx && \
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm && \
PATH="$HOME/bin:$PATH" make && \
make install

libfdk-aac
AAC audio encoder yang dibutuhkan pada saat installasi ffmpeg dengan mengkonfigurasi --enable-libfdk-aac --enable-nonfree --enable-gpl
Jika repositori pada ubuntu anda menyediakan libfdk-aac-dev, maka bisa dilakukan installasi sebagai berikut

sudo apt-get install libfdk-aac-dev

Cara lain :

cd ~/ffmpeg_sources && \
git -C fdk-aac pull 2> /dev/null || git clone --depth 1 https://github.com/mstorsjo/fdk-aac && \
cd fdk-aac && \
autoreconf -fiv && \
./configure --prefix="$HOME/ffmpeg_build" --disable-shared && \
make && \
make install

libmp3lame
MP3 audio encoder yang dibutuhkan pada saat installasi ffmpeg dengan mengkonfigurasi --enable-libmp3lame
Jika repositori pada ubuntu anda menyediakan libmp3lame-dev >= 3.98.3, maka bisa dilakukan installasi sebagai berikut

sudo apt-get install libmp3lame-dev

Cara lain :

cd ~/ffmpeg_sources && \
wget -O lame-3.100.tar.gz https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz && \
tar xzvf lame-3.100.tar.gz && \
cd lame-3.100 && \
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm && \
PATH="$HOME/bin:$PATH" make && \
make install

libopus
Opus audio decoder and encoder yang dibutuhkan pada saat installasi ffmpeg dengan mengkonfigurasi --enable-libopus
Jika repositori pada ubuntu anda menyediakan libopus-dev versi >- 1.1, maka bisa dilakukan installasi sebagai berikut

sudo apt-get install libopus-dev

Cara lain :

cd ~/ffmpeg_sources && \
git -C opus pull 2> /dev/null || git clone --depth 1 https://github.com/xiph/opus.git && \
cd opus && \
./autogen.sh && \
./configure --prefix="$HOME/ffmpeg_build" --disable-shared && \
make && \
make install

Konfigurasi FFmpeg

cd ~/ffmpeg_sources && \
wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 && \
tar xjvf ffmpeg-snapshot.tar.bz2 && \
cd ffmpeg && \
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
 --prefix="$HOME/ffmpeg_build" \
 --pkg-config-flags="--static" \
 --extra-cflags="-I$HOME/ffmpeg_build/include" \
 --extra-ldflags="-L$HOME/ffmpeg_build/lib" \
 --extra-libs="-lpthread -lm" \
 --bindir="$HOME/bin" \
 --enable-gpl \
 --enable-gnutls \
 --enable-libass \
 --enable-libfdk-aac \
 --enable-libfreetype \
 --enable-libmp3lame \
 --enable-libopus \
 --enable-libvorbis \
 --enable-libvpx \
 --enable-libx264 \
 --enable-libx265 \
 --enable-nonfree && \
PATH="$HOME/bin:$PATH" make && \
make install && \
hash -r

Install FFmpeg
FFmpeg merupakan bagian dari paket dalam ubuntu, tapi mungkin anda masih perlu untuk konfigurasi/compile dengan cara seperti di atas.
Untuk menginstall FFmpeg silahkan jalankan perintah berikut pada terminal anda

apt-get install ffmpeg

Untuk mengecek apakah FFmpeg sudah terinstall, bisa jalankan perintah berikut

ffmpeg --version

Jika muncul informasi kurang lebih seperti di bawah ini, maka proses installasi/compile telah selesai

ffmpeg version 3.4.8-0ubuntu0.2 Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
 configuration: --prefix=/usr --extra-version=0ubuntu0.2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu - -enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable- libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable- openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv -- enable-libx264 --enable-shared
 libavutil      55. 78.100 / 55. 78.100
 libavcodec     57.107.100 / 57.107.100
 libavformat    57. 83.100 / 57. 83.100
 libavdevice    57. 10.100 / 57. 10.100
 libavfilter     6.107.100 /  6.107.100
 libavresample   3.  7.  0 /  3.  7.  0
 libswscale      4.  8.100 /  4.  8.100
 libswresample   2.  9.100 /  2.  9.100
 libpostproc    54.  7.100 / 54.  7.100

Ok cukup sekian
SELAMAT MENCOBA!