Cos'è un profilo?
Un profilo H.264 definisce più o meno quali “campane e fischietti” l'encoder può usare quando comprime il tuo video - e ci sono molte caratteristiche H.264 che l'encoder può abilitare. Quali di queste è permesso abilitare è definito dal profilo. I profili assicurano la compatibilità tra dispositivi che hanno diverse capacità di decodifica. Con i profili, il codificatore e il decodificatore si accordano su una serie di caratteristiche che entrambi possono gestire.
Cosa fanno i diversi profili?
Per un elenco dettagliato, vedi H.264 Profiles su Wikipedia.
Generalmente, il profilo Baseline limita il codificatore solo ad alcune caratteristiche di base. I video codificati con il profilo baseline possono essere riprodotti facilmente, anche su dispositivi con una potenza di calcolo inferiore, come i vecchi smartphone. I telefoni Android e iOS, per esempio, riproducono ufficialmente solo video codificati con il profilo baseline, ma non High o Main. Questo è cambiato un po’ negli ultimi anni, dove sempre più telefoni possono effettivamente riprodurre video con profilo principale o alto, ma ancora le raccomandazioni ufficiali non menzionano che .
Principalmente per applicazioni a basso costo, questo profilo è più tipicamente usato in videoconferenze e applicazioni mobili. Corrisponde al sottoinsieme di caratteristiche che sono in comune tra i profili Baseline, Main e High
Main e High aggiungono solo caratteristiche a questo. Specialmente il profilo alto è spesso usato nelle trasmissioni:
Il profilo principale per applicazioni di broadcasting e archiviazione di dischi, in particolare per applicazioni televisive ad alta definizione (per esempio, questo è il profilo adottato dal formato di archiviazione Blu-ray Disc e dal servizio di trasmissione DVB HDTV).
B slices sono per esempio ammessi solo nel profilo Main e superiori. Possono essere usati per risparmiare sulla larghezza di banda, ma sono più difficili da decodificare, motivo per cui alcuni dispositivi potrebbero non supportarli.
Cosa ha a che fare con la qualità?
Il profilo influenza solo indirettamente la qualità. Alcune caratteristiche dei profili superiori possono permetterti di ottenere la stessa qualità con dimensioni di file inferiori rispetto ai profili inferiori.
Per esempio, la codifica di entropia CABAC (Main e High) è più efficiente di CAVLC (Baseline). È anche computazionalmente più intenso. Quindi, se dai al codificatore un certo bit rate da spendere, sarà in grado di creare un video di qualità migliore con CABAC che con CAVLC perché raggiunge una compressione molto migliore.
Questo spiega anche perché hai ottenuto una dimensione minore del file con il profilo High - ovviamente, hai in qualche modo impostato un livello di qualità costante e il codificatore potrebbe usare tecniche di compressione più avanzate per creare un file video che ha la stessa qualità del profilo Baseline, ma con dimensioni minori.
Quindi… quale dovresti usare?
Alcune regole di base:
- Profilo Baseline se ti rivolgi a vecchi dispositivi mobili
- Profilo Main o High se ti rivolgi a web streaming, archiviazione a lungo termine, PC o Mac, authoring di Blu-ray, ecc.