Zoeken op website

Hoe FFmpeg onder Linux te installeren


FFmpeg is een van de beste multimediaframeworks die verschillende tools voor verschillende taken bevat. De ffplay is bijvoorbeeld een draagbare mediaspeler die kan worden gebruikt om audio-/videobestanden af te spelen, ffmpeg kan converteren tussen verschillende bestandsformaten, ffserver kan worden gebruikt om live-uitzendingen te streamen en ffprobe kan multimediastreams analyseren.

Dit raamwerk is erg krachtig vanwege de diversiteit aan beschikbare tools, die de gebruiker de beste technische oplossing bieden. Volgens de beschrijving van FFmpeg op de officiële website is de reden voor het hebben van zo'n geweldig multimediaframework de combinatie van de beste vrije software-opties die beschikbaar zijn.

Het FFmpeg-framework biedt een hoge mate van beveiliging en de reden hiervoor is de ernst van de ontwikkelaars wanneer zij de code beoordelen. Dit gebeurt altijd met de veiligheid in gedachten.

Ik ben er zeker van dat je dit raamwerk erg handig zult vinden als je wat digitale audio- en videostreaming of -opname wilt doen. Er zijn veel andere praktische dingen die u kunt doen met behulp van het FFmpeg-framework, zoals het converteren van uw wav-bestand naar een mp3-bestand, het coderen en decoderen van uw video's, of ze zelfs schalen.

Volgens de officiële website kan FFmpeg het volgende doen.

  • multimediabestanden decoderen
  • multimediabestanden coderen
  • multimediabestanden transcoderen
  • mux-multimediabestanden
  • demux-multimediabestanden
  • multimediabestanden streamen
  • multimediabestanden filteren
  • multimediabestanden afspelen

Laat ik een voorbeeld nemen, een heel eenvoudig voorbeeld. De volgende opdracht converteert uw mp4-bestand naar een avi-bestand, zo simpel is het.

ffmpeg -i Lone_Ranger.mp4 Lone_Ranger.avi

Het bovenstaande commando is alleen nuttig ter uitleg. Het wordt niet aanbevolen om in de praktijk te gebruiken omdat de codec, bitrate en andere details niet worden aangegeven.

In het volgende deel zullen we oefenen met enkele van de FFmpeg multimedia framework-tools, maar voordat we dat doen, moeten we ze in onze Linux-box installeren.

Hoe FFmpeg Multimedia Framework onder Linux te installeren

Omdat de FFmpeg pakketten worden aangeboden voor de meest gebruikte Linux-distributies, zal de installatie relatief eenvoudig zijn. Laten we beginnen met de installatie van het FFmpeg-framework in op Ubuntu gebaseerde distributies.

Installeer FFmpeg op Ubuntu en Linux Mint

Ik zal FFmpeg installeren vanuit de standaardrepository's. Open een nieuwe terminal (CTRL+ALT+T) en voer vervolgens de volgende opdrachten uit.

sudo apt update
sudo apt install ffmpeg
ffmpeg -version

Installeer FFmpeg op Debian

Het FFmpeg-pakket is opgenomen in de officiële Debian-repository's en kan worden geïnstalleerd met behulp van de pakketbeheerder, zoals weergegeven.

sudo apt update
sudo apt install ffmpeg
ffmpeg -version

Installeer FFmpeg op CentOS en RHEL

Om FFmpeg op CentOS en RHEL distributies te installeren, moet je EPEL en RPM Fusion inschakelen repository op het systeem met behulp van de volgende opdrachten.

Gebruik de volgende opdracht om EPEL te installeren en in te schakelen.

yum install epel-release

Om RPM Fusion te installeren en in te schakelen, gebruikt u de volgende opdracht op uw distributieversie.

-------------- 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

Nadat u de opslagplaatsen hebt ingeschakeld, voert u de volgende opdracht uit om FFmpeg te installeren:

yum install ffmpeg ffmpeg-devel
ffmpeg -version

Installeer FFmpeg op Fedora

Op Fedora moet je RPM Fusion installeren en inschakelen om FFmpeg te installeren, zoals weergegeven.

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

Installeer FFmpeg op Arch Linux

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

Installeer FFmpeg op 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 compileren vanaf de bron

Het compileren van software vanuit een bron is niet de gemakkelijkste zaak van de wereld, maar met de juiste instructies kunnen we het doen. Zorg er eerst voor dat uw systeem aan alle afhankelijkheden voldoet. De installatie van deze afhankelijkheden kan worden gedaan met behulp van de volgende opdrachten.

Vertel het systeem eerst om de nieuwste pakketten op te halen.

sudo apt-get update

Installeer de afhankelijkheden met de volgende opdracht.

-------------- 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

Gebruik vervolgens de volgende opdracht om een nieuwe map voor de FFmpeg-bronnen te maken. Dit is de map waar de bronbestanden worden gedownload.

mkdir ~/ffmpeg_sources

Compileer en installeer nu de yasm assembler die door FFmpeg wordt gebruikt door de volgende opdrachten uit te voeren.

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"

Nadat je de yasm assembler met succes hebt geïnstalleerd, is het tijd om een aantal verschillende encoders te installeren die gebruikt zullen worden met de specifieke FFmpeg-tools. Gebruik de volgende opdrachten om de H.264 video-encoder te installeren.

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

Een andere handige encoder is de libfdk-aac AAC audio-encoder.

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

Installeer libopus audiodecoder en encoder.

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

Nu is het tijd om ffmpeg vanaf de broncode te installeren.

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

Opmerking: als je bepaalde encoders niet hebt geïnstalleerd, zorg er dan voor dat je '–enable-encoder_name' verwijdert uit het bovenstaande '. /configure' zodat de installatie zonder enig probleem wordt uitgevoerd.

Er zijn veel encoders die u kunt installeren, maar voor het doel van dit artikel ga ik ze niet allemaal installeren, maar u kunt ze installeren met behulp van de volgende officiële handleidingen.

  1. FFmpeg-compilatiehandleiding voor Ubuntu
  2. FFmpeg-compilatiehandleiding voor CentOS

Conclusie

In dit eerste deel hebben we onze lezers bijgewerkt met het laatste nieuws volgens het FFmpeg multimediaframework en hebben we hen laten zien hoe ze het op hun Linux-machines kunnen installeren. Het volgende deel gaat helemaal over het leren gebruiken van de geweldige tools binnen dit toonaangevende multimediaframework.

Update: Deel 2 van deze FFmpeg-serie is gepubliceerd, waarin nuttig gebruik van de ffmpeg-opdrachtregel wordt getoond voor het uitvoeren van verschillende audio-, video- en procedures voor beeldconversie: 15 Handige 'FFmpeg'-opdrachten voor video-, audio- en beeldconversie in Linux.