Медиакодек Android Невозможно создать экземпляр декодера для типа «видео/mp4»

Работаем над реализацией класса mediamuxer. Он принимает входные данные от класса медиакодека (один аудио и один видео). Но выдает ошибку при попытке закодировать "video/mp4"

Код:

String mime = MimeTypeMap.getSingleton()
                .getMimeTypeFromExtension("mp4");
        codec = MediaCodec.createEncoderByType(mime);

Ошибка:

Unable to instantiate a decoder for type 'video/mp4'

Обратите внимание, что ошибка связана с декодером, а вызов заключается в создании кодировщика.

Я, вероятно, разберусь с этим через минуту, но это будет здесь для всех, кто столкнется с этим.


person HPP    schedule 24.09.2013    source источник


Ответы (1)


После долгих поисков я обнаружил, что это задокументировано, рекомендуемые форматы мультимедиа для Android, но следующие dbro и fadden, MediaMuxer работает, используя следующие типы входных данных MediaEncoder для создания потока elmetary H.264 и мультиплексирования его в файл MP4:

private static final String VIDEO_MIME_TYPE = "video/avc";
private static final String AUDIO_MIME_TYPE = "audio/mp4a-latm";
person HPP    schedule 24.09.2013
comment
Необходимо использовать точную строку, как указано в Android Поддержка разработчиков . Нравится "video/avc" - видео H.264/AVC - person Abhijeet; 16.03.2016