Quali sono le differenze tra i profili H.264?


56

Stavo eseguendo il rendering di un video in After Effects CS5 e durante la formattazione ho scelto il codec H.264 e in quel formato aveva un profilo con Baseline, Main e High.

Quindi ho fatto un piccolo test: renderizzare entrambi i file con Baseline e High. L'unica cosa che ho notato è che la dimensione del video era più piccola, alta offrendo la dimensione del file più piccola.

Volevo solo sapere qual è la differenza in quale sarebbe meglio per qualità e meglio per le dimensioni del file.

Risposte:


79

Cos'è un profilo?

Un profilo H.264 definisce più o meno quali "campane e fischietti" possono utilizzare l'encoder durante la compressione del video, e ci sono molte funzioni H.264 che l'encoder può abilitare. Quelli che è consentito abilitare sono definiti dal profilo. I profili assicurano la compatibilità tra dispositivi con diverse capacità di decodifica. Con i profili, l'encoder e il decoder concordano su un set di funzionalità che entrambi possono gestire.

Cosa fanno i diversi profili?

Per un elenco dettagliato, vedere Profili H.264 su Wikipedia.

In generale, il profilo della linea di base limita l'encoder solo a determinate funzionalità di base. I video codificati con il profilo di base possono essere facilmente riprodotti, anche su dispositivi con potenza computazionale inferiore, come smartphone più vecchi. I telefoni Android e iOS, ad esempio, riproducono ufficialmente solo video codificati con il profilo di base, ma non Alto o Principale . Questo è cambiato un po 'negli ultimi anni, in cui sempre più telefoni possono effettivamente riprodurre video principali o di alto profilo, ma i consigli ufficiali non lo menzionano ancora .

Principalmente per applicazioni a basso costo, questo profilo viene generalmente utilizzato in videoconferenza e applicazioni mobili. Corrisponde al sottoinsieme di funzionalità comuni tra i profili di base, principale e alto

Principale e Alta aggiungono solo funzionalità. Soprattutto l'alto profilo viene spesso utilizzato nelle trasmissioni:

Il profilo principale per le applicazioni di archiviazione su disco e trasmissione, in particolare per le applicazioni televisive ad alta definizione (ad esempio, questo è il profilo adottato dal formato di archiviazione Blu-ray Disc e dal servizio di trasmissione DVB HDTV).

Le sezioni B sono ad esempio consentite solo nel profilo principale e sopra. Possono essere utilizzati per risparmiare sulla larghezza di banda, ma sono più difficili da decodificare, motivo per cui alcuni dispositivi potrebbero non supportarli.

Che cosa ha a che fare con la qualità?

Il profilo influenza solo indirettamente la qualità. Alcune funzionalità di profili più alti possono consentire di ottenere la stessa qualità con file di dimensioni inferiori rispetto ai profili più bassi.

Ad esempio, la codifica entropia CABAC ( principale e alta ) è più efficiente di CAVLC ( linea di base ). È anche dal punto di vista computazionale più intenso. Pertanto, se dai all'encoder una certa velocità in bit da spendere, sarà in grado di creare un video di qualità migliore con CABAC rispetto a CAVLC perché consente una compressione molto migliore.

Questo spiega anche perché hai ottenuto file di dimensioni inferiori con il profilo alto - ovviamente, in qualche modo hai impostato un livello di qualità costante e il codificatore potrebbe usare tecniche di compressione più avanzate per creare un file video che abbia la stessa qualità del profilo di base , ma con dimensioni inferiori taglia.

Quindi ... quale dovresti usare?

Alcune regole di base:

  • Profilo di base se scegli come target vecchi dispositivi mobili
  • Profilo principale o alto se scegli come target streaming web, archiviazione a lungo termine, PC o Mac, creazione di Blu-ray, ecc.

8
Da quando questo è stato scritto, praticamente tutti gli smartphone, inclusi Android e altri dispositivi, ora hanno un profilo principale e molti giocano in alto. Il supporto di alto profilo, ad esempio, è supportato dalla maggior parte dei dispositivi che dichiarano di riprodurre contenuti ad alta definizione. Puoi quasi sicuramente fare affidamento su principale o superiore. Baseline era una versione altamente paralizzata di H. 264 progettata per i dispositivi limitati dei decenni passati.
thomasrutter,

Non tutti hanno uno smartphone recente. Android consiglia comunque di utilizzare il profilo di base . Lo stesso vale per iOS . Certo, alcuni (la maggior parte dei nuovi) dispositivi supportano profili più alti, ma se vuoi rimanere compatibile con hardware di fascia bassa, dovrai sceglierlo. Ma ho modificato la mia risposta per riflettere ciò che stai dicendo.
slhck,

Interessante - il player integrato mi ha supportato per un po ', ma il tuo punto è valido - non puoi fare affidamento su questo. Tuttavia, puoi fare affidamento su lettori software di terze parti per il profilo principale e di alto profilo, ad esempio giocatori come MX Player hanno il supporto software per profili più alti, purché sia ​​basato su ARM e prestazioni della CPU sufficientemente elevate.
thomasrutter,

Si noti che a partire dal 2016, Google Photos, quando esegue i backup, converte i video caricati che sono stati registrati su un Nexus 6 Android in alto profilo nel profilo di base (in modalità di backup "alta qualità" "spazio di archiviazione gratuito gratuito")
nealmcb

Ancora le migliori informazioni che ho letto su ffmpeg nel 2017. OTTIMO POST.
typeoneerror,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.