У меня есть файл, который содержит только атом mdat в контейнере MP4. Данные в mdat содержат данные AVC. Я знаю параметры кодирования для данных. Формат не соответствует формату байтового потока в Приложении B. Я задаюсь вопросом, как бы я пошел о разборе этого. Я попытался найти заголовок среза, но мне не повезло.
Можно ли разобрать ломтики без NAL?
Блоки AVC NAL имеют следующий формат в разделе MDAT: [4 байта] = длина NAL, порядок сети;[NAL bytes] Вскоре стартовые коды просто заменяются длинами.
Будь осторожен! Длина NAL не обязательно должна быть 4! AvcConfigurationBox ('moov / trak / mdia / minf / stbl / stsd / avc1 / avcC') содержит поле lengthSizeMinusOne, определяющее длину. Но по умолчанию 4.
Я обнаружил, о чем говорил Майкл, в разделе 5.2.3 ИСО 14496-15.
Ответ Себастьяна относится к разделам 5.2.4.1.1 и 5.3.4.1.2.
Вы не сможете разобрать фрагменты в окне «mdat» без копий SPS и PPS из поля «avcC» (определено в разделе 5.2.4.1.1)