Kako instalirati FFmpeg u Linux


FFmpeg je jedan od najboljih multimedijalnih okvira koji sadrži različite 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 konvertirati između različitih formata datoteka, ffserver > može se koristiti za prijenos uživo i ffprobe može analizirati multimedijalni stream.

Ovaj okvir je zaista moćan zbog raznolikosti dostupnih alata, koji pružaju najbolje tehničko rješenje za korisnika. Prema opisu FFmpeg na službenoj web stranici, razlog za tako odličan multimedijalni okvir je kombinacija najboljih dostupnih besplatnih softverskih opcija.

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

Vrlo sam siguran da će vam ovaj okvir biti vrlo koristan kada želite da napravite neki 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 videozapisa, ili čak njihovo skaliranje.

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

  • dekodiranje multimedijalnih datoteka
  • kodiranje multimedijalnih datoteka
  • transkodirajte multimedijalne datoteke
  • mux multimedijalnih datoteka
  • demux multimedijalne datoteke
  • stream multimedijalnih datoteka
  • filtrirati multimedijalne datoteke
  • reprodukujte multimedijalne fajlove

Uzeću jedan primjer, vrlo jednostavan. Sljedeća komanda će pretvoriti vaš mp4 fajl u avi fajl, jednostavno kao što je to.

ffmpeg -i Lone_Ranger.mp4 Lone_Ranger.avi

Gornja naredba je korisna samo za objašnjenje, ne preporučuje se korištenje u praksi jer kodek, bitrate i druge specifičnosti nisu deklarirani.

U sljedećem dijelu ćemo vježbati s nekim od alata FFmpeg multimedijalnog okvira, ali prije toga moramo ih instalirati u našu Linux kutiju.

Kako instalirati FFmpeg Multimedia Framework u Linux

Budući da su FFmpeg paketi ponuđeni za najčešće korištene Linux distribucije i instalacija će biti relativno laka. Počnimo s instalacijom okvira FFmpeg u distribucijama zasnovanim na Ubuntu.

Instalirajte FFmpeg na Ubuntu i Linux Mint

Instalirat ću FFmpeg iz zadanih spremišta. Otvorite novi terminal (CTRL+ALT+T), a zatim pokrenite sljedeće naredbe.

sudo apt update
sudo apt install ffmpeg
ffmpeg -version

Instalirajte FFmpeg na Debian

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

sudo apt update
sudo apt install ffmpeg
ffmpeg -version

Instalirajte FFmpeg na CentOS i RHEL

Da instalirate FFmpeg na CentOS i RHEL distribucije, morate omogućiti EPEL i RPM Fusion spremište na sistemu koristeći sljedeće komande.

Da instalirate i omogućite EPEL, koristite sljedeću naredbu.

yum install epel-release

Da instalirate i omogućite RPM Fusion, koristite 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 omogućavanja spremišta, pokrenite sljedeću naredbu da instalirate FFmpeg:

yum install ffmpeg ffmpeg-devel
ffmpeg -version

Instalirajte FFmpeg na Fedora

Na Fedori, trebate instalirati i omogućiti RPM Fusion da instalirate 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 kompajliranje iz izvora

Kompajliranje softvera iz izvora nije najlakša stvar na svijetu, ali s pravim uputstvima, moći ćemo to učiniti. Prvo, uvjerite se da vaš sistem ispunjava sve ovisnosti. Instalacija ovih ovisnosti može se obaviti uz pomoć sljedećih naredbi.

Prvo recite sistemu da povuče najnovije pakete.

sudo apt-get update

Instalirajte zavisnosti sa 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 koristite sljedeću naredbu da kreirate novi direktorij za FFmpeg izvore. Ovo je direktorij u koji će se preuzeti izvorni fajlovi.

mkdir ~/ffmpeg_sources

Sada kompajlirajte i instalirajte yasm asembler koji koristi FFmpeg tako što ćete pokrenuti sljedeće komande.

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 razne enkodere koji će se koristiti sa specifičnim FFmpeg alatima. Koristite sljedeće komande da instalirate H.264 video koder.

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 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 enkodere, obavezno uklonite '–enable-encoder_name' iz gornjeg '. /configure' tako da se instalacija obavi bez problema.

Postoji mnogo enkodera koje možete instalirati, ali za svrhu ovog članka neću ih sve instalirati, ali ih možete instalirati koristeći sljedeće službene vodiče.

  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 najnovijim vijestima o FFmpeg multimedijskom okviru i pokazali im kako da ga instaliraju na svoje Linux mašine. Sljedeći dio će se u potpunosti odnositi na učenje kako koristiti zadivljujuće alate unutar ovog vodećeg multimedijalnog okvira.

Ažuriranje: Objavljen je 2. dio ove serije FFmpeg, koji pokazuje korisnu upotrebu ffmpeg komandne linije za izvođenje različitih audio, video i Procedure konverzije slike: 15 korisnih 'FFmpeg' naredbi za video, audio i konverziju slike u Linuxu.