Как декодировать кадры из атома MDAT, извлеченного из видео mp4

Я новичок в области видеокодеков и изучения спецификаций формата видеофайлов. Я прочитал о спецификациях формата файлов QUICKTIME отсюда, и формат файла MP4 (который почти аналогичен) отсюда. Есть атомы, такие как FTYPE, MOOV, MDAT и т. Д. Атом MDAT содержит фактические аудио и видео данные. Атом MOOV содержит информацию о том, как извлечь данные из MDAT, он дает ссылки на фрагменты (образцы).

Я хочу извлечь образцы видео в атоме MDAT из видеофайла без использования какого-либо инструмента, такого как ffmpeg или juggler и т. Д. Я могу написать свой собственный код для этого. Проблема в том, что даже если я могу найти видеоданные (сэмплы) в MDAT, используя информацию из MOOV, эти сэмплы сжимаются. И нам нужно распаковать их, чтобы получить кадры. Мой вопрос: можем ли мы распаковать образцы, извлеченные из MDAT, и получить реальные видеокадры?

Такие инструменты, как xuggler, ffmpeg и т. Д. Используются для извлечения кадров из видеофайлов. Но здесь я хочу извлечь примеры (для видеоданных) из MDAT, написав свой собственный код, но затем я хочу распаковать их с помощью некоторого инструмента. Я не хочу писать кодеки.

Может кто-нибудь, пожалуйста, помогите мне с этим....!

Спасибо...

1 ответ

ffmpeg - это коллекция библиотек. libavformat используется для чтения и записи файлов (что вы делаете со своим собственным кодом), libavcodec может использоваться самостоятельно для декодирования образцов.

Другие вопросы по тегам