Para que los robots se conviertan en una parte más importante de nuestra sociedad, deben tener la capacidad de interactuar de manera inteligente con sus entornos dinámicos. Parte del desafío para lograr esto es integrar grandes cantidades de datos de muchas cámaras y sensores. Los bloques de software Linux® preescritos facilitan esta tarea. En este artículo de Qualcomm se exploran usos de muestra para inferencia de IA y video en aplicaciones con Internet de las cosas y robótica.
Transmisión multicámara
La aplicación de línea de comandos gst-multi-camera-example demuestra la transmisión desde dos sensores de cámara de manera simultánea. Puede aplicar una composición en paralelo de las transmisiones de video para mostrarlas en un dispositivo de visualización, o puede codificar y almacenar las transmisiones en archivos.
La segmentación de la aplicación se ve de la siguiente manera:

La aplicación admite dos configuraciones:
- Composición y visualización: el complemento qtimmfsrc en la cámara 0 y la cámara 1 captura los datos de los dos sensores de la cámara. qtivcomposer realiza la composición y luego waylandsink muestra las transmisiones una al lado de la otra en la pantalla.
- Codificación de video: el complemento qtimmfsrc en la cámara 0 y la cámara 1 captura los datos de los dos sensores de la cámara y los pasa al complemento v4l2h264enc. El complemento codifica y comprime las transmisiones de la cámara al formato H.264, luego las entrega para su análisis y multiplexación mediante los complementos h264parse y mp4mux, respectivamente. Finalmente, las transmisiones se transfieren al complemento filesink, que las guarda como archivos.
Este es un ejemplo del resultado de la primera configuración: la imagen del lado derecho es monocromática, ya que el segundo sensor de la cámara en el kit de desarrollo es monocromático.

¿Cuándo utilizarías esta aplicación?
gst-multi-camera-example es un bloque de construcción para capturar datos de dos sensores de cámara, con opciones para componer y mostrar las transmisiones de video o codificar y almacenar las transmisiones en archivos. Puede usar esta aplicación de muestra como base para sus propias aplicaciones de captura/codificación de cámara, lo que incluye cámaras de tablero y cámaras estéreo.
Videowall: decodificación y visualización de video multicanal
La aplicación de línea de comandos gst-concurrent-videoplay-composition facilita la decodificación y reproducción simultánea de videos codificados en AVC. La aplicación realiza la composición de múltiples transmisiones de video provenientes de archivos o de la red (por ejemplo, cámaras IP) para mostrarlas como una pared de video.
La aplicación puede tomar múltiples archivos de video (por ejemplo, 4 u 8) como entrada, decodificar todos los videos comprimidos, escalarlos y componerlos como una pared de video. La aplicación requiere al menos un archivo de vídeo de entrada, en formato MP4 con un códec AVC.
La segmentación de la aplicación se ve de la siguiente manera para 4 canales:

Cada canal utiliza complementos para realizar el siguiente procesamiento:
- Lee datos de vídeo comprimidos de un archivo utilizando filesrc.
- Demultiplexa el archivo con qtdemux.
- Analiza transmisiones de video H.264 utilizando h264parse.
- Decodifica las transmisiones utilizando v4l2h264dec.
Luego, las transmisiones decodificadas de todos los canales se componen juntas usando qtivcomposer y se muestran usando waylandsink.
A continuación se muestra un ejemplo de uso de la aplicación gst-concurrent-videoplay-composition en 4 transmisiones de video:

¿Cuándo utilizarías esta aplicación?
Con gst-concurrent-videoplay-composition puede decodificar varios videos comprimidos y luego componerlos en un mural de video; por ejemplo, en espacios comerciales minoristas y señalética digital. Como caja de borde para videovigilancia, puede capturar entradas de múltiples cámaras IP y mostrarlas en una sola pantalla. En una aplicación de videoconferencia, puede procesar y mostrar transmisiones de varias personas en la llamada, y cada participante transmite un video.
Próximos pasos
Puede obtener esas aplicaciones o el SDK Qualcomm Intelligent Multimedia completo en GitHub. Y luego puede empezar a incorporarlos a sus propias aplicaciones.
