Infinitas cámaras en Flash Player mediante Flex

Posted by Juan Manrique On July 15, 2010 2 COMMENTS

No tengo idea de por qué pero hace unas semanas atras me surgió la duda sobre cuántas cámaras se pueden conectar en una misma aplicación Flex. Sobran los artículos sobre conexión de webcams remotas; de hecho, hace un tiempo atras hice algunas pruebas de streaming de video de una webcam mediante Red5, pero realmente no recuerdo haberme cruzado con algún código que conectara varias camaras a la vez de manera local.

Así que para no quedarme con la duda, comencé a codificar mis intentos y el resultado lo comparto aquí con ustedes, esperando, como siempre, que pueda ser de ayuda para alguien. Lo interesante de este ejemplo se encuentra en la línea 86 del código, ya que al invocar el método getCamera, podemos pasar el número específico de la cámara que queremos encender como parámetro, pero debe indicarse como String y no como un entero:

80
81
82
83
84
85
86
87
88
89
90
91
92
/**
 * Carga la camara correspondiente al indice indicado y la agrega a la lista de camaras
 * listas.
 **/
private function cargarCamara( indice : uint ):void
{
    var camara : Camera = Camera.getCamera( String( indice ) );
    if ( camara != null )
    {
        camara.addEventListener( ActivityEvent.ACTIVITY, camaraActivityEventHandler, false, 0, true );
        camarasListas.push( camara );
    }
}

Ignoro si conectar varias camaras a la vez pueda servir para algo. El único uso útil que se me ocurrió para esto fue hacer una aplicación AIR que grabara videos desde distintos ángulos (¿?). Al don rafaelochoa se le ocurrió que podría servir para hacer una aplicación de vigilancia, tipo circuito cerrado. Queda de parte de ustedes intentar desarrollar algo útil. Me gustaría leer en los comentarios qué se les ocurre, así como cualquier duda que tengan.

Juan Manrique.

Nota: Obviamente, no tiene sentido probar el ejemplo si no se dispone de, al menos, 2 camaras.

Infinitas cámaras en Flex
Código

  • Leo Valls

    Buenas tardes amigos, comentando esta publicación con un compañero me mostró un ejemplo hecho en .NET donde utilizaban tecnología similar.
    http://www.aforgenet.com/articles/step_to_stereo_vision/

    me pareció interesante publicarlo aquí.

  • Juan Manrique

    Sumamente interesante tu publicación, sobre todo porque incluye códigos que permiten comparar ambas plataformas en muchos aspectos, por ejemplo, en simplicidad de implementación. Gracias por este aporte.

    Saludos.