2015-10-19 5 views
4

Android SDK предоставляет класс MediaMetadataRetriever для извлечения метаданных из файлов MP4. Есть ли способ редактировать поля метаданных MP4 с использованием API MediaCodec (без ffmpeg)? Моя задача - сбросить поле rotation.Редактирование метаданных MP4 с использованием MediaCodec API

+1

MediaCodec не работает на этом уровне. Вам нужен API более высокого уровня, такой как MediaMuxer, который включает метод setOrientationHint(). Этот класс предназначен только для создания файлов, но не для их редактирования. – fadden

+0

Эй, @fadden, спасибо за ваш ответ. Вы знаете какой-либо другой способ редактировать метаданные MP4 без использования ffmpeg? –

+0

Эй вы нашли решение? У меня такая же проблема – iMDroid

ответ

1

mp4parser похоже, что вы ищете, хотя я не уверен, где именно поле вращения находится в MP4 (я не знаю достаточно о макете файла). Если вы знаете, в каком поле (или «атоме») находятся метаданные, то классы MetaDataRead и MetaDataInsert являются довольно четкими примерами того, как читать и записывать данные (они специально работают в поле «Имя»/«Название» iTunes , но запись других метаданных работает одинаково, как только вы знаете, где это должно быть расположено). Надеюсь это поможет!

+1

Привет @ monkey_05_06, спасибо за ваш ответ. Я попытался использовать mp4parser для этой задачи, но я столкнулся с некоторыми проблемами с пониманием того, как метаинформация хранится в формате MP4 и как безопасно ее извлекать. Итак, я нашел альтернативное решение, как сбросить ротацию, вот оно: http://stackoverflow.com/questions/33242851/change-rotation-in-mediaformat –

 Смежные вопросы

  • Нет связанных вопросов^_^