Может ли поток H.264 в файле MP4 содержать эмуляцию стартового кода Приложения B? - PullRequest
1 голос
/ 28 марта 2019

Файл MP4 (фактически это поток HLS, который использует формат MP4) содержит поток H.264 в формате AVC: [NALU length][NALU data].Для декодера H.264 требуется формат Приложения B: [startcode][NALU data].В общем, эмуляция стартового кода может происходить в формате AVC (например, 0x00000001 может происходить внутри закодированных данных).Означает ли это, что формат файла MP4 также может содержать NALU H.264 с эмуляцией стартового кода?Или следует применить защиту от эмуляции перед упаковкой в ​​MP4?

1 Ответ

2 голосов
/ 29 марта 2019

Предотвращение эмуляции всегда применяется для удаления 00 00 00-02 последовательностей из кодированных данных (RBSP), поэтому это не связано с Приложением B: формат Приложения B H.264 касается префиксов начального кода, предшествующих единицам NAL в формате байтового потока, а не в единицах длины.

шпаргалка на этом:

enter image description here

Предотвращение эмуляции - это строка 2 со значениями 0x03, а приложение B - это нижняя строка на изображении выше.

...