Hvordan installere FFmpeg i Linux


FFmpeg er et av de beste multimedierammeverkene som inneholder ulike verktøy for ulike oppgaver. For eksempel er ffplay en bærbar mediespiller som kan brukes til å spille av lyd-/videofiler, ffmpeg kan konvertere mellom forskjellige filformater, ffserver kan brukes til å streame direktesendinger og ffprobe kan analysere multimediastrøm.

Dette rammeverket er virkelig kraftig på grunn av mangfoldet av tilgjengelige verktøy, som gir den beste tekniske løsningen for brukeren. I følge beskrivelsen av FFmpeg på den offisielle nettsiden, er grunnen til å ha et så flott multimediarammeverk kombinasjonen av de beste gratis programvarealternativene som er tilgjengelige.

FFmpeg-rammeverket tilbyr høy sikkerhet og grunnen til dette er seriøsiteten til utviklerne når de gjennomgår koden, det gjøres alltid med sikkerhet i tankene.

Jeg er veldig sikker på at du vil finne dette rammeverket veldig nyttig når du vil streame eller ta opp digital lyd og video. Det er mange andre praktiske ting du kan gjøre ved hjelp av FFmpeg-rammeverket, for eksempel å konvertere wav-filen din til en mp3-fil, kode og dekode videoene dine, eller til og med skalere dem.

I følge det offisielle nettstedet er FFmpeg i stand til å gjøre følgende.

  • dekode multimediefiler
  • kode multimediefiler
  • omkode multimediefiler
  • mux multimediefiler
  • demux multimediefiler
  • strøm multimediefiler
  • filtrer multimediefiler
  • spill av multimediefiler

La meg ta et eksempel, et veldig enkelt. Følgende kommando vil konvertere mp4-filen din til en avi-fil, enkelt som det.

# ffmpeg -i Lone_Ranger.mp4 Lone_Ranger.avi

Kommandoen ovenfor er bare nyttig for forklaring, den anbefales ikke brukt i praksis fordi kodeken, bithastigheten og andre detaljer ikke er deklarert.

I neste del vil vi øve med noen av FFmpeg multimedia-rammeverkverktøyene, men før vi gjør det må vi installere dem i Linux-boksen vår.

Hvordan installere FFmpeg Multimedia Framework i Linux

Siden FFmpeg-pakkene tilbys for de mest brukte Linux-distribusjonene, og installasjonen vil være relativt enkel. La oss starte med installasjonen av FFmpeg-rammeverket i Ubuntu-baserte distribusjoner.

Jeg vil installere FFmpeg fra standardlagrene. Åpne en ny terminal (CTRL+ALT+T) og kjør deretter følgende kommandoer.

$ sudo apt update
$ sudo apt install ffmpeg
$ ffmpeg -version

FFmpeg-pakken er inkludert i de offisielle Debian-repositoriene og kan installeres ved å bruke pakkebehandlingen som vist.

$ sudo apt update
$ sudo apt install ffmpeg
$ ffmpeg -version

For å installere FFmpeg på CentOS- og RHEL-distribusjoner, må du aktivere EPEL og RPM Fusion-depot på systemet ved å bruke følgende kommandoer.

For å installere og aktivere EPEL, bruk følgende kommando.

# yum install epel-release

For å installere og aktivere RPM Fusion, bruk følgende kommando på distribusjonsversjonen.

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

Etter å ha aktivert repositories, kjør følgende kommando for å installere FFmpeg:

# yum install ffmpeg ffmpeg-devel
# ffmpeg -version

På Fedora må du installere og aktivere RPM Fusion for å installere FFmpeg som vist.

$ 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
$ sudo pacman -S ffmpeg
$ yay -S ffmpeg-git
$ yay -S ffmpeg-full-git
$ ffmpeg -version
-------------- 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

Å kompilere programvare fra en kilde er ikke den enkleste tingen i verden, men med de riktige instruksjonene vil vi klare det. Først må du sørge for at systemet ditt oppfyller alle avhengighetene. Installasjonen av disse avhengighetene kan gjøres ved hjelp av følgende kommandoer.

Først ber du systemet om å trekke ned de nyeste pakkene.

$ sudo apt-get update

Installer avhengighetene med følgende kommando.

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

Bruk deretter følgende kommando for å lage en ny katalog for FFmpeg-kildene. Dette er katalogen der kildefilene skal lastes ned.

$ mkdir ~/ffmpeg_sources

Nå kompiler og installer yasm assembler brukt av FFmpeg ved å kjøre følgende kommandoer.

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

Etter at du har installert yasm assembler, er det på tide å installere noen forskjellige kodere som skal brukes med de spesifikke FFmpeg-verktøyene. Bruk følgende kommandoer for å installere H.264-videokoderen.

$ 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

En annen nyttig koder er libfdk-aac AAC-lydkoderen.

$ 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

Installer libopus lyddekoder og 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

Nå er det på tide å installere ffmpeg fra kilden.

$ 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

Merk: Hvis du ikke har installert visse kodere, sørg for å fjerne '–enable-encoder_name' fra kommandoen './configure' ovenfor, slik at installasjonen gjøres uten problemer.

Det er mange kodere du kan installere, men for formålet med denne artikkelen skal jeg ikke installere dem alle, men du kan installere dem ved å bruke følgende offisielle guider.

  1. FFmpeg Compilation Guide for Ubuntu
  2. FFmpeg Compilation Guide for CentOS

Konklusjon

I denne første delen oppdaterte vi leserne våre med de siste nyhetene i henhold til FFmpeg multimedia-rammeverket og viste dem hvordan de installerer det på deres Linux-maskiner. Den neste delen vil handle fullstendig om å lære hvordan du bruker de fantastiske verktøyene i dette ledende multimediarammeverket.

Oppdatering: Del 2 av denne FFmpeg-serien er publisert, som viser noe nyttig ffmpeg-kommandolinjebruk for å utføre ulike lyd-, video- og bildekonverteringsprosedyrer: 15 nyttige 'FFmpeg'-kommandoer for video-, lyd- og bildekonvertering i Linux.