Kako instalirati FFmpeg u Linuxu


FFmpeg jedan je od najboljih multimedijskih okvira koji sadrži razne alate za različite zadatke. Na primjer, ffplay je prijenosni media player koji se može koristiti za reprodukciju audio/video datoteka, ffmpeg može pretvarati različite formate datoteka, ffserver može se koristiti za strujanje prijenosa uživo, a ffprobe može analizirati multimedijski tok.

Ovaj okvir je stvarno moćan zbog raznolikosti dostupnih alata, koji pružaju najbolja tehnička rješenja za korisnika. Prema opisu FFmpeg na službenoj web stranici, razlog za postojanje tako sjajnog multimedijskog okvira je kombinacija najboljih dostupnih opcija besplatnog softvera.

Okvir FFmpeg nudi visoku sigurnost, a razlog za to je ozbiljnost programera kada pregledavaju kod, to se uvijek radi imajući na umu sigurnost.

Siguran sam da će vam ovaj okvir biti vrlo koristan kada želite izvoditi digitalni audio i video streaming ili snimanje. Postoje mnoge druge praktične stvari koje možete učiniti uz pomoć okvira FFmpeg kao što je pretvaranje vaše wav datoteke u mp3, kodiranje i dekodiranje vaših videozapisa ili čak njihovo skaliranje.

Prema službenoj web stranici, FFmpeg može učiniti sljedeće.

  • dekodirati multimedijske datoteke
  • kodirati multimedijske datoteke
  • transcode multimedijskih datoteka
  • mux multimedijske datoteke
  • demux multimedijske datoteke
  • strujanje multimedijskih datoteka
  • filtrirati multimedijske datoteke
  • reproducirati multimedijske datoteke

Uzet ću primjer, vrlo jednostavan. Sljedeća naredba pretvorit će vašu mp4 datoteku u avi datoteku, jednostavno.

ffmpeg -i Lone_Ranger.mp4 Lone_Ranger.avi

Gornja naredba je korisna samo za objašnjenje, ne preporuča se koristiti u praksi jer kodek, bitrate i druge specifičnosti nisu deklarirane.

U sljedećem ćemo dijelu vježbati s nekim od FFmpeg multimedia framework alata, no prije toga ih moramo instalirati u naš Linux box.

Kako instalirati FFmpeg Multimedia Framework u Linux

Budući da se paketi FFmpeg nude za najčešće korištene distribucije Linuxa, instalacija će biti relativno laka. Počnimo s instalacijom okvira FFmpeg u distribucijama temeljenim na Ubuntuu.

Instalirajte FFmpeg na Ubuntu i Linux Mint

Instalirat ću FFmpeg iz zadanih repozitorija. Otvorite novi terminal (CTRL+ALT+T) i zatim pokrenite sljedeće naredbe.

sudo apt update
sudo apt install ffmpeg
ffmpeg -version

Instalirajte FFmpeg na Debian

Paket FFmpeg uključen je u službena Debianova spremišta i može se instalirati pomoću upravitelja paketima kao što je prikazano.

sudo apt update
sudo apt install ffmpeg
ffmpeg -version

Instalirajte FFmpeg na CentOS i RHEL

Da biste instalirali FFmpeg na CentOS i RHEL distribucije, trebate omogućiti EPEL i RPM Fusion repozitorij na sustavu pomoću sljedećih naredbi.

Da biste instalirali i omogućili EPEL, koristite sljedeću naredbu.

yum install epel-release

Da biste instalirali i omogućili RPM Fusion, upotrijebite sljedeću naredbu na vašoj verziji distribucije.

-------------- On CentOS & RHEL 8.x -------------- 
yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm

-------------- On CentOS & RHEL 7.x -------------- 
yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm

-------------- On CentOS & RHEL 6.x --------------
yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-6.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-6.noarch.rpm

Nakon što omogućite repozitorije, pokrenite sljedeću naredbu za instalaciju FFmpeg:

yum install ffmpeg ffmpeg-devel
ffmpeg -version

Instalirajte FFmpeg na Fedoru

Na Fedori trebate instalirati i omogućiti RPM Fusion da biste instalirali FFmpeg kao što je prikazano.

sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install ffmpeg ffmpeg-devel
ffmpeg -version

Instalirajte FFmpeg na Arch Linux

sudo pacman -S ffmpeg
yay -S ffmpeg-git
yay -S ffmpeg-full-git
ffmpeg -version

Instalirajte FFmpeg na openSUSE

-------------- On openSUSE Tumbleweed --------------
sudo zypper addrepo -cfp 90 'https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/' packman
sudo zypper refresh
sudo zypper install --from packman ffmpeg
ffmpeg -version

-------------- On openSUSE Leap --------------
sudo zypper addrepo -cfp 90 'https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_$releasever/' packman
sudo zypper refresh
sudo zypper install --from packman ffmpeg
ffmpeg -version

FFmpeg Prevođenje iz izvora

Sastavljanje softvera iz izvora nije najlakša stvar na svijetu, ali uz prave upute, moći ćemo to učiniti. Prvo provjerite zadovoljava li vaš sustav sve ovisnosti. Instalacija ovih ovisnosti može se izvršiti uz pomoć sljedećih naredbi.

Prvo, recite sustavu da skine najnovije pakete.

sudo apt-get update

Instalirajte ovisnosti sljedećom naredbom.

-------------- On Debian & Ubuntu --------------
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
-------------- On CentOS and RHEL --------------
yum install glibc gcc gcc-c++ autoconf automake libtool git make nasm pkgconfig SDL-devel \
a52dec a52dec-devel alsa-lib-devel faac faac-devel faad2 faad2-devel freetype-devel giflib gsm gsm-devel \
imlib2 imlib2-devel lame lame-devel libICE-devel libSM-devel libX11-devel libXau-devel libXdmcp-devel \
libXext-devel libXrandr-devel libXrender-devel libXt-devel libogg libvorbis vorbis-tools mesa-libGL-devel \
mesa-libGLU-devel xorg-x11-proto-devel zlib-devel libtheora theora-tools ncurses-devel libdc1394 libdc1394-devel \
amrnb-devel amrwb-devel opencore-amr-devel

Zatim upotrijebite sljedeću naredbu za stvaranje novog direktorija za FFmpeg izvore. Ovo je direktorij u koji će se preuzimati izvorne datoteke.

mkdir ~/ffmpeg_sources

Sada prevedite i instalirajte yasm asembler koji koristi FFmpeg izvođenjem sljedećih naredbi.

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
export "PATH=$PATH:$HOME/bin"

Nakon što ste uspješno instalirali asembler yasm vrijeme je da instalirate neke različite kodere koji će se koristiti s određenim FFmpeg alatima. Koristite sljedeće naredbe za instaliranje H.264 videokodera.

cd ~/ffmpeg_sources
wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
tar xjvf last_x264.tar.bz2
cd x264-snapshot*
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
make
make install
make distclean

Još jedan lijep i koristan koder je libfdk-aac AAC audio koder.

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

Instalirajte libopus audio dekoder i koder.

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

Sada je vrijeme da instalirate ffmpeg iz izvora.

cd ~/ffmpeg_sources
wget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar xjvf ffmpeg-snapshot.tar.bz2
cd ffmpeg
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"
export PKG_CONFIG_PATH
./configure --prefix="$HOME/ffmpeg_build" --extra-cflags="-I$HOME/ffmpeg_build/include" \
   --extra-ldflags="-L$HOME/ffmpeg_build/lib" --bindir="$HOME/bin" --extra-libs="-ldl" --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
make
make install
make distclean
hash -r

Napomena: Ako niste instalirali određene kodere, svakako uklonite '–enable-encoder_name' iz gornjeg '. /configure' tako da se instalacija obavlja bez problema.

Postoji mnogo kodera koje možete instalirati, ali u svrhu ovog članka neću ih sve instalirati, ali možete ih instalirati pomoću sljedećih službenih vodiča.

  1. Vodič za kompilaciju FFmpeg za Ubuntu
  2. Vodič za kompilaciju FFmpeg za CentOS

Zaključak

U ovom prvom dijelu, ažurirali smo naše čitatelje s najnovijim vijestima u skladu s multimedijskim okvirom FFmpeg i pokazali im kako ga instalirati na svoje Linux strojeve. Sljedeći dio bit će posve o učenju kako koristiti nevjerojatne alate unutar ovog vodećeg multimedijskog okvira.

Ažuriranje: Objavljen je 2. dio ove FFmpeg serije, koji pokazuje korisnu upotrebu ffmpeg naredbenog retka za izvođenje raznih audio, video i postupci pretvorbe slike: 15 korisnih 'FFmpeg' naredbi za pretvorbu videa, zvuka i slike u Linuxu.