У меня есть video_file.mp4, и я знаю, что атом mdat содержит кадры H.264. Также в моем проекте есть кодек H.264. Итак, я прав, если бы я поместил mdat необработанные данные в мой файл байта * decode (byte * data, int timeMsec). Я получу декодированный кадр? Или мне нужны дополнительные операции? Спасибо!Render frame из ISO-файла
1
A
ответ
0
Существует два распространенных формата упаковки бит H.264. 1. Приложение B 2. MP4. Для MP4 режим упаковки отличается, и обычно декодеры предпочитают приложение B, но не всегда. MP4 имеет префикс длины, а в Приложении В содержатся стартовые коды. Некоторые развертки MP4 преобразуют поток бит в приложение B, но не все. Вне разных форматов упаковки - если ваш файл mp4 содержит любые другие потоки, подобные - аудио, весь ваш подход не будет работать. В поле mdat содержатся все потоки, чередующиеся.