Difference between revisions of "Ffmpeg: compile"
Onnowpurbo (talk | contribs) |
Onnowpurbo (talk | contribs) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
− | Compile FFmpeg | + | Compile FFmpeg di Ubuntu, Debian, atau Mint |
− | |||
− | + | ==Instalasi aplikasi pendukung== | |
− | + | ||
− | + | sudo apt-get update | |
− | + | sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev \ | |
− | + | libgpac-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev \ | |
− | + | libvorbis-dev libx11-dev libxext-dev libxfixes-dev pkg-config texi2html zlib1g-dev | |
− | + | ||
+ | mkdir -p ~/ffmpeg_sources | ||
− | + | Catatan: | |
− | + | Untuk server tidak perlu menginstalasi dependensi untuk ffplay dan x11 | |
− | + | libsdl1.2-dev libva-dev libvdpau-dev libx11-dev libxext-dev libxfixes-dev. | |
− | + | Untuk ubuntu versi barudapat menginstalasi lengkap dengan codec | |
− | |||
sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev \ | sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev \ | ||
libgpac-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev \ | libgpac-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev \ | ||
− | libvorbis-dev libx11-dev libxext-dev libxfixes-dev pkg-config texi2html zlib1g-dev | + | libvorbis-dev libx11-dev libxext-dev libxfixes-dev pkg-config texi2html zlib1g-dev \ |
+ | yasm libx264-dev libmp3lame-dev nasm libopus-dev | ||
− | |||
− | |||
− | |||
− | |||
− | |||
==Compilation & Installation== | ==Compilation & Installation== | ||
− | |||
− | + | Kita dapat mengcompile ffmpeg sesuai dengan kemauan kita. Kita dapat menghilangkan / skip bagian yang kita tidak perlukan di opsi ./configure saat mengcompile FFmpeg. Contoh, jika kita tidak memerlukan libopus skip bagian libopus dan buang --enable-libopus dari ./configure ffmpeg. | |
− | + | Manual ini akan membuat directory | |
− | |||
− | |||
− | + | ffmpeg_sources – dimana source file akan di download. | |
+ | ffmpeg_build – dimana file akan di built dan library di instalasi. | ||
+ | bin – dimana binary (ffmpeg, ffplay, ffserver, x264, and yasm) akan di instalasi. | ||
==Yasm== | ==Yasm== | ||
− | + | Assembler untuk optimisasi x86 digunakan oleh x264 dan FFmpeg. Sangat di sarankan agar build yang kita lakukan tidak terlalu lambat. | |
− | + | Jika repository kita dapat memberikan yasm package ≥ 1.3.0 maka kita dapat menginstalasi dengan cara: | |
sudo apt-get install yasm | sudo apt-get install yasm | ||
− | + | Atau kita dapat compile: | |
cd ~/ffmpeg_sources | cd ~/ffmpeg_sources | ||
Line 64: | Line 58: | ||
==libx264== | ==libx264== | ||
− | H.264 video encoder | + | H.264 video encoder. |
− | + | ffmpeg perlu di konfigurasi dengan --enable-gpl --enable-libx264. | |
− | + | Jika repository kita dapat memberi libx264-dev package ≥ 0.118 kita dapat menginstalasi: | |
sudo apt-get install libx264-dev | sudo apt-get install libx264-dev | ||
− | + | atau compile: | |
cd ~/ffmpeg_sources | cd ~/ffmpeg_sources | ||
Line 85: | Line 79: | ||
==libfdk-aac== | ==libfdk-aac== | ||
− | AAC audio encoder | + | AAC audio encoder. |
− | + | ffmpeg perlu di konfigurasi --enable-libfdk_aac (dan --enable-nonfree jika kita menggunakan --enable-gpl). | |
+ | |||
+ | Atau compile: | ||
sudo apt-get install unzip | sudo apt-get install unzip | ||
Line 104: | Line 100: | ||
MP3 audio encoder. | MP3 audio encoder. | ||
− | + | ffmpeg di konfigurasi dengan --enable-libmp3lame. | |
− | + | Jika repository dapat memberikan libmp3lame-dev package ≥ 3.98.3 kita dapat menginstalasi dengan: | |
sudo apt-get install libmp3lame-dev | sudo apt-get install libmp3lame-dev | ||
− | + | atau compile: | |
sudo apt-get install nasm | sudo apt-get install nasm | ||
Line 124: | Line 120: | ||
==libopus== | ==libopus== | ||
− | Opus audio decoder | + | Opus audio decoder & encoder. |
− | + | ffmpeg di konfiurasi dengan --enable-libopus. | |
− | + | Jika repository memberi libopus-dev package ≥ 1.1 kita dapat menggunakan | |
sudo apt-get install libopus-dev | sudo apt-get install libopus-dev | ||
− | + | atau: | |
cd ~/ffmpeg_sources | cd ~/ffmpeg_sources | ||
Line 145: | Line 141: | ||
==libvpx== | ==libvpx== | ||
− | VP8/VP9 video encoder | + | VP8/VP9 video encoder & decoder. |
− | + | ffmpeg di konfigurasi dengan --enable-libvpx. | |
+ | |||
+ | Atau compile: | ||
cd ~/ffmpeg_sources | cd ~/ffmpeg_sources | ||
Line 160: | Line 158: | ||
==ffmpeg== | ==ffmpeg== | ||
− | + | Catatan: untuk Server dapat men-skip --enable-x11grab (opsi ini untuk melakukan x11 screen grabbing). | |
cd ~/ffmpeg_sources | cd ~/ffmpeg_sources | ||
Line 188: | Line 186: | ||
hash -r | hash -r | ||
− | == | + | ==Penutup== |
− | + | Instalasi selesai dan ffmpeg siap digunakan. FFmpeg program ada di ~/bin. Untuk menggunakannya: | |
− | * | + | * Pindah ke ~/bin dan jalankan: |
− | cd ~/bin && ./ffmpeg -i ~/input.mp4 ~/videos/output.mkv ( | + | cd ~/bin && ./ffmpeg -i ~/input.mp4 ~/videos/output.mkv (perhatikan ./) |
− | * | + | * Atau menggunakan full path: |
/home/yourusername/bin/ffmpeg -i ../input.mp4 ../videos/output.mkv | /home/yourusername/bin/ffmpeg -i ../input.mp4 ../videos/output.mkv | ||
− | + | Atau yang lebih sederhana jalankan langsung perintah ffmpeg. | |
+ | |||
==Persistent Environment Variables== | ==Persistent Environment Variables== | ||
− | + | Agar ffmpeg dapat langsung dijalankan tanpa pusing kepala | |
echo "MANPATH_MAP $HOME/bin $HOME/ffmpeg_build/share/man" >> ~/.manpath | echo "MANPATH_MAP $HOME/bin $HOME/ffmpeg_build/share/man" >> ~/.manpath | ||
. ~/.profile | . ~/.profile | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Updating FFmpeg== | ==Updating FFmpeg== | ||
− | + | Pengembangan FFmpeg sangat aktif dan kadang-kadang di update untuk memberikan fitur baru dan perbaikan. Pertama-tama kita perlu men-delete file lama: | |
rm -rf ~/ffmpeg_build ~/ffmpeg_sources \ | rm -rf ~/ffmpeg_build ~/ffmpeg_sources \ | ||
~/bin/{ffmpeg,ffprobe,ffserver,vsyasm,x264,yasm,ytasm} | ~/bin/{ffmpeg,ffprobe,ffserver,vsyasm,x264,yasm,ytasm} | ||
− | + | Kemudian ikuti lagi perintah dari awal. Atau yang lebih lengkap | |
− | |||
rm -rf ~/ffmpeg_build ~/ffmpeg_sources \ | rm -rf ~/ffmpeg_build ~/ffmpeg_sources \ | ||
Line 245: | Line 227: | ||
sed -i '/ffmpeg_build/c\' ~/.manpath | sed -i '/ffmpeg_build/c\' ~/.manpath | ||
hash -r | hash -r | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Latest revision as of 07:00, 20 November 2014
Compile FFmpeg di Ubuntu, Debian, atau Mint
Instalasi aplikasi pendukung
sudo apt-get update sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev \ libgpac-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev \ libvorbis-dev libx11-dev libxext-dev libxfixes-dev pkg-config texi2html zlib1g-dev
mkdir -p ~/ffmpeg_sources
Catatan:
Untuk server tidak perlu menginstalasi dependensi untuk ffplay dan x11
libsdl1.2-dev libva-dev libvdpau-dev libx11-dev libxext-dev libxfixes-dev.
Untuk ubuntu versi barudapat menginstalasi lengkap dengan codec
sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev \ libgpac-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev \ libvorbis-dev libx11-dev libxext-dev libxfixes-dev pkg-config texi2html zlib1g-dev \ yasm libx264-dev libmp3lame-dev nasm libopus-dev
Compilation & Installation
Kita dapat mengcompile ffmpeg sesuai dengan kemauan kita. Kita dapat menghilangkan / skip bagian yang kita tidak perlukan di opsi ./configure saat mengcompile FFmpeg. Contoh, jika kita tidak memerlukan libopus skip bagian libopus dan buang --enable-libopus dari ./configure ffmpeg.
Manual ini akan membuat directory
ffmpeg_sources – dimana source file akan di download. ffmpeg_build – dimana file akan di built dan library di instalasi. bin – dimana binary (ffmpeg, ffplay, ffserver, x264, and yasm) akan di instalasi.
Yasm
Assembler untuk optimisasi x86 digunakan oleh x264 dan FFmpeg. Sangat di sarankan agar build yang kita lakukan tidak terlalu lambat.
Jika repository kita dapat memberikan yasm package ≥ 1.3.0 maka kita dapat menginstalasi dengan cara:
sudo apt-get install yasm
Atau kita dapat compile:
cd ~/ffmpeg_sources 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 --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" make make install make distclean
libx264
H.264 video encoder.
ffmpeg perlu di konfigurasi dengan --enable-gpl --enable-libx264.
Jika repository kita dapat memberi libx264-dev package ≥ 0.118 kita dapat menginstalasi:
sudo apt-get install libx264-dev
atau compile:
cd ~/ffmpeg_sources wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2 tar xjvf last_x264.tar.bz2 cd x264-snapshot* PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static PATH="$HOME/bin:$PATH" make make install make distclean
libfdk-aac
AAC audio encoder.
ffmpeg perlu di konfigurasi --enable-libfdk_aac (dan --enable-nonfree jika kita menggunakan --enable-gpl).
Atau compile:
sudo apt-get install unzip cd ~/ffmpeg_sources wget -O fdk-aac.zip https://github.com/mstorsjo/fdk-aac/zipball/master unzip fdk-aac.zip cd mstorsjo-fdk-aac* autoreconf -fiv ./configure --prefix="$HOME/ffmpeg_build" --disable-shared make make install make distclean
libmp3lame
MP3 audio encoder.
ffmpeg di konfigurasi dengan --enable-libmp3lame.
Jika repository dapat memberikan libmp3lame-dev package ≥ 3.98.3 kita dapat menginstalasi dengan:
sudo apt-get install libmp3lame-dev
atau compile:
sudo apt-get install nasm cd ~/ffmpeg_sources wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz tar xzvf lame-3.99.5.tar.gz cd lame-3.99.5 ./configure --prefix="$HOME/ffmpeg_build" --enable-nasm --disable-shared make make install make distclean
libopus
Opus audio decoder & encoder.
ffmpeg di konfiurasi dengan --enable-libopus.
Jika repository memberi libopus-dev package ≥ 1.1 kita dapat menggunakan
sudo apt-get install libopus-dev
atau:
cd ~/ffmpeg_sources wget http://downloads.xiph.org/releases/opus/opus-1.1.tar.gz tar xzvf opus-1.1.tar.gz cd opus-1.1 ./configure --prefix="$HOME/ffmpeg_build" --disable-shared make make install make distclean
libvpx
VP8/VP9 video encoder & decoder.
ffmpeg di konfigurasi dengan --enable-libvpx.
Atau compile:
cd ~/ffmpeg_sources wget http://webm.googlecode.com/files/libvpx-v1.3.0.tar.bz2 tar xjvf libvpx-v1.3.0.tar.bz2 cd libvpx-v1.3.0 PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --disable-examples PATH="$HOME/bin:$PATH" make make install make clean
ffmpeg
Catatan: untuk Server dapat men-skip --enable-x11grab (opsi ini untuk melakukan x11 screen grabbing).
cd ~/ffmpeg_sources wget http://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" \ --extra-cflags="-I$HOME/ffmpeg_build/include" \ --extra-ldflags="-L$HOME/ffmpeg_build/lib" \ --bindir="$HOME/bin" \ --enable-gpl \ --enable-libass \ --enable-libfdk-aac \ --enable-libfreetype \ --enable-libmp3lame \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ --enable-libvpx \ --enable-libx264 \ --enable-nonfree \ --enable-x11grab PATH="$HOME/bin:$PATH" make make install make distclean hash -r
Penutup
Instalasi selesai dan ffmpeg siap digunakan. FFmpeg program ada di ~/bin. Untuk menggunakannya:
- Pindah ke ~/bin dan jalankan:
cd ~/bin && ./ffmpeg -i ~/input.mp4 ~/videos/output.mkv (perhatikan ./)
- Atau menggunakan full path:
/home/yourusername/bin/ffmpeg -i ../input.mp4 ../videos/output.mkv
Atau yang lebih sederhana jalankan langsung perintah ffmpeg.
Persistent Environment Variables
Agar ffmpeg dapat langsung dijalankan tanpa pusing kepala
echo "MANPATH_MAP $HOME/bin $HOME/ffmpeg_build/share/man" >> ~/.manpath . ~/.profile
Updating FFmpeg
Pengembangan FFmpeg sangat aktif dan kadang-kadang di update untuk memberikan fitur baru dan perbaikan. Pertama-tama kita perlu men-delete file lama:
rm -rf ~/ffmpeg_build ~/ffmpeg_sources \ ~/bin/{ffmpeg,ffprobe,ffserver,vsyasm,x264,yasm,ytasm}
Kemudian ikuti lagi perintah dari awal. Atau yang lebih lengkap
rm -rf ~/ffmpeg_build ~/ffmpeg_sources \ ~/bin/{ffmpeg,ffprobe,ffserver,vsyasm,x264,yasm,ytasm}
sudo apt-get autoremove autoconf automake build-essential libass-dev \ libfreetype6-dev libgpac-dev libmp3lame-dev libopus-dev libsdl1.2-dev \ libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libvpx-dev \ libx11-dev libx264-dev libxext-dev libxfixes-dev texi2html zlib1g-dev sed -i '/ffmpeg_build/c\' ~/.manpath hash -r