Ricerca nel sito web

Come installare FFmpeg su Linux


FFmpeg è uno dei migliori framework multimediali che contiene vari strumenti per compiti diversi. Ad esempio, ffplay è un lettore multimediale portatile che può essere utilizzato per riprodurre file audio/video, ffmpeg può convertire tra diversi formati di file, ffserver può essere utilizzato per lo streaming di trasmissioni in diretta e ffprobe è in grado di analizzare il flusso multimediale.

Questo framework è davvero potente grazie alla diversità degli strumenti disponibili, che forniscono la migliore soluzione tecnica per l'utente. Secondo la descrizione di FFmpeg sul sito ufficiale, la ragione per avere una struttura multimediale così eccezionale è la combinazione delle migliori opzioni di software libero disponibili.

Il framework FFmpeg offre un'elevata sicurezza e la ragione di ciò è la serietà degli sviluppatori quando esaminano il codice, sempre tenendo presente la sicurezza.

Sono molto sicuro che troverai questo framework molto utile quando desideri eseguire streaming o registrazioni audio e video digitali. Ci sono molte altre cose pratiche che puoi fare con l'aiuto del framework FFmpeg come convertire il tuo file wav in mp3, codificare e decodificare i tuoi video o persino ridimensionarli.

Secondo il sito web ufficiale, FFmpeg è in grado di fare quanto segue.

  • decodificare file multimediali
  • codificare file multimediali
  • transcodificare file multimediali
  • file multimediali multipli
  • demuxare file multimediali
  • eseguire lo streaming di file multimediali
  • filtrare i file multimediali
  • riprodurre file multimediali

Faccio un esempio, molto semplice. Il seguente comando convertirà il tuo file mp4 in un file avi, semplicissimo.

ffmpeg -i Lone_Ranger.mp4 Lone_Ranger.avi

Il comando precedente è utile solo a scopo illustrativo, non è consigliabile utilizzarlo nella pratica perché il codec, il bitrate e altre specifiche non sono dichiarate.

Nella parte successiva faremo pratica con alcuni degli strumenti del framework multimediale di FFmpeg, ma prima di farlo dobbiamo installarli nella nostra macchina Linux.

Come installare FFmpeg Multimedia Framework in Linux

Poiché i pacchetti FFmpeg sono offerti per le distribuzioni Linux più utilizzate e l'installazione sarà relativamente semplice. Cominciamo con l'installazione del framework FFmpeg nelle distribuzioni basate su Ubuntu.

Installa FFmpeg su Ubuntu e Linux Mint

Installerò FFmpeg dai repository predefiniti. Apri un nuovo terminale (CTRL+ALT+T) ed esegui i seguenti comandi.

sudo apt update
sudo apt install ffmpeg
ffmpeg -version

Installa FFmpeg su Debian

Il pacchetto FFmpeg è incluso nei repository ufficiali Debian e può essere installato utilizzando il gestore pacchetti come mostrato.

sudo apt update
sudo apt install ffmpeg
ffmpeg -version

Installa FFmpeg su CentOS e RHEL

Per installare FFmpeg sulle distribuzioni CentOS e RHEL, devi abilitare EPEL e RPM Fusion repository sul sistema utilizzando i seguenti comandi.

Per installare e abilitare EPEL, utilizza il seguente comando.

yum install epel-release

Per installare e abilitare RPM Fusion, utilizza il seguente comando sulla tua versione di distribuzione.

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

Dopo aver abilitato i repository, esegui il comando seguente per installare FFmpeg:

yum install ffmpeg ffmpeg-devel
ffmpeg -version

Installa FFmpeg su Fedora

Su Fedora, devi installare e abilitare RPM Fusion per installare FFmpeg come mostrato.

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

Installa FFmpeg su Arch Linux

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

Installa FFmpeg su 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

Compilazione FFmpeg dal sorgente

Compilare software da un sorgente non è la cosa più semplice del mondo, ma con le giuste istruzioni saremo in grado di farlo. Innanzitutto, assicurati che il tuo sistema soddisfi tutte le dipendenze. L'installazione di queste dipendenze può essere eseguita con l'aiuto dei seguenti comandi.

Per prima cosa, chiedi al sistema di estrarre gli ultimi pacchetti.

sudo apt-get update

Installa le dipendenze con il seguente comando.

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

Quindi utilizzare il comando seguente per creare una nuova directory per i sorgenti FFmpeg. Questa è la directory in cui verranno scaricati i file sorgente.

mkdir ~/ffmpeg_sources

Ora compila e installa l'assemblatore yasm utilizzato da FFmpeg eseguendo i seguenti comandi.

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"

Dopo aver installato con successo l'assemblatore yasm è il momento di installare alcuni vari codificatori che verranno utilizzati con gli strumenti specifici di FFmpeg. Utilizza i seguenti comandi per installare il codificatore video H.264.

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

Un altro codificatore utile è il codificatore audio libfdk-aac AAC.

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

Installa il decodificatore e il codificatore audio libopus.

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

Ora è il momento di installare ffmpeg dal sorgente.

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

Nota: se non hai installato determinati codificatori, assicurati di rimuovere '–enable-encoder_name' da sopra '. /configure' in modo che l'installazione venga eseguita senza problemi.

Esistono molti codificatori che puoi installare, ma ai fini di questo articolo non li installerò tutti, ma puoi installarli utilizzando le seguenti guide ufficiali.

  1. Guida alla compilazione di FFmpeg per Ubuntu
  2. Guida alla compilazione di FFmpeg per CentOS

Conclusione

In questa prima parte abbiamo aggiornato i nostri lettori con le ultime novità secondo il framework multimediale FFmpeg e abbiamo mostrato loro come installarlo sulle loro macchine Linux. La parte successiva riguarderà esclusivamente l'apprendimento di come utilizzare gli straordinari strumenti all'interno di questo framework multimediale leader.

Aggiornamento: è stata pubblicata la parte 2 di questa serie FFmpeg, che mostra alcuni utili utilizzi della riga di comando di ffmpeg per eseguire vari audio, video e procedure di conversione delle immagini: 15 comandi 'FFmpeg' utili per la conversione di video, audio e immagini in Linux.