▶ Video e streaming

Audio nei file video: codec, tracce e problemi di sincrono

Quale codec audio usare in un video, come gestire più tracce e lingue, perché audio e immagine perdono il sincrono e come correggere i ritardi.

In un file video l'audio è spesso trattato come un dettaglio, ma è responsabile di una parte sorprendente dei problemi: tracce che non si sentono su certi dispositivi, lingue sbagliate selezionate per impostazione predefinita, labbra che si muovono prima della voce. Questa guida si concentra sull'audio come componente del file video: quali codec scegliere, come organizzare le tracce e come diagnosticare e correggere la perdita di sincronizzazione.

Codec audio nei container video

Codec Dove si usa Note
AAC MP4, MOV, MKV, HLS il più compatibile con video H.264 e HEVC
Opus WebM, MKV, MP4 recenti molto efficiente, standard del web moderno
AC-3 / E-AC-3 broadcast, dischi, streaming audio multicanale, supporto diffuso sui televisori
PCM MOV, MXF, MKV non compresso, per montaggio e master
FLAC MKV senza perdita, adatto all'archivio
DTS dischi, MKV multicanale, supporto più limitato

Per la distribuzione generica, AAC stereo tra 128 e 192 kbps è una scelta solida. Per il web con WebM o AV1, Opus ottiene buoni risultati con bitrate inferiori. Per il montaggio è preferibile il PCM a 48 kHz, che evita perdite tra un passaggio e l'altro.

La frequenza di campionamento

Il video usa per convenzione i 48 kHz, mentre la musica su CD usa 44,1 kHz. Mescolare le due frequenze senza conversione corretta in un programma di montaggio può produrre piccoli sfasamenti o artefatti. È buona regola registrare e lavorare a 48 kHz e convertire una sola volta eventuali musiche a 44,1 kHz all'inizio del progetto.

Più tracce e lingue

Un container come MKV o MP4 può contenere più tracce audio. Ognuna dovrebbe avere:

  • un codice lingua (per esempio ita o eng), che permette ai lettori di scegliere la traccia giusta;
  • un titolo descrittivo, come «Commento del regista» o «Audiodescrizione»;
  • un'indicazione di traccia predefinita, per stabilire quale parte all'avvio.

Con FFmpeg si impostano così:

ffmpeg -i video.mkv -map 0 -c copy -metadata:s:a:0 language=ita -metadata:s:a:1 language=eng -disposition:a:0 default -disposition:a:1 0 uscita.mkv

Se le lingue non sono dichiarate, il lettore sceglie in genere la prima traccia, che non sempre è quella desiderata.

Come si sincronizzano audio e immagine

Ogni pacchetto audio e video nel container ha una marcatura temporale di presentazione (PTS) che indica quando va riprodotto. Il lettore usa di solito l'audio come orologio di riferimento e mostra i fotogrammi al momento giusto rispetto a esso. Il sincrono si perde quando queste marcature non corrispondono a ciò che è stato effettivamente registrato.

Le due forme di desincronizzazione

Ritardo costante

L'audio è avanti o indietro della stessa quantità dall'inizio alla fine. Cause tipiche:

  • ritardi di elaborazione diversi tra telecamera e microfono esterno;
  • schede di acquisizione che introducono qualche fotogramma di ritardo sul video;
  • remux che hanno perso un valore di ritardo iniziale.

Si corregge spostando l'audio. Con FFmpeg, per ritardare l'audio di 200 millisecondi senza ricodificare:

ffmpeg -i video.mp4 -itsoffset 0.2 -i video.mp4 -map 0:v -map 1:a -c copy corretto.mp4

Deriva progressiva

All'inizio è tutto a posto, ma dopo dieci minuti la voce arriva in ritardo, e la distanza cresce. Cause tipiche:

  • frame rate variabile di smartphone e registratori dello schermo, mal interpretato dal programma di montaggio;
  • registratori audio esterni con un orologio interno leggermente diverso da quello della telecamera;
  • conversioni tra 23,976 e 24 fps, o tra 44,1 e 48 kHz, eseguite in modo incoerente.

Qui spostare l'audio non basta: bisogna allungare o accorciare leggermente la traccia, oppure convertire prima il video a frame rate costante. Con FFmpeg il filtro aresample=async=1 aiuta a correggere piccole irregolarità, mentre per la conversione del frame rate si usa il filtro fps.

Diagnosi rapida

  1. Guardate una scena con un suono netto e visibile, come un battito di mani o il ciak.
  2. Controllate lo sfasamento all'inizio e verso la fine del file.
  3. Se è uguale, si tratta di un ritardo costante; se cresce, di una deriva.
  4. Verificate con MediaInfo se il video è a frame rate variabile.
  5. Provate il file con un altro lettore: alcuni problemi dipendono solo dal software di riproduzione.

Registrare evitando i problemi

  • registrate sempre anche l'audio della telecamera, come riferimento per allineare quello esterno;
  • usate un ciak o un battito di mani all'inizio di ogni ripresa;
  • impostate telecamera e registratore audio sulla stessa frequenza di campionamento;
  • per riprese lunghe con registratore separato, suddividete in clip più brevi per limitare la deriva.

In sintesi

  • AAC è il codec audio più compatibile, Opus il più efficiente per il web, PCM il migliore per il montaggio.
  • Lavorate a 48 kHz, lo standard del video.
  • Dichiarate lingua, titolo e traccia predefinita per ogni traccia audio.
  • Un ritardo costante si corregge spostando l'audio; una deriva richiede di riscalare la traccia o fissare il frame rate.
  • Un ciak all'inizio di ogni ripresa rende facile l'allineamento.
MM
Marco Marzaduri

Marco Marzaduri si occupa di cybersecurity, informatica forense e sviluppo web. Laureato in informatica, unisce il rigore dell'analisi tecnica all'attenzione per le persone che usano la tecnologia.

Leggi anche