Sådan installeres FFmpeg i Linux


FFmpeg er en af de bedste multimedierammer, der indeholder forskellige værktøjer til forskellige opgaver. For eksempel er ffplay en bærbar medieafspiller, der kan bruges til at afspille lyd-/videofiler, ffmpeg kan konvertere mellem forskellige filformater, ffserver kan bruges til at streame live-udsendelser, og ffprobe er i stand til at analysere multimediestream.

Denne ramme er virkelig stærk på grund af mangfoldigheden af tilgængelige værktøjer i den, der giver den bedste tekniske løsning for brugeren. Ifølge beskrivelsen af FFmpeg på det officielle websted er årsagen til at have en så stor multimedieramme en kombination af de bedste tilgængelige gratis softwaremuligheder.

FFmpeg-rammen tilbyder høj sikkerhed, og grunden til dette er udviklernes seriøsitet, når de gennemgår koden, det gøres altid med sikkerhed i tankerne.

Jeg er meget sikker på, at du finder denne ramme meget nyttig, når du gerne vil lave digital lyd- og videostreaming eller -optagelse. Der er mange andre praktiske ting, du kan gøre ved hjælp af FFmpeg-rammen, såsom at konvertere din wav-fil til en mp3-fil, kode og afkode dine videoer eller endda skalere dem.

Ifølge den officielle hjemmeside er FFmpeg i stand til at gøre følgende.

  1. afkode multimediefiler
  2. kode multimediefiler
  3. omkode multimediefiler
  4. mux multimediefiler
  5. demux-multimediefiler
  6. stream multimediefiler
  7. filtrer multimediefiler
  8. afspil multimediefiler

Lad mig tage et meget simpelt eksempel. Den følgende kommando konverterer din mp4-fil til en avi-fil, simpel som den.

# ffmpeg -i Lone_Ranger.mp4 Lone_Ranger.avi

Ovenstående kommando er kun nyttig til forklaring, det anbefales ikke at blive brugt i praksis, fordi codex, bithastighed og andre specifikationer ikke er deklareret.

I den næste del vil vi øve med nogle af FFmpeg multimedieramme-værktøjer, men inden vi gør det, skal vi installere det i vores Linux-boks.

Sådan installeres FFmpeg Multimedia Framework i Linux

Da FFmpeg-pakkerne tilbydes til de mest anvendte Linux-distributioner, og installationen vil være relativt let. Lad os starte med installationen af FFmpeg-rammen i Ubuntu-baserede distributioner.

Jeg installerer FFmpeg via den PPA, der anbefales i den officielle blog. Åbn en ny terminal (CTRL + ALT + T), og kør derefter følgende kommandoer.

$ sudo add-apt-repository ppa:mc3man/trusty-media
$ sudo apt-get update
$ sudo apt-get install ffmpeg
$ ffmpeg -version

For at installere FFmpeg skal du først tilføje følgende linje til din /etc/apt/sources.list fil. I henhold til din distribution skal du ændre '<mydist>' med 'stretch', 'jessie' eller 'wheezy'.

deb http://www.deb-multimedia.org <mydist> main non-free deb-src http://www.deb-multimedia.org <mydist> main non-free

Opdater derefter systempakkekilder og installer FFmpeg med følgende kommandoer.

$ sudo apt-get update
$ sudo apt-get install deb-multimedia-keyring
$ sudo apt-get update
$ sudo apt-get install ffmpeg
$ ffmpeg -version

For at installere FFmpeg på CentOS- og RHEL-distributioner skal du aktivere EPEL og RPM Fusion-arkivet på systemet ved hjælp af følgende kommandoer.

Brug følgende kommando for at installere og aktivere EPEL.

# yum install epel-release

For at installere og aktivere RPM Fusion skal du bruge følgende kommando i din distributionsversion.

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

Efter at have aktiveret arkiver, kør følgende kommando for at installere FFmpeg:

# yum install ffmpeg ffmpeg-devel
# ffmpeg -version

På Fedora skal du installere og aktivere RPM Fusion for at 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

Kompilering af software fra kilden er ikke den nemmeste ting i verden, men med de rigtige instruktioner vil vi være i stand til at gøre det. Sørg først for, at dit system opfylder alle afhængigheder. Installationen af disse afhængigheder kan udføres ved hjælp af følgende kommandoer.

Bed først systemet om at trække de nyeste pakker ned.

$ sudo apt-get update

Installer afhængighederne 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

Brug derefter følgende kommando til at oprette en ny mappe til FFmpeg-kilderne. Dette er det bibliotek, hvor kildefilerne downloades.

$ mkdir ~/ffmpeg_sources

Kompilér og installer nu yasm assembler, der bruges af FFmpeg ved at kø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"

Når du har installeret yasm-samleren med succes, er det tid til at installere nogle forskellige kodere, der vil blive brugt med de specifikke FFmpeg-værktøjer. Brug følgende kommandoer til at 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 anden dejlig nyttig encoder 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

Nu er det tid til at 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

Bemærk: Hvis du ikke har installeret bestemte kodere, skal du sørge for at fjerne '–enable-encoder_name' fra ovenstående kommando './configure', så installationen udføres uden problemer.

Der er mange kodere, som du kan installere, men hvad angår formålet med denne artikel, vil jeg ikke installere dem alle, men du kan installere dem ved hjælp af følgende officielle guider.

  1. FFmpeg kompilationsvejledning til Ubuntu
  2. FFmpeg-kompilationsvejledning til CentOS

Konklusion

I denne første del opdaterede vi vores læsere med de seneste nyheder i henhold til FFmpeg multimedieramme og viste dem, hvordan de skal installeres i deres Linux-maskiner. Den næste del vil være helt om at lære at bruge de fantastiske værktøjer inden for denne førende multimedieramme.

Opdatering: Del 2 af denne FFmpeg-serie er offentliggjort, som viser nogle nyttige ffmpeg-kommandolinjebrug til at udføre forskellige lyd-, video- og billedkonverteringsprocedurer: 15 Nyttige 'FFmpeg' -kommandoer til video-, lyd- og billedkonvertering i Linux.