Sei sulla pagina 1di 4

Comandi base FFMPEG

di Maurizio Lo Nobile e Andrea Ciraolo

Guardate prima la guida completa 👉 https://youtu.be/AHkD5XwFffE

Non è possibile modificare questo documento, ma se avete delle note sono più che ben accette:
usate la funzione “commenta” di Documents.

0 - Iniziamo dall’help
→ COMANDI DI HELP
ffmpeg -h full | more
ffmpeg -h encoder=mp3 -hide_banner (encoder/decoder/demuxer/muxer/filter)
ffmpeg -formats audio (audio/video)
ffmpeg -codecs

→ COMANDO DI INFO FILE


ffmpeg -i file
ffprobe file

→ ffprobe dettagli in formato testo parsabile

1. estrai formato e stream del file


ffprobe -v error -show_format -show_streams input.mp4

2. estrai la dimensione del file


ffprobe -v error -show_entries format=size input.mp4

3. comando precedente stampato in formato json


ffprobe -v error -show_entries format=size -print_format json input.mp4

1 - Convertire audio da un formato all’altro (es. WAV > MP3)


ffmpeg -i audio.wav audio.mp3
ffmpeg -i audio.wav -c:a mp3 -b:a 192k -ar 44100 -ac 2 output.mp3

2 - Convertire video da un formato all’altro (es. MKV > MP4)


→ Convertire video in MP4
ffmpeg -i input.avi -c:v libx264 -crf 19 -preset slow -c:a aac -b:a 64k -ac 2
out.mp4
ffmpeg -i input.avi -c:a aac -b:a 128k -c:v libx264 -crf 23 output.mp4

→ Convertire video in MKV


ffmpeg -i input.mp4 -c:v libx264 -crf 18 -c:a aac output.mkv
ffmpeg -i input.mp4 -c:v h264 -c:a aac output.mkv

3 - Convertire video in audio (es. MP4 > MP3)


ffmpeg -i INPUT.mp4 -vn -c:a mp3 -b:a 192k -ar 44100 -ac 2 OUTPUT.mp3

→ Selezionare audio multitraccia


ffmpeg -i AAA.mkv -map 0:1 -acodec mp3 -bitrate 128 AAA.mp3
ffmpeg -i AAA.mkv -map 0:1 -c:a mp3 -b:a 192k -ar 44100 -ac 2 AAA.mp3
4 - Convertire audio in video con immagine statica (es. MP3 > MP4)
ffmpeg -loop 1 -framerate 2 -i IMMAGINE.jpg -i PODCAST.mp3 -c:v libx264 -preset
fast -tune stillimage -crf 18 -c:a copy -shortest -pix_fmt yuv420p output.mp4

5 - Tagliare audio/video
→ Dal secondo X per X secondi:
ffmpeg -i [input_file] -ss [start_seconds] -t [duration_seconds] [output_file]

→ Dal secondo X al secondo Y:


ffmpeg -i [input_file] -ss [start_seconds] -to [end_seconds] [output_file]

→ ATTENZIONE: encoder legge il file da t0 (inizio) e perde tempo fin da subito.


Evitiamolo anteponendo lo switch di seeking:
ffmpeg -ss [start_seconds] -i input.avi -t [duration_seconds] output.avi

6 - Sostituisci audio al video


→ rimuovere audio dal video
ffmpeg -i INPUT.mp4 -c:v copy -an OUTPUT.mp4

Poi eseguire 👇

→ combinare due stream audio e video


ffmpeg -i OUTPUT.mp4 -i AUDIO.wav -shortest -c:v copy -c:a aac -b:a 256k
COMBINED.mp4

ATTENZIONE: -shortest (output)


Termina la codifica quando termina lo stream di input più corto

ddddd

7 - Regola i LUFS (per Alexa, Youtube, Spotify)


→ Tabella valori: https://youlean.co/loudness-standards-full-comparison-table/

→ LUFS per Alexa skill Flash Briefing: (link reference)

ffmpeg -i PODCAST.mp3 -af loudnorm=I=-14:TP=-3:LRA=11:print_format=json -f mp3


PODCAST-Alexa.mp3

→ LUFS per Google Home: (link reference)


1-pass
ffmpeg -i PODCAST.mp3 -af loudnorm=I=-16:dual_mono=true:TP=-
1.5:LRA=11:print_format=summary -f null -

Qui sotto il risultato:


Input Integrated: -27.2 LUFS
Input True Peak: -14.4 dBTP
Input LRA: 0.1 LU
Input Threshold: -37.7 LUFS

Output Integrated: -15.5 LUFS


Output True Peak: -2.7 dBTP
Output LRA: 0.0 LU
Output Threshold: -26.2 LUFS

Normalization Type: Dynamic


Target Offset: -0.5 LU

2-pass con i valori misurati


ffmpeg -i PODCAST.mp3 -af loudnorm=I=-16:TP=-1.5:LRA=11:measured_I=-
27.2:measured_TP=-14.4:measured_LRA=0.1:measured_thresh=-37.7:offset=-
0.5:linear=true:print_format=summary output.wav

8 - Diminuisci risoluzione e/o framerate e/o bitrate video


→ Video senza audio e scale a 640px
ffmpeg -i input -an -c:v libx264 -crf 26 -vf scale=640:-1 out.mp4

→ Video scale a 1920px per 1080px


ffmpeg -i input -acodec copy -c:v libx264 -crf 26 -vf scale=1920:1080 out.mp4

########### CRF factor ###########

0 ----- 18 ----- 23 ----- 28 ----- 51


lossless better worse worst

→ Video bitrate da 5M a 500k


ffmpeg -i input.mkv -b:v 500k -c:a copy output.mkv

9 - Concatena più tracce audio in una sola


ffmpeg.exe -i 1.mp3 -i 2.mp3 -i 3.mp3 -i 4.mp3 -filter_complex
'[0:0][1:0][2:0][3:0]concat=n=4:v=0:a=1[out]' -map '[out]' AudioUnito.mp3

10 - Unisci più tracce audio in una sola


ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex
‘amix=inputs=3:duration=first:dropout_transition=3’ OUTPUT

http://www.ffmpeg.org/ffmpeg-filters.html#amix

11 - Spettro Podcast
ffmpeg -y -i audio.mp3 -loop 1 -i image.jpg -filter_complex
"[0:a]showwaves=s=1280x100:colors=Yellow:mode=line,format=yuv420p[v];[1:v][v]ove
rlay=0:350[outv]" -map "[outv]" -pix_fmt yuv420p -map 0:a -c:v libx264 -c:a copy
-shortest spettro4.mkv

---> come sopra con tabulazione


ffmpeg -y -i audio.mp3 -loop 1 -i image.jpg -filter_complex
"[0:a]showwaves=s=1280x100:colors=Yellow:mode=line,format=yuv420p[v]; \
[1:v][v]overlay=0:350[outv]" \
-map "[outv]" -pix_fmt yuv420p \
-map 0:a -c:v libx264 -c:a copy -shortest spettro4.mkv

---> NOTE:
-y = sovrascrive file di output esistente
[0] = audio.mp3
[1] = image.jpg
1280x100 = larghezza x altezza spettro
overlay=0:350 = 0px da destra, 350px dall’alto

00:00:00 intro
00:04:21 cos'è ffmpeg
00:06:15 come scaricare ffmpeg
00:08:00 come installare ffmpeg
00:09:35 aprire il prompt CMD
00:12:35 ffmpeg help
00:17:54 convertire audio mp3 to wav
00:25:50 convertire audio wav to mp3
00:32:30 convertire video mkv to mp4
00:39:20 dettagli dei file video (codec e stream)
00:41:50 copiare stream audio
00:44:00 convertire video in audio mp4 to mp3
00:49:00 map stream audio
00:55:00 convertire audio in video (podcast to video)
01:03:05 tagliare audio e video
01:10:18 anteporre switch seeking
01:11:55 sostituire audio ad un video
01:16:56 regolare Lufs (Alexa, Spotify, youtube)
01:26:35 video filter scale
01:33:05 diminuire bitrate di un video
01:35:41 concatena più tracce audio
01:41:45 mixare più tracce audio
01:46:15 spettrogrammma audio
01:54:30 saluti finali