Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Multimedia/Audio/FFmpeg"
Differenze tra le versioni 2 e 5 (in 3 versioni)
Versione 2 del 28/01/2012 22.57.18
Dimensione: 8292
Commento:
Versione 5 del 30/01/2012 12.44.38
Dimensione: 3941
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 30: Linea 30:
per ottenere un elenco delle opzioni disponibili: per ottenere un elenco delle principali opzioni disponibili:
Linea 43: Linea 43:
}}}

per una guida completa:
{{{
man ffmpeg
Linea 76: Linea 81:
dove ''0.0'' indica il desktop.

È possibile registrare solo una porzione del desktop indicando l'offset:
Linea 78: Linea 86:
ffmpeg -f x11grab -i :0.0+10,20 nome_file_uscita ffmpeg -f x11grab -i :0.0+XX,YY nome_file_uscita
Linea 81: Linea 89:
dove '0.0' indica il display, 'XX' l'offset X e 'YY' l'offset Y. In mancaza dove ''0.0'' indica il desktop, ''XX'' l'offset X e ''YY'' l'offset Y.
Linea 83: Linea 91:
== Conversione con x264 ==
Il più facile metodo per codificare in alta qualità un video è usando la libreria libx264 inclusa con l'installazione di FFmpeg.<<BR>>
Obbligatorio è leggere la [[http://rob.opendot.cl/index.php/useful-stuff/ffmpeg-x264-encoding-guide/|guida all'encoding]] prima di provare i seguenti preset.<<BR>>
Si avranno, così, sufficienti risorse per capire come ''muoversi'' nella conversione.<<BR>>
Si possono aggiugere opzioni ai comandi visualizzati. <<BR>>
Si possono trovare una list di altri preset avviabili nella cartella `/usr/share/ffmpeg`.<<BR>>
== Registrazione da scheda TV ==
Linea 90: Linea 93:
Esistono due tipi di codifica. A singolo passaggio, per una conversione nella media o a doppio passaggio, per una conversione più precisa.<<BR>>
Il terzo esempio mostrato permette di codificare in alta qualità per i lettori audio/video e iPod.
È possibile registrare il flusso della scheda TV a patto di avviare un qualsiasi programma per la visualizzazione TV come [[apt://tvtime | tvtime]] e di avere precedentemente abilitato i canali di registrazione audio con il mixer di sistema [[Hardware/Audio/Alsamixer | alsamixer]].
Linea 93: Linea 95:
 * Codifica a singolo passaggio CFR (fattore percentuale costante) usando il preset hq.{{{
ffmpeg -i input.avi -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre hq -crf 22 -threads 0 output.mp4
}}}
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''É indicata per una codifica generica, ma non permette di determinare la dimensione del file compresso finale. Usare -cfr per impostare la qualità. Valori consigliati tra 18 e 28, il valore più basso genera un file di qualità maggiore ma più grande.''. ||

 * Codifica a due passaggi usando i preset fastfirstpass e hq.{{{
ffmpeg -i input.avi -pass 1 -vcodec libx264 -vpre fastfirstpass -b 512k -bt 512k -threads 0 -f rawvideo -an -y /dev/null && ffmpeg -i input.avi -pass 2 -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre hq -b 512k -bt 512k -threads 0 output.mp4
{{{
ffmpeg -f oss -i /dev/dsp -f video4linux2 -i /dev/video0 /tmp/out.mpg
Linea 102: Linea 99:
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Viene usata quando si vuole configurare un determinato bitrate o per configurare la grandezza del file compresso finale. La codifica a due passaggi fornisce la migliore qualità su video di durata elevata, distribuendo correttamente il bitrate medio, su tutta la durata del video, a costo di un maggior tempo di codifica. Usato solitamente per codifica di video di durata elevata e per lettori portatili con limiti al bitrate, come l'ipod.''.|| dove '' /dev/dsp'' è il dispositivo di ingresso audio e ''/dev/video0'' il dispositivo di ingresso TV-video.
Linea 104: Linea 101:

 * Codifica a due passaggi per ipod a 640x480 usando i preset fastfirstpass, hq e ipod640.{{{
ffmpeg -i input.avi -pass 1 -an -vcodec libx264 -vpre fastfirstpass -vpre ipod640 -b 512k -bt 512k -s 640x480 -threads 0 -f rawvideo -y /dev/null && ffmpeg -i input.avi -pass 2 -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre hq -vpre ipod640 -b 512k -bt 512k -s 640x480 -threads 0 output.mp4
È possibile specifiare il dispositivo di ingresso audio '''alsa''' al posto di quello '''oss''':
  
{{{
ffmpeg -f alsa -ac 1 -i hw:1 -f video4linux2 -i /dev/video0 /tmp/out.mpg
Linea 109: Linea 107:
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''Si dovranno usare i programmi qt-faststart, MP4Box o AtomicParsley per fare video compatibili con iTunes''. || dove ''hw:1'' è il dispositivo di ingresso audio.
Linea 111: Linea 109:
== Esempi di conversione == == Aggiunta di sottotitoli ==
Linea 113: Linea 111:
||||||<tablewidth="80%">'''AUDIO'''||
||Conversione|| Comando da terminale||
||||||<tablewidth="80%" #FF8080>'''Il seguente convertirà audio1.aac con audio1.mp3 con audio rate 22.05 Khz e audio bitrate 32 Khz CON METADATA'''||
||AAC --> MP3|| ffmpeg -i audio1.aac -ar 22050 -ab 32 -map_meta_data audio1.mp3:audio1.aac audio1.mp3||
||||||<tablewidth="80%" #FF8080>'''Il seguente convertirà audio1.aac to audio1.mp3 con audio rate 22.05 Khz e audio bitrate 32 Khz SENZA METADATA'''||
||AAC --> MP3||ffmpeg -i audio1.aac -ar 22050 -ab 32 audio1.mp3||
||WMV --> MP3|| ffmpeg -i audio1.wmv audio1.mp3||
||WMV --> FLV|| ffmpeg -i audio1.wmv audio1.flv solo il flusso audio||
||||||<tablewidth="80%" #FF8080>'''Il seguente convertirà audio1.amr file con audio1.mp3 con audio rate 22.05 Khz'''||
||AMR --> MP3|| ffmpeg -i audio1.amr -ar 22050 audio1.mp3||
È possibile applicare ''hardsub'' ai video aggiungendo i sottotitoli da file ''softsub'':
Linea 124: Linea 113:

||||||<tablewidth="80%">'''VIDEO'''||
||Conversione|| Comando da terminale||
||MOV --> FLV|| ffmpeg -i movie1.mov movie1.flv ||
||Mpeg --> FLV|| ffmpeg -i movie1.mpeg movie1.flv||
||||||<tablewidth="80%" #FF8080>'''Il seguente convertirà movie1.avi file con movie1.flv e ridimensionerà la risoluzione video a 500x500'''||
||AVI --> FLV|| ffmpeg -i movie1.avi -s 500×500 movie1.flv||
||||||<tablewidth="80%" #FF8080>'''Il seguente convertirà movie1.3gp file con movie1.flv e terrà l'originale configurazione del file e disabiliterà l'audio.'''||
||3GP --> FLV|| ffmpeg -i movie1.3gp -sameq -an movie1.flv||
||MPEG --> 3GP|| ffmpeg -i movie1.mpeg -ab 8.85k -acodec libamr_wb -ac 1 -ar 16000 -vcodec h263 -s qcif movie2.3gp||

<<Anchor(aggiornamento)>>
= Aggiornare i pacchetti =

 0. Rimuovere i pacchetti principali:{{{
sudo apt-get remove ffmpeg x264 libx264-dev
{{{
ffmpeg -i Video.ogg -i Sottotitoli.srt -scodec copy Video_hardsub.ogg -newsubtitle
Linea 142: Linea 117:
 0. aggiornare x264:{{{
cd ~/x264
make distclean
git pull
}}}
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%><<Immagine(Icone/Piccole/note.png,,center)>> ||<style="padding:0.5em; border:none;">''L'opzione -newsubtitle deve essere necessariamente posizionata dopo il nome del file in uscita.'' ||
Linea 148: Linea 119:
 0. reinstallare x264 aggiornato:{{{
./configure
make
sudo checkinstall --pkgname=x264 --pkgversion "1:0.svn`date +%Y%m%d`" --backup=no --default
}}}
 0. Aggiornare FFmpeg: {{{
cd ~/ffmpeg
make distclean
svn update
}}}
= Ulteriori risorse =
Linea 159: Linea 121:
 0. Reinstallare FFmpeg aggiornato:{{{
./configure --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libfaac --enable-libfaad --enable-libmp3lame --enable libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab
make
sudo checkinstall --pkgname=ffmpeg --pkgversion "4:0.5+svn`date +%Y%m%d`" --backup=no --default
}}}

= Disinstallare interamente il programma =
 0. Aprire un terminale e inserire il seguente comando:{{{
sudo apt-get remove x264 ffmpeg build-essential subversion git-core checkinstall yasm texi2html libfaac-dev libfaad-dev libmp3lame-dev libsdl1.2-dev libx11-dev libxfixes-dev libxvidcore4-dev zlib1g-dev
}}}

 0. Eliminare le cartelle ~/ffmpeg e ~/x264 nella propria home.
 * [[http://ffmpeg.org | Il sito ufficiale (in inglese)]]
 * [[http://ffmpeg.org/ffmpeg.html | Il wiki ufficiale (in inglese)]]
Linea 172: Linea 124:
CategoryNuoviDocumenti CategoryNuoviDocumenti CategoryDaRevisionare

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

FFmpeg è un versatile programma a riga di comando per codificare e convertire una multitudine di formati video e audio che può essere usato anche per la registrazione audio/video di una sessione X o di un dispositivo TV e per la riproduzione multimediale.

Installazione

Per installare FFmpeg è sufficiente installare il pacchetto ffmpeg con le relative dipendenze.

Per poter utilizzare la codifica in alta qualità tramite il codec x264 è necessario installare i pacchetti x264 e libx264-116 presenti nel componente universe.

È inoltre possibile utilizzare graficamente FFmpeg tramite la GUI winff presente nel componente universe.

Utilizzo

Conversione

Sintassi:

ffmpeg -i nome_file_ingresso -opzioni nome_file_uscita

esempio:

ffmpeg -i file.avi -acodec vorbis -ab 128 -vcodec theora -aspect 16:9 -r 128 -s 512x288 file.ogg

per ottenere un elenco delle principali opzioni disponibili:

ffmpeg -h

per ottenere un elenco dei formati disponibili:

ffmpeg -formats

per ottenere un elenco dei codec disponibili:

ffmpeg -codecs

per una guida completa:

man ffmpeg

Estrazione audio da video

Per estrarre una traccia audio da un video basta usare la stessa sintassi usata per la conversione audio/video avendo l'accortezza di specificare solamente codec e formati audio per il file di uscita:

ffmpeg -i video.avi -opzioni audio.mp3

esempio:

ffmpeg -i video.avi -acodec libmp3lame -ab 256 audio.mp3

Riproduzione

Per riprodurre un filmato è sufficiente eseguire il seguente comando:

ffplay -opzioni nome_file

per ottenre un elenco delle opzioni di ffplay:

ffplay -h

Registrazione di una sessione X

Per registrare il proprio desktop:

ffmpeg -f x11grab -i :0.0 nome_file_uscita

dove 0.0 indica il desktop.

È possibile registrare solo una porzione del desktop indicando l'offset:

ffmpeg -f x11grab -i :0.0+XX,YY nome_file_uscita

dove 0.0 indica il desktop, XX l'offset X e YY l'offset Y.

Registrazione da scheda TV

È possibile registrare il flusso della scheda TV a patto di avviare un qualsiasi programma per la visualizzazione TV come tvtime e di avere precedentemente abilitato i canali di registrazione audio con il mixer di sistema alsamixer.

ffmpeg -f oss -i /dev/dsp -f video4linux2 -i /dev/video0 /tmp/out.mpg

dove /dev/dsp è il dispositivo di ingresso audio e /dev/video0 il dispositivo di ingresso TV-video.

È possibile specifiare il dispositivo di ingresso audio alsa al posto di quello oss:

ffmpeg -f alsa -ac 1 -i hw:1 -f video4linux2 -i /dev/video0 /tmp/out.mpg

dove hw:1 è il dispositivo di ingresso audio.

Aggiunta di sottotitoli

È possibile applicare hardsub ai video aggiungendo i sottotitoli da file softsub:

ffmpeg -i Video.ogg -i Sottotitoli.srt -scodec copy Video_hardsub.ogg -newsubtitle

L'opzione -newsubtitle deve essere necessariamente posizionata dopo il nome del file in uscita.

Ulteriori risorse


CategoryNuoviDocumenti CategoryDaRevisionare