Siete qui:

  1. Home
  2. Blog
  3. Installare FFMpeg con supporto H264 in Ubuntu

Installare FFMpeg con supporto H264 in Ubuntu

Alessandro Scoscia • 29 febbraio 2008 15:02

Da quando il Flash Player ha implementato il supporto per il formato h264 (lo stesso usato da Bly-Ray e Hd DVD) si è scatenata tra sviluppatori e producer una vera gara di produzione di filmati HD sempre più compressi.

Uno dei tool più utilizzato per realizzare questa codifica è FFMPeg, una suite di prodotti software free ed open source in grado di registrare, convertire e riprodurre audio e video. Questa soluzione software è particolarmente ottimizzata in performance e permette il trattamento di file video con tempi di risposta davvero impressionanti. FFMPeg è realmente multipiattaforma e può essere compilata per Windows, Linux e Mac.

Vediamo come è possibile installare FFMpeg con supporto h264 in ubuntu. Ovviamente è sempre possibile installare la versione pacchettizzata di FFMpeg per debian, ma in questo caso ritengo sia molto più indicata un'installazione a partire dal codice sorgente (lo sviluppo di questa libreria è continuo e la pacchettizzazione non sempre segue gli stessi ritmi).

Iniziamo quindi disinstallando un'eventuale versione precedente di ffmpeg:

sudo apt-get remove ffmpeg

Scariachiamo, via svn, l'ultima versione del software pubblicato nel repository di FFMPeg:

svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

Se non si volessero scaricare i sorgenti via svn si può effettuare il download via http:

  • wget http://ffmpeg.mplayerhq.hu/ffmpeg-export-snapshot.tar.bz2
  • tar jxvf ffmpeg-export-snapshot.tar.bz2
  • cd ffmpeg-export-*

Prima di configurare ffmpeg per l'installazione occorre essere sicuri di aver installato tutte le librerie necessarie all'uso dei vari codec:

sudo apt-get install liba52-dev libdts-dev libgsm1-dev libvorbis-dev libxvidcore4 libxvidcore4-dev libdc1394-dev libfaac-dev liblame-dev libx264-dev libfaad2-dev libtheora-dev libsdl1.2-dev

Ovviamente la compilazione dei sorgenti di FFMpeg richiede che la linux box ubuntu abbia preinstallati gli strumenti necessari alla compilazione. Il test e l'installazione di questi tools possono essere effettuati direttamente via apt:

sudo apt-get install build-essential

A questo punto si può procedere alla configurazione e alla compilazione vera e propria. Sulla mia linux box ho configurato l'installazione con queste features:

./configure --enable-gpl --enable-pp --enable-pthreads --enable-libvorbis --enable-liba52 --enable-libgsm --enable-libdc1394 --disable-debug --enable-shared --enable-libxvid --enable-libfaac --enable-libmp3lame --enable-libx264 --enable-libfaad --enable-x11grab --enable-swscaler --prefix=/usr/local

Se si ha bisogno di abilitare il supporto di codec diversi, occorre verificarne i prerequisiti ed abilitarne la corretta configurazione (la documentazione dettagliata è generalmente presente nel pacchetto FFMpeg o nel pacchetto del particolare codec).

A questo punto si può far partire la compilazione vera e propria:

make

Se tutto è andato a buon fine l'installazione del pacchetto si ottiene con:

  • sudo make install
  • export LD_LIBRARY_PATH=/usr/local/lib/

Il test della corretta installazione è possibile con il comando che elenca tutti i formati supportati in una particolare installazione di FFMpeg:

ffmpeg -formats

La parte davvero impegnativa del lavoro iniza soltanto adesso e consiste nel cercare la configurazione ottimizzata per la codifica dei filmati utilizzando le decine di opzioni del comando ffmpeg. Per averne un'idea verificate con:

ffmpeg

Good encode!

Commenti

Inviato da Alessandro Scoscia il 30 luglio 2008 22:51
Ho verificato che la compilazione del pacchetto ffmpeg da snapshot successivi a giugno non va a buon fine.
Il bug è stato segnalato i medibuntu e qui sono disponibili un paio di soluzioni.
Inviato da Alessandro Scoscia il 17 febbraio 2009 18:20
Un metodo per essere sicuri di aver installato tutte le librerie necessarie alla compilazione di ffmpeg è:

sudo apt-get build-dep ffmpeg
Inserisci un commento

I campi contrassegnati con " * " sono obbligatori




Creative Commons License Valid XHTML 1.1 Valid CSS [Valid RSS] Powered by SmartControl