2012-01-12 8 views
8

Lo que intento hacer es crear una aplicación que agregue efectos a los videos durante la grabación. ¿Hay alguna manera de tener un método de devolución de llamada para recibir el marco, luego aplicarle un efecto y grabarlo? Actualmente hay una aplicación en Android Market (Videocam Illusion) que afirma que es la única aplicación que puede hacer esto. ¿Alguien sabe cómo Videocam Illusion hace esto o tiene algunos enlaces a posibles tutoriales que describen el procesamiento de video para Android?Procesamiento de video de Android cuadro por cuadro durante la grabación

Ésta es una pregunta similar que no se contesta:

Android preview processing while video recording

Respuesta

11

Desafortunadamente, (a menos que esté al tanto de algún otro método que proporciona la API) la manera de hacer esto es utilizando una corriente directa a la cámara y manipularla mediante el uso de algún tipo de código nativo para modificar la secuencia. He hecho algo similar a esto antes cuando estaba trabajando en un eyetracker. Así que te diré cómo funciona básicamente.

  1. abrir una secuencia utilizando el NDK (posiblemente api, dependiendo de las implementaciones)
  2. modificar el bytes de la corriente - cada trama se envía como un paquete separado. Tienes que agarrar cada paquete de la cámara y modificarlo. Puedes hacer un reemplazo de colores, o puedes traducir. También puede usar OpenGL para modificar la imagen por completo agregando cosas como efectos de vidrio.
  3. Aplanar las imágenes
  4. envíe la imagen al controlador de vista para mostrar.

Una cosa que hay que tener en cuenta es la carga y enviar los paquetes de imágenes & ocurren en aproximadamente 1/30 de un segundo para cada cuadro. Entonces el código tiene que ser extremadamente optimizado.

+1

Gracias por la información. – daveySET

+0

Me gusta el comentario de aproximadamente 1/30 de segundo. Los programadores usualmente pensamos mejor o peor. Esto nos permite llegar a "lo suficientemente bueno" y seguir, lo que es realmente importante por cierto. –

Cuestiones relacionadas