Kuinka asentaa FFmpeg Linux-jakeluihin


FFmpeg on yksi parhaista multimediakehyksistä, joka sisältää erilaisia työkaluja eri tehtäviin. Esimerkiksi ffplay on kannettava mediasoitin, jota voidaan käyttää ääni-/videotiedostojen toistamiseen, ffmpeg voi muuntaa eri tiedostomuotojen välillä, ffserverillä voidaan suoratoistaa suoria lähetyksiä ja ffprobe pystyy analysoimaan multimediavirtaa.

Tämä kehys on todella tehokas käytettävissä olevien työkalujen moninaisuuden ansiosta, jotka tarjoavat käyttäjälle parhaan teknisen ratkaisun. Virallisella verkkosivustolla olevan FFmpeg-kuvauksen mukaan syy tällaisen suuren multimediakehyksen saamiseen on parhaiden käytettävissä olevien ohjelmistovaihtoehtojen yhdistelmä.

FFmpeg-kehys tarjoaa korkean tietoturvan ja syy tähän on kehittäjien rohkeus, kun he tarkistavat koodia, se tehdään aina turvallisuutta silmällä pitäen.

Olen varma, että löydät tämän kehyksen erittäin hyödylliseksi, kun haluat suoratoistaa tai tallentaa digitaalista ääntä ja videota. FFmpeg-kehyksen avulla voit tehdä monia muita käytännön asioita, kuten muuntaa wav-tiedostosi mp3-tiedostoksi, koodata ja purkaa videosi tai jopa skaalata niitä.

Virallisen verkkosivuston mukaan FFmpeg pystyy tekemään seuraavat.

  • purkaa multimediatiedostot
  • koodaa multimediatiedostot
  • koodaa multimediatiedostot
  • mux-multimediatiedostot
  • demux-multimediatiedostot
  • suoratoista multimediatiedostoja
  • suodata multimediatiedostoja
  • toistaa multimediatiedostoja

Otan esimerkin, hyvin yksinkertaisen. Seuraava komento muuntaa mp4 -tiedostosi yksinkertaiseksi avi-tiedostoksi.

# ffmpeg -i Lone_Ranger.mp4 Lone_Ranger.avi

Yllä olevasta komennosta on hyötyä vain selitykselle, sitä ei suositella käytettäväksi käytännössä, koska koodekkia, bittinopeutta ja muita yksityiskohtia ei ilmoiteta.

Seuraavassa osassa harjoitellaan joidenkin FFmpeg-multimediakehystyökalujen kanssa, mutta ennen tekemistä meidän on asennettava ne Linux-ruutuun.

Kuinka asentaa FFmpeg Multimedia Framework Linuxiin

Koska FFmpeg-paketteja tarjotaan eniten käytettyihin Linux-jakeluihin, asennus on suhteellisen helppoa. Aloitetaan FFmpeg-kehyksen asentamisesta Ubuntu-pohjaisiin jakeluihin.

Asennan FFmpegin oletusvarastoista. Avaa uusi pääte (CTRL + ALT + T) ja suorita sitten seuraavat komennot.

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

FFmpeg-paketti sisältyy virallisiin Debian-arkistoihin, ja se voidaan asentaa paketinhallinnan avulla kuvan mukaisesti.

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

Jos haluat asentaa FFmpeg CentOS- ja RHEL-jakeluihin, sinun on otettava käyttöön EPEL- ja RPM Fusion -tietovarasto järjestelmässä seuraavien komentojen avulla.

Asenna ja ota EPEL käyttöön seuraavalla komennolla.

# yum install epel-release

Asenna ja ota käyttöön RPM Fusion käyttämällä seuraavaa komentoa jakeluversiossasi.

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

Kun olet ottanut arkistot käyttöön, suorita seuraava komento asentaaksesi FFmpeg:

# yum install ffmpeg ffmpeg-devel
# ffmpeg -version

Fedorassa sinun on asennettava ja sallittava RPM Fusion FFmpegin asentamiseksi kuvan osoittamalla tavalla.

$ 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

Ohjelmistojen kokoaminen lähteestä ei ole helpoin asia maailmassa, mutta oikeilla ohjeilla voimme tehdä sen. Varmista ensin, että järjestelmäsi täyttää kaikki riippuvuudet. Näiden riippuvuuksien asennus voidaan tehdä seuraavien komentojen avulla.

Käske ensin järjestelmää vetämään viimeisimmät paketit.

$ sudo apt-get update

Asenna riippuvuudet seuraavalla komennolla.

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

Käytä sitten seuraavaa komentoa uuden hakemiston luomiseen FFmpeg-lähteille. Tämä on hakemisto, johon lähdetiedostot ladataan.

$ mkdir ~/ffmpeg_sources

Käännä ja asenna nyt FFmpegin käyttämä yasm assembler suorittamalla seuraavat komennot.

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

Kun olet asentanut yasm assemblerin onnistuneesti, on aika asentaa joitain eri koodereita, joita käytetään tiettyjen FFmpeg-työkalujen kanssa. Asenna H.264-videokooderi seuraavien komentojen avulla.

$ 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

Toinen mukava hyödyllinen kooderi on libfdk-aac AAC -äänenkooderi.

$ 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

Asenna libopus-äänidekooderi ja -kooderi.

$ 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

Nyt on aika asentaa ffmpeg lähteestä.

$ 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

Huomaa: Jos et ole asentanut tiettyjä koodereita, muista poistaa ”–enable-encoder_name” yllä olevasta ”./configure” -komennosta, jotta asennus tapahtuu ongelmitta.

On monia koodereita, jotka voit asentaa, mutta tämän artikkelin tarkoituksiin en aio asentaa niitä kaikkia, mutta voit asentaa ne seuraavien virallisten oppaiden avulla.

  1. FFmpeg-käännösopas Ubuntulle
  2. FFmpeg-käännösopas CentOSille

Johtopäätös

Tässä ensimmäisessä osassa päivitimme lukijamme viimeisimmillä uutisilla FFmpeg-multimediakehyksen mukaan ja näytimme heille, kuinka se asennetaan Linux-koneisiinsa. Seuraava osa tulee olemaan täysin oppia käyttämään hämmästyttäviä työkaluja tämän johtavan multimediakehyksen sisällä.

Päivitys: Tämän FFmpeg-sarjan osa 2 on julkaistu, ja se näyttää hyödyllistä ffmpeg-komentorivin käyttöä erilaisten ääni-, video- ja kuvamuunnosmenettelyjen suorittamiseksi: 15 hyödyllistä 'FFmpeg' -komentoa video-, ääni- ja kuvamuunnoksille Linuxissa.