Frage

Ich habe versucht, ein wenig über h264 zu lernen, indem sie auf dem Bitstrom einer Videodatei mit einem Hex-Editor suchen. Ich fand hier die Startcodes für ein Videoobjektebenen ( 0x000001b6) und für i-Frames (0x000001b600).

Aber ich kann nicht viele dieser Bytes in Video-Dateien. Die meiste Zeit erscheinen diese Startcodes am Anfang einer Datei mit nur ein paar Bissen zwischendurch. Ich erwartete, dass sie sehr regelmäßig zu zeigen, in gleichem Abstand in der ganzen Datei!?

Sie ist auch in Ordnung, auf diese Weise mit einem Hex-Editor mit einer Datei zu suchen? Was andere Startcodes existieren und wie wird eine h264 Datei organisiert?

War es hilfreich?

Lösung

Der 0x000001b6 Startcode gilt für MPEG-4 Part 2 Video, welches das einfache Profil ist. Dies entspricht Codecs wie XVID und DIVX. H.264 ist MPEG-4-Teil 10, der die fortschrittliche Videocodierungs Profil ist. H.264 verwendet verschiedenen Startcodes.

Ich bin nicht so vertraut mit Teil 10, wie ich mit einem Teil bin 2, aber ein kurzer Blick durch die Norm (ISO 14496-10) zeigt, dass der Bitstrom in Abschnitte NAL-Einheiten genannt gebrochen. Diese Geräte haben den 24-Bit-Code 0x000001 vorhergehenden sie für die Synchronisierung gemäss Abschnitt B.1.1. Das folgende Byte besteht aus den Feldern forbidden_zero_bit, nal_ref_idc und nal_unit_type gemäß Abschnitt 7.3.1.

Ich bin nicht sicher, ob diese NAL-Einheiten auf Rahmengrenzen getrennt oder nicht. Sie können nur ein Halten der Standard erhalten müssen, die alle von der Bitstrom-Syntax legt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top