Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Grabación de una superficie con MediaCodec

Por lo tanto, en mi aplicación, puedo mostrar efectos (como el filtro borroso, gaussiano) al vídeo que viene de la cámara usando la biblioteca GPUImage .

Básicamente, I (biblioteca) tomará la entrada de la cámara, obtendrá los datos de bytes sin procesar, los convertirá en formato RGBA a partir del formato YUV, luego aplicará efectos a esta imagen y se mostrará en la Surface de GLSurfaceView con OpenGL. Finalmente, para el usuario, se ve como un video con efectos aplicados.

Ahora quiero grabar los marcos de Surface como un video usando la API de MediaCodec .

Pero esta discusión dice que no podemos pasar una Surface predefinida a MediaCodec .

He visto algunas muestras en bigflake donde está creando la Surface usando MediaCodec.createInputSurface() pero para mí, la Surface viene del GLSurfaceView .

Entonces, ¿cómo puedo grabar un marco de una Surface como un video?

Voy a grabar el audio en paralelo, combinar ese video y audio usando FFMPEG y presentar al usuario como un video con efectos aplicados.

  • OpenGL en Android versus iOS: optimizaciones, y donde difieren
  • Limitación del tamaño de la textura? Android Open GL ES 2.0
  • Imágenes en vivo de Android - OpenGL vs Canvas
  • Cómo hacer una cámara personalizada con Live Stickers
  • Android NDK OpenGL ES 2.0 Tono de textura
  • Muestra una fuente de video de gstreamer en Google Cartón SurfaceTexture
  • Error "Permiso denegado" al instalar apk en el dispositivo
  • Uso de la clase GLSurfaceView con diseños xml para Android
  • One Solution collect form web for “Grabación de una superficie con MediaCodec”

    Usted puede ver un ejemplo completo de esto en Grafika .

    En particular, la actividad "Show + capture camera" registra la salida de la cámara a .mp4. También demuestra la aplicación de algunas técnicas simples de procesamiento de imágenes en el sombreado GL. Utiliza un GLSurfaceView y una danza convoluted para mantener la grabación va a través de cambios de orientación.

    También posiblemente de interés, la "Record GL app con FBO" registra la actividad de OpenGL ES haciendo un par de maneras diferentes. Utiliza SurfaceView simple y es mucho más sencillo.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.