Обнаружение возможности использования нескольких MediaCodec в качестве кодировщика видео в Android.

Обратитесь к этот вопрос, это устройство -зависит от того, может ли приложение использовать несколько экземпляров MediaCodec в качестве видеокодера или нет. Есть ли рекомендуемый способ определить возможность этого на устройствах?

Например, есть ли Android API для запроса поддержки нескольких видеокодеров или их максимального количества, или это можно проверить при создании/инициализации экземпляра MediaCodec перед процессом кодирования? Я хочу определить возможности устройства в своем приложении без необходимости кодирования плохих видео или даже сбоев.


person Mark    schedule 14.07.2014    source источник


Ответы (2)


Начиная с Android 4.4 такого API нет.

Единственный известный мне способ сделать это - попытаться настроить кодировщики и посмотреть, не сработает ли он. Команда screenrecord делает нечто подобное: она пытается закодировать видео с полным разрешением экрана. Если это не удается, он возвращается к 720p и пытается снова.

person fadden    schedule 14.07.2014

По сути, у него есть такой API для Android 6.0+ (версия MarshMallow), вы можете проверить более подробно здесь getMaxSupportedInstances

Для Android 4.4 нет, у него нет такого API для разработчиков, чтобы проверить, сколько экземпляров медиакодека поддерживает это устройство (но помните, даже если вы обнаружите, что устройство может создать 10 экземпляров медиакодека, это не значит, что вы можете открыть это много).

Вы можете проверить мою привязку кода здесь. Проверка экземпляров медиакода

person Chauyan    schedule 19.02.2017