2016-06-29 6 views
1

00 00 00 01 67 42 00 1F E6 20 0A 00 B6 60 22 00 00 03 00 02 00 00 03 00 79 C0 00 00 10 FD D0 00 00 40 16 43 F4 A4 18 00 00 03 02 1D 97 00 00 1A B3 F1 FA 52 05 00 00 00 01 68Как понять заголовок H264

Мой NAL блок выглядит так, как я могу понять, что данные в RBSP как размер полезной нагрузки и что означает данные его

+0

Я нашел хорошее объяснение формата на этом веб-сайте: [link] (http: //gentlelogic.blogspot. нл/2011/11/исследуя-H264-часть-2-H264-bitstream.html). Я не знаю, действительно ли это отвечает на ваши вопросы, но я думаю, что это могло бы помочь. – Trugis

ответ

4

В формате H264 поток байтов организован во множество блоков NAL. Чтобы понять, где начинается блок NAL, начинается трехбайтовый или четырехбайтовый код запуска, 0x000001 или 0x00000001, размещается в начале каждого блока NAL.

image Существует возможность того, что эта последовательность присутствует также в исходных данных, в данном случае предотвращения байты эмуляции 0x03 используются для преобразования последовательности 0x000000, 0x000001, 0x000002 и 0x000003 в 0x00000300, 0x00000301, 0x00000302 и 0x00000303 соответственно.

В каждом блоке NAL заголовок занимает только первый байт своей последовательности, остальная часть байта представляет фактическую полезную нагрузку.

image2

Заголовок содержит информацию о типе данных, содержащихся в полезной нагрузке, и он может разделить на три части.

Заголовок 0x67 (который является заголовком в вашем блоке NAL), например, соответствует двоичной последовательности . Первый бит этой последовательности() является запрещенным нулем и используется для проверки ошибок, возникающих при передаче пакета.

Следующие 2 бита() называются nal_ref_idc и они указывает, NAL, блок представляет собой ссылку на поле, кадр или изображение.

Остальные 5 бит указывают nal_unit_type. Он определяет тип структуры данных RBSP, содержащийся в блоке NAL. Для более подробного объяснения заголовка блока NAL вы можете обратиться к таблице 7.1, найденной в here, или к official RFC

+0

Как узнать из заголовка, сколько данных будет следовать за заголовком. Это насколько размер полезной нагрузки? –

+0

В заголовке нет информации о величине полезной нагрузки, вы получаете размер каждого блока NAL, просматривая трехбайтовый или четырехбайтовый стартовый код. – Trugis

+0

Какова информация в 3 байтах или 4 байтах, как вы сказали, мы можем получить информацию о размере –