Modifiche

Da GolemWiki.

Ffmpeg

4 262 byte aggiunti, 14:58, 16 apr 2018
Prima bozza
{{Note
|type=attention
|text=Pagina super-bozza!

Da integrare o comunque affiancare per bene a [[Conversioni_video]]
}}

Sintassi generica
ffmpeg -i input1 [-i input2] [OPZIONI] output

== Informazioni sui file audio/video ==
Indicando solamente il file (o più di uno) di input, saranno visualizzate '''informazioni'''
ffmpeg -i video.mp4
In alternativa si può usare il comando dedicato
ffprobe video.mp4

Oltre ad una serie di parametri informativi su ffmpeg stesso, nell'ultima parte dell'output compaiono
le informazioni del file. Vediamo un esempio:

{{Note
|type=example
|text=
<pre>
$ ffmpeg -i originale.mkv -i audio.mp3

Input #0, matroska,webm, from 'originale.mkv':
Metadata:
ENCODER : Lavf56.40.101
Duration: 01:45:56.87, start: 0.000000, bitrate: 263 kb/s
Stream #0:0: Video: h264 (High), yuv420p(progressive), 1024x768, SAR 1:1 DAR 4:3, 30 fps, 30 tbr, 1k tbn, 60 tbc (default)
Metadata:
DURATION : 01:45:56.866000000
Stream #0:1: Audio: aac (LC), 44100 Hz, stereo, fltp (default)
Metadata:
title : simple_aac_recording
DURATION : 01:45:56.78800000
Input #1, mp3, from 'audio.mp3':
Duration: 01:45:56.85, start: 0.025057, bitrate: 128 kb/s
Stream #1:0: Audio: mp3, 44100 Hz, mono, s16p, 128 kb/s
Metadata:
encoder : LAME3.100
</pre>
}}

<code>Input #0</code> fa riferimento al primo file presente in input (si conta sempre da zero!!). Ci sono informazioni sulla durata, sul bitrate e altro, ma soprattutto il numero di '''stream''' presenti in questo file.
Il primo stream del primo input è identificato come <code>Stream #0:0</code>:
Stream #0:0: Video: h264 (High), yuv420p(progressive), 1024x768, SAR 1:1 DAR 4:3, 30 fps, 30 tbr, 1k tbn, 60 tbc (default)
È di tipo ''video'' con codifica ''h264'', con risoluzione ''1024x768'' e molto altro.

Il secondo stream del primo input è identificato come <code>Stream #0:1</code>:
Stream #0:1: Audio: aac (LC), 44100 Hz, stereo, fltp (default)
È di tipo ''audio'' con codifica ''aac'', con sampling a 44100 Hz, di tipo stereo e altro ancora.

Infine l'unico stream del secondo input, ovvero <code>Input #1</code>:
Stream #1:0: Audio: mp3, 44100 Hz, mono, s16p, 128 kb/s
È di tipo ''audio'' con codifica ''mp3'', con sampling a 44100 Hz, di tipo mono e così via.

== Convertire ==
L'operazione più semplice è convertire un file in un altro formato. Sia per file audio che video basta specificare l'input e l'output.
ffmpeg -i input.avi output.mp4
ffmpeg -i input.wav output.mp3
Se non si specificano opzioni, i parametri di conversione saranno stimati dal file di input oppure assunti per default (bitrate, frequenza di campionamento, risoluzione, etc...).

== Separare e unire flussi audio/video ==
Un'operazione molto utile è quella di unire o separare flussi audio/video, ad esempio ''estrarre'' l'audio da un file video oppure comporre un file video privo di audio con una traccia audio a piacere, oppure ancora sostituire la traccia audio di un file video con un'altra.
La sintassi di ''ffmpeg'' permette molti modi per far questo, parleremo di alcuni.

Requisito fondamentale è conoscere la '''codifica''' degli stream audio e video (vedi paragrafo precedente), così da utilizzare la corretta estensione.
=== Separare ===
Estrarre l'audio:
ffmpeg -i video_in.mkv -vn -acodec copy audio_out.aac
Estrarre il video:
ffmpeg -i video_in.mkv -vcodec copy -an solo_video_out.mkv
Quindi l'opzione <code>vn</code> elimina il video, l'opzione <code>an</code> elimina l'audio e le opzioni <code>vcodec copy</code> e <code>acodec copy</code> mantengono il codec video/audio nel file prodotto. Si noti che queste operazioni sono molto veloci! Al contrario, se venisse specificato un formato di destinazione diverso, ffmpeg dovrebbe anche convertire il flusso. Quest'ultimo passaggio può essere costoso in termini di tempo di esecuzione.

=== Unire ===
In modo simile possiamo unire un flusso audio e un flusso '''solo''' video (senza audio)
ffmpeg -i solo_video.mkv -i audio.aac -c:v copy -c:a copy video_out.mkv
In questo caso sono le opzioni <code>c:v copy</code> e <code>c:a copy</code> a mantenere le codifiche.

=== Sostituire ===
Per sostituire l'audio in un video la sintassi cambia ancora.

Menu di navigazione