MP4 / ISO 14496-12: Как найти блоки доступа к видео и аудио?

Я пишу инструмент для проверки файлов MP4 (он же базовый формат медиафайлов ISO, ISO 14496 часть 12).

Я могу интерпретировать большинство блоков, перечисленных в ISO 14496-12, которые генерируются OSS. Мне еще предстоит выяснить, как извлечь отдельные блоки доступа к видео и блоки доступа к аудио.

Я достаточно уверен, что видео H.264 в поле 'mdat' не имеет префикса ISO 14496-10 Annex B «0x000001» в блоках NAL.

Я экспериментировал с интерпретацией SampleToChunkBox ('stsc'), SampleSizeBox ('stsz') и ChunkOffsetBox ('stco'), чтобы найти образцы мультимедиа внутри 'mdat', но я не могу найти ничего, что Я могу интерпретировать как nal_unit () (ISO 14496-10 раздел 7.3.1) или slice_header () (раздел 7.3.3).

Мне также любопытно, где живут SPS (7.3.2.1) и PPS (7.3.2.2). У меня есть подозрение, что они живут где-то внутри ящика с «трактом», но я не понял, где.

Указатели на приложения или библиотеки имеют ограниченную полезность. Я пишу приложение, и внешний исходный код сложнее понять (поскольку он ограничен собственной структурой) по сравнению с математическим объяснением.

10
задан Mutant Bob 15 December 2011 в 19:57
поделиться