В формате H264 поток байтов организован во множество блоков NAL. Чтобы понять, где начинается блок NAL, начинается трехбайтовый или четырехбайтовый код запуска, 0x000001 или 0x00000001, размещается в начале каждого блока NAL.
Существует возможность того, что эта последовательность присутствует также в исходных данных, в данном случае предотвращения байты эмуляции 0x03 используются для преобразования последовательности 0x000000, 0x000001, 0x000002 и 0x000003 в 0x00000300, 0x00000301, 0x00000302 и 0x00000303 соответственно.
В каждом блоке NAL заголовок занимает только первый байт своей последовательности, остальная часть байта представляет фактическую полезную нагрузку.
Заголовок содержит информацию о типе данных, содержащихся в полезной нагрузке, и он может разделить на три части.
Заголовок 0x67 (который является заголовком в вашем блоке NAL), например, соответствует двоичной последовательности . Первый бит этой последовательности() является запрещенным нулем и используется для проверки ошибок, возникающих при передаче пакета.
Следующие 2 бита() называются nal_ref_idc и они указывает, NAL, блок представляет собой ссылку на поле, кадр или изображение.
Остальные 5 бит указывают nal_unit_type. Он определяет тип структуры данных RBSP, содержащийся в блоке NAL. Для более подробного объяснения заголовка блока NAL вы можете обратиться к таблице 7.1, найденной в here, или к official RFC
Я нашел хорошее объяснение формата на этом веб-сайте: [link] (http: //gentlelogic.blogspot. нл/2011/11/исследуя-H264-часть-2-H264-bitstream.html). Я не знаю, действительно ли это отвечает на ваши вопросы, но я думаю, что это могло бы помочь. – Trugis