Grabación de marcos generados por Open GL ES en android
Estoy captando marcos de la cámara y procesándolos en tiempo real a través de OpenGL ES 2.0. Ahora quiero grabarlos en un archivo de película junto con el audio. En el iPhone, tenía AVAssetWriter que se encargaría de la grabación, dándome 30fps. ¿Cuáles son mis opciones en android? Intenté buscar pero no pude encontrar ninguno.
ACTUALIZACIÓN: Para aquellos que se preguntan qué intento hacer, vea esta aplicación: https://play.google.com/store/apps/details?id=com.androidillusion.videocamillusion&hl=es
- Implementación de problemas GLSurfaceView.Renderer
- GLSL ES falla las variables locales?
- OpenGL ES 2.0 vs OpenGL 3 - Similitudes y diferencias
- Pasar atributos personalizados a un shader de fragmentos personalizado
- Cómo utilizar la cámara con Android OpenGL ES para trabajar?
Esta es la única aplicación que encontré que podría realizar 30FPS de vídeo de representación / grabación. Mi objetivo es tratar de averiguar cómo se hace.
- Android OpenGL ES: auto-corrección env-> self y NvRmChannelSubmit fallaron
- OpenGL ES 2.0 texture2D sesgo / lod
- Vertex Shader no puede compilar. No puedo encontrar el error
- Android opengl-es-2.0 - explicación rotateM
- ¿Textura al revés? | OpenGL-ES 2.0 (Android)
- Detectar si OpenGl ES 2.0 está disponible o no
- Uso del flujo de vídeo como textura abierta de GL ES 2.0
- ¿Cuál es el significado de la clase EGL14
Una vez que capture los fotogramas de la cámara y los muestre con OpenGL, supongo que ya tiene esos fotogramas en su memoria y no necesita usar OpenGL para volver a leer las imágenes renderizadas.
Puede utilizar las bibliotecas FFmpeg o libtheora para intercalar sus secuencias de audio / vídeo en un archivo. Ambos pueden ser compilados para Android y son compatibles con NDK.
Hay un montón de tutoriales para ambas bibliotecas.
En el caso de Theora, puede convertir los fotogramas a YUV-color utilizando GLES 2 shaders.
PS Si necesita leer algo de OpenGL ES, utilice glReadPixels()
y prosiga con estas bibliotecas de codificación de vídeo.