2010-04-28 6 views
2

Я пытался немного узнать о h264, посмотрев бит-поток видеофайла с шестнадцатеричным редактором. Я нашел here стартовые коды для плоскостей видеообъектов (0x000001b6) и для i-кадров (0x000001b600).Как организован битовый поток идеи h264?/start start code

Но я не могу найти многие из этих байтов в видеофайлах. В большинстве случаев эти стартовые коды появляются в начале файла с несколькими проходами между ними. Я ожидал, что они появятся очень регулярно, на равном расстоянии по всему файлу !?

Является ли даже нормально просматривать файл с шестнадцатеричным редактором таким образом? Какие другие стартовые коды существуют и как создается файл h264?

ответ

3

Код запуска 0x000001b6 относится к видео mpeg-4 part 2, которое представляет собой простой профиль. Это соответствует кодекам, таким как XVID и DIVX. H.264 - mpeg-4 часть 10, которая является расширенным профилем кодирования видео. H.264 использует разные стартовые коды.

Я не так хорошо знаком с частью 10, поскольку я с частью 2, но краткий обзор стандарта (ISO 14496-10) показывает, что бит-поток разбит на секции, называемые единицами NAL. Эти устройства имеют 24-битный код 0x000001, предшествующий им для синхронизации в соответствии с разделом B.1.1. Следующий байт состоит из полей forbidden_zero_bit, nal_ref_idc и nal_unit_type согласно разделу 7.3.1.

Я не уверен, разделены ли эти блоки NAL на границах рамки или нет. Возможно, вам просто нужно овладеть стандартом, который выдает весь синтаксис битового потока.

+0

Спасибо большое! Я начал искать mpeg4 part2 вместо этого, так как я просто хотел получить краткий обзор того, как mpeg4 работает по битлу! Еще раз спасибо! – Matt