40 lines
3.0 KiB
Markdown
40 lines
3.0 KiB
Markdown
# 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
|
||
|
|
- https://caniuse.com/av1 · https://caniuse.com/hevc (2026-10-11)
|