2010-09-16 3 views
0

Кто-нибудь знает какой-нибудь удобный способ захвата видео в файл или поток из приложения OpenGL на Android-устройстве?Видеозахват Android OpenGL

Например, можно ли снимать видео с вида, opengl view?

Я только что узнал следующее: 1) Мы можем получить фреймы с использованием glReadPixels. (Нет видео на этом шаге?) 2) MediaRecorder может кодировать видео, но как мы можем предоставить ему наш исходный источник, если это возможно? 3) Любые рабочие порты ffmpeg (например) или другие библиотеки кодирования? Есть несколько руководств по portng ffmpeg для использования с NDK. Итак, имея необработанные рамки и рабочий порт ffmeg, мы можем создавать видео? Любые проблемы на этом этапе? Кому-нибудь удалось успешно перенести любую библиотеку кодирования? Какие компоненты мне нужны из ffpmeg?

Предпочитаемые форматы - mp4 или flv. Целевые устройства> 2.1. NDK не проблема

ответ

-1

Нелегкий ответ на ваши вопросы, но вот несколько указателей, по крайней мере, чтобы вы шли в правильном направлении.

Для захвата видеокадров (не-gl), например, из общего MediaPlayer вам понадобится аппаратная поддержка, и я имею в виду драйвер устройства. В настоящее время большинство поставщиков оборудования предоставляют h/w-ускорители в свои чипы, такие как DSP, чтобы ускорить использование видео и камер. В дополнение к этому есть поддержка пользовательского пространства (Media Framework и приложения), позволяющая вам получить доступ к драйверу устройства, поэтому медиа-инфраструктура будет вашим лучшим выбором для выполнения захвата видео. Я бы рекомендовал изучить некоторые из проектов с открытым исходным кодом, такие как gst-plugins в Android (http://gitorious.org/rowboat/external-gst-plugins-android/trees/master), что определенно даст вам представление о том, как складываются вещи.

Для корпуса gl-view вам понадобится поддержка текстурных потоков в драйвере GL. Прямо сейчас нет стандартного способа для этого (т. Е. Текущие драйверы могут поддерживать его через проприетарное расширение). Использование glReadPixels для захвата кадров не очень эффективно, так как есть флеш, и это может повредить частоту кадров.

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