Files
videoteca/docs/adr/0003-codec-av1-vs-hevc.md
T

3.0 KiB

0003 — Codec di destinazione: AV1 o HEVC (H.265)

  • Stato: Proposto — decide lo spike M0 con i dispositivi di N-07 (Safari iOS, Chrome Android, desktop)
  • Data: 2026-10-11

Contesto

Il video è riprodotto dal tag <video> del browser, quindi il codec deve essere decodificabile dal browser dell'utente.

Supporto browser (caniuse, consultato 2026-10-11)

Browser AV1 HEVC
Chrome / Edge Supportato Parziale
Firefox Supportato Parziale (dalla 137)
Safari (macOS/iOS) Parziale Supportato

"Parziale" per HEVC su Chrome/Edge/Firefox dipende da decodifica hardware/OS: va provato sulla macchina reale. Per Safari AV1 è "parziale" (tipicamente richiede hardware recente).

Browser di destinazione

Requisito dell'utente (2026-10-11, N-07): compatibilità ampia, in particolare Safari iOS, Chrome Android e Windows (su Windows HEVC in Chrome richiede un decoder hardware, quindi non è affidabile). Con questo vincolo un solo codec moderno spesso non basta:

  • AV1 su Safari richiede un decoder hardware (Safari 17: Mac M3 e successivi, iPhone 15 Pro, iPhone 16 e successivi): non è garantito sui iPhone più vecchi.
  • HEVC su Chrome dipende dall'hardware/OS (decoder hardware su Windows, Linux e ChromeOS; macOS Big Sur 11+ e Android 5.0+).
  • H.264 è l'unico indicato come supportato da tutte le versioni di Chrome, Edge, Firefox, Opera e Safari, ma comprime meno. Fonte: https://developer.mozilla.org/en-US/docs/Web/Media/Guides/Formats/Video_codecs (consultata 2026-10-11; le tabelle HEVC della pagina sono incoerenti: riconfermare con caniuse e con prova diretta in M0). Strade possibili (la scelta è dell'utente dopo le misure di M0): (a) H.264 come unica copia: massima compatibilità, risparmio di spazio minore; (b) H.264 + una seconda versione AV1/HEVC per i dispositivi che la supportano: più spazio e più complessità; (c) un solo codec moderno e rinuncia ai dispositivi più vecchi. Se si vuole "compatibile con tutti", (a) è la più semplice e va misurata per prima.

Opzioni

  • AV1 (libsvtav1): libero da royalty, buon supporto su Chrome/Edge/Firefox, ottima efficienza; codifica più lenta.
  • HEVC (libx265, -tag:v hvc1): ottimo su Safari, supporto altrove legato all'hardware; codifica media.
  • H.264 ricodificato con CRF più alto: massima compatibilità, risparmio minore.

Decisione provvisoria

Se si usa Chrome/Edge/Firefox → AV1. Se Safari → HEVC. Il default non si fissa finché M0 non ha: (1) verificato la riproduzione sui browser dell'utente, (2) misurato risparmio e tempi su 3 file campione, (3) confrontato la qualità visiva. Parametri iniziali da tarare (non definitivi): -c:v libsvtav1 -crf 30 -preset 6 oppure -c:v libx265 -crf 26 -preset medium -tag:v hvc1; audio aac; sempre -movflags +faststart.

Conseguenze

Se il codec non è supportato, il player mostra un messaggio esplicito (non uno schermo nero).

Fonti