2012-04-12 8 views
5

Un file H264 è un flusso di unità NAL (Network Abstraction Layer), ciascuna codifica un frame (I, B o P). Qual è il modo migliore per analizzare questo file e per estrarre le dimensioni e rilevare le estremità di ciascuna unità NAL nel file, oltre a rilevare il tipo di frame che l'unità NAL contiene?Come analizzare file e frame H264

+0

se vieni mai puoi accettare l'altra risposta in modo da poter cancellare il mio – EdChum

risposta

19

Se non sta effettivamente cercando di decodificare i frame, è possibile scrivere un semplice 'parser' da leggere il flusso di byte h.264 e cercare la firma dell'unità NAL.

Ecco cosa è necessario sapere: Unità

  • NAL cominciano Codice: 00 00 01 XY
  • X = Unità IDR Picture NAL (ad esempio 25, 45, 65)
  • Y = non IDR Immagine Unità NAL (ad esempio 01, 21, 41, 61)

Quindi, se si trovano 3 byte [00 00 01] in sequenza, molto probabilmente è l'inizio dell'unità NAL. Quindi dovrai analizzare i successivi due byte [X Y] per scoprire il tipo di frame. Si prega di fare riferimento allo spec per maggiori dettagli.