Декодировать битовый поток H.264 (AVC) на Android? - PullRequest
2 голосов
/ 04 мая 2011

Я пишу приложение, которое должно декодировать поток битов H.264 (AVC).Я обнаружил, что источники кодеков AVC существуют в / frameworks / base / media / libstagefright / codecs / avc. Кто-нибудь знает, как можно получить доступ к этим кодекам в приложении для Android?Я думаю, что это через JNI, но не ясно, как это можно сделать.

После некоторого исследования я думаю, что один из подходов состоит в том, чтобы создать свои собственные классы и интерфейсы JNI в источнике Android, чтобы включить использование кодеков в приложении для Android.Другой способ, который не требует каких-либо изменений в источнике Android, - это включить CODECS в качестве разделяемой библиотеки в мое приложение, используя NDK.Есть мысли по этому поводу?Какой способ лучше (если возможно)?

Я не нашел много информации о Stagefright, было бы здорово, если бы кто-нибудь мог указать на это?Я разрабатываю на Android 2.3.3.

Любые комментарии высоко ценятся. Спасибо!

1 Ответ

3 голосов
/ 15 июля 2011

Stagefright не поддерживает элементарное декодирование H.264.Однако он имеет компонент декодера H.264.Теоретически эта библиотека может быть использована.Но в действительности, будет трудно использовать ее как отдельную библиотеку из-за ее зависимостей.

Наилучшим подходом было бы использование JNI-упакованного независимого декодера h.264 (как тот, который доступен в ffmpeg).

...