Интегрируйте пользовательский декодер, чтобы играть на Android и одновременно отображать частоту кадров.

Я разработал собственный декодер как часть моего финального проекта. Мой декодер принимает файлы .steve, теперь я хочу интегрировать свой декодер с платформой Android.

Я много исследовал этот вопрос, и одна из полезных ссылок, которые я нашел, находится здесь. Android: как интегрировать декодер в мультимедийную среду

Проблема, с которой я столкнулся, заключается в том, что я не хочу компилировать весь исходный код Android для интеграции моего декодера. Я хочу создать приложение с файлом .apk, которое может распознавать файлы .steve и воспроизводить видео. Так что любой, кто хочет протестировать мое приложение, может напрямую установить мой apk в свой телефон, а не компилировать исходный код, а затем apk можно будет легко распространить в моей аспирантуре для тестирования моего декодера.


person Steve    schedule 01.03.2014    source источник
comment
@steve.. Если ваш декодер не является одним из стандартных форматов, таких как H.264, MPEG4 и т. д., то я не уверен, что вы можете интегрировать этот новый кодек без модификации собственного уровня или, скорее, кода фреймворка. Вам придется внести некоторые изменения для поддержки MIME типа нового кодека, по крайней мере, при условии, что ваше apk т.е. приложение может использовать MediaCodec интерфейс. Правильно ли я понимаю ваш кодек?   -  person Ganesh    schedule 03.03.2014
comment
@Ganesh, мой декодер основан на эталонном декодере HEVC. Только алгоритмы, относящиеся к моему исследованию, были соответствующим образом изменены, и теперь я хочу, чтобы мой декодер играл с фреймворком. Ганеш, ваша ссылка была очень полезна для меня, можете ли вы предложить мне какие-либо другие альтернативы, где я могу добавить свой источник, включить и интегрировать его с использованием любой структуры, не требуя компиляции всего исходного кода.   -  person Steve    schedule 04.03.2014
comment
@steve.. Если ваш кодек HEVC, то мы должны рассмотреть один аспект. Текущий Android еще не поддерживает HEVC. В этом сценарии необходимо обновить структуру, чтобы она поддерживала HEVC mimetype и позаботилась об их инициализации. Если бы Stagefright фреймворк поддерживал регистрацию HEVC, то я мог бы придумать одно решение: ваш apk состоит из libhevc...so, который копируется в /system/lib, и ваше приложение может быть основано на интерфейсе MediaCodec.   -  person Ganesh    schedule 04.03.2014
comment
Таким образом, вы сможете собрать плеер под свой кодек без дополнительных изменений в AOSP исходниках.   -  person Ganesh    schedule 04.03.2014
comment
@ Ганеш, спасибо за добрый ответ. В настоящее время HEVC не поддерживается в Android, даже если я скопирую свой libhevc...so в /system/lib, что снова потребует изменений в фреймворке. Вот ссылка на кое-что интересное: xhevc.com/resource/ Вы можете просто загрузите туда apk или вы можете напрямую экспортировать проект в eclipse. Я пытался воспроизвести то же самое за последние несколько недель, но безуспешно.   -  person Steve    schedule 04.03.2014
comment
Здесь у них есть плеер, который подключается к планшету/смартфону и может декодировать видео HEVC без каких-либо изменений в фреймворке. Я новичок в Android. Я не смог понять это, поскольку вы хорошо разбираетесь в среде Android, вы можете получить лучшую перспективу (они также использовали ffmpeg).   -  person Steve    schedule 04.03.2014
comment
давайте продолжим это обсуждение в чате   -  person Steve    schedule 04.03.2014


Ответы (1)


Вы не можете интегрировать собственный кодек во весь мультимедийный слой, просто установив apk. Для этого вам необходимо перекомпилировать собственную модифицированную прошивку. Это сложно и неприменимо для производства (вы не можете заставить всех установить вашу версию ОС Android).

Но вы можете разработать свой собственный мультимедийный проигрыватель, который будет содержать поддержку пользовательских кодеков (например, приложение MXPlayer или любое другое). И затем в манифесте вашего приложения вы можете отметить поддержку этого пользовательского формата (.steve), чтобы Android знал, что это приложение может работать с этим форматом.

person dasar    schedule 11.12.2014