MP4 o WebM: quale conviene esportare?
Un sito vuole un MP4 e il mio file è WebM. È una conversione o basta rinominarlo?
La domanda in realtà è doppia
MP4 e WebM sono contenitori. Un contenitore è un sistema di archiviazione: contiene una o più tracce, ne registra i tempi, conserva l'indice che permette a un lettore di spostarsi nella riproduzione e trasporta i metadati. Non comprime nulla. La compressione la fa un codec, e il flusso di bit codificato è ciò che il contenitore trasporta.
Quindi «MP4 o WebM» è una domanda sull'imballaggio, mentre «H.264, VP9 o AV1» è la domanda sulla compressione. Confonderle è il motivo per cui si ricodificano file che avevano solo bisogno di un nuovo imballaggio, perdendo una generazione di qualità per niente.
Cosa di solito c'è dentro l'uno e l'altro
| Caratteristica | MP4 | WebM |
|---|---|---|
| Formato di base | ISO base media file format (ISO/IEC 14496-12) | Un profilo di Matroska |
| Codec video abituali | H.264, HEVC, AV1 | VP8, VP9, AV1 |
| Codec audio abituali | AAC, a volte AC-3 o FLAC | Opus, Vorbis |
| Profilo di licenza | I codec brevettati sono comuni | Progettato attorno a codec esenti da royalty |
| Dove è la scelta sicura | Telefoni, lettori desktop, software di montaggio, piattaforme social | Il web, soprattutto con VP9 o AV1 |
Nessuno dei due elenchi è una regola. Un contenitore è in larga parte indifferente al codec, ed entrambi possono trasportare AV1. Quello che cambia è ciò che il software dall'altra parte è disposto ad accettare.
Dove ciascuno viene davvero riprodotto
Un MP4 che trasporta H.264 e AAC è la cosa più vicina a un file video universale. Si riproduce sui telefoni, sui televisori, nei software di montaggio, nelle app di messaggistica, ed è quello che i moduli di caricamento di solito intendono quando dicono «video». È per via di questo predominio che i decoder hardware per H.264 sono praticamente in ogni dispositivo uscito negli ultimi quindici anni, cosa che conta per l'autonomia della batteria tanto quanto per la compatibilità.
WebM è nato per il web, con codec che non comportano obblighi di royalty per lo streaming. I browser lo gestiscono bene. Il software che non è un browser è meno affidabile: alcuni strumenti di montaggio, alcuni televisori e alcune gallerie dei telefoni non lo aprono, e un collega che ci fa doppio clic sopra può non vedere proprio niente.
Remux contro ricodifica
Se il codec dentro il tuo file è già accettabile per la destinazione, cambiare contenitore è un remux: i fotogrammi codificati vengono copiati così come sono e viene riscritto solo l'imballaggio. È veloce, è senza perdita e l'immagine è identica bit per bit. Se il codec non è accettabile — VP9 dentro un MP4 per un lettore che legge solo H.264 — allora i fotogrammi vanno decodificati e codificati di nuovo, il che richiede tempo reale e costa una generazione di qualità.
Per questo la prima domanda utile è «quale codec c'è dentro», non «che estensione ha». Gli strumenti video di FileSlimmer ispezionano prima le tracce e fanno un remux invece di ricodificare ogni volta che la destinazione lo consente.
Non dimenticare la traccia audio
Un cambio di contenitore che ignora l'audio produce un file muto sul lettore sbagliato. Per convenzione l'MP4 trasporta AAC; il WebM trasporta Opus o Vorbis. Mettere Opus dentro un MP4 è lecito secondo la specifica e non supportato da moltissimo software in circolazione, quindi una conversione onesta verso MP4 comporta di solito anche codificare l'audio in AAC.
Se una clip non ha proprio audio, dichiaralo esplicitamente in ciò che esporti. Alcuni lettori si bloccano quando si aspettano una traccia che non c'è.
Un breve elenco per decidere
- Devi mandare il file a una persona, a una piattaforma o a un modulo di caricamento: MP4 con H.264 e AAC.
- Servi tu stesso il file, dalle tue pagine, verso i browser: WebM con VP9, oppure AV1 in uno dei due contenitori, con un MP4 di ripiego se il tuo pubblico è ampio.
- Dovrai montarlo in seguito: conserva l'originale di qualità più alta che hai, nel contenitore in cui è arrivato.
- Sbagliato è solo il contenitore e i codec sono già quelli giusti: fai un remux, non ricodificare.
- Non sai cosa c'è dentro: controlla i codec prima di scegliere, perché la risposta decide se ti costerà secondi oppure un'ora.
Limiti che vale la pena conoscere
La codifica video nel browser dipende da ciò che il dispositivo mette a disposizione. Gli encoder hardware sono legati a un formato specifico: una macchina può codificare H.264 in fretta e VP9 lentamente, oppure rifiutare del tutto un codec. Il supporto cambia anche fra browser diversi sulla stessa macchina, e fra un browser e lo stesso browser su un telefono. Una conversione che su un portatile dura pochi secondi può richiedere molto di più su un telefono che deve anche gestire la propria temperatura.
La scelta del contenitore non può salvare un file che è grande per via del suo contenuto. Una clip lunga, ad alta risoluzione, con molto movimento, è grande in qualsiasi contenitore. A deciderlo sono risoluzione, bitrate e durata, e nessun reimballaggio li cambia.
Strumenti utili
Fonti
- ISO/IEC 14496-12 — ISO base media file format
- The WebM Project — container guidelines
- ITU-T H.264 — Advanced Video Coding
- MDN — Media container formats and codec support