Exemples d’applications Qualcomm Linux : blocs de construction pour l’inférence de l’IA et la vidéo dans les applications IoT

Pour que les robots puissent prendre une place plus importante dans notre société, ils doivent être capables d’interagir intelligemment avec leurs environnements dynamiques. Une partie du défi pour y parvenir consiste à intégrer de vastes quantités de données provenant de nombreuses caméras et capteurs. Les blocs pré-écrits de logiciels Linux® facilitent cette tâche. Cet article de Qualcomm explore des exemples d’applications pour l’inférence de l’IA et la vidéo dans les applications IoT et robotiques.

Streaming multi-caméras

L’application en ligne de commande gst-multi-camera-example montre une diffusion en continu à partir de deux capteurs de caméra simultanément. Elle peut appliquer une composition côte à côte des flux vidéo pour les afficher sur un dispositif d’affichage, ou bien peut encoder et stocker les flux dans des fichiers.

Le pipeline d'application ressemble à ceci :

1024-Multi-camera_streaming-application_pipieline

L'application prend en charge deux configurations :

  1. Composition et affichage : le plugin qtimmfsrc sur la caméra 0 et la caméra 1 capture les données des deux capteurs de la caméra. qtivcomposer effectue la composition, puis waylandsink affiche les flux côte à côte sur l’écran.
  2. Encodage vidéo : le plugin qtimmfsrc sur la caméra 0 et la caméra 1 capture les données des deux capteurs de la caméra et les transmet au plugin v4l2h264enc. Le plugin encode et compresse les flux de caméra au format H.264, puis les transmet pour analyse et multiplexage à l'aide des plugins h264parse et mp4mux, respectivement. Enfin, les flux sont transmis au plugin filesink, qui les enregistre sous forme de fichiers.

Voici un exemple de sortie de la première configuration : l'image du côté droit est monochrome, car le deuxième capteur de caméra du kit de développement est monochrome.

1024-Multi-camera_streaming-Output-from-config1

Quand utiliseriez-vous cette application ?

gst-multi-camera-example est un bloc de construction permettant de capturer des données à partir de deux capteurs de caméra, avec des options de composition et d’affichage des flux vidéo ou d’encodage et de stockage des flux dans des fichiers. Vous pouvez utiliser cet exemple d'application comme base pour vos propres applications de capture/encodage de caméra, y compris les caméras de tableau de bord et les caméras stéréo.

Mur vidéo – Décodage et affichage vidéo multicanal

L'application de ligne de commande gst-concurrent-videoplay-composition facilite le décodage et la lecture simultanés de vidéos codées AVC. L'application effectue une composition sur plusieurs flux vidéo provenant de fichiers ou du réseau (par exemple, des caméras IP) pour les afficher sous forme de mur vidéo.

L'application peut prendre plusieurs fichiers vidéo (par exemple 4 ou 8) en entrée, décoder toutes les vidéos compressées, les mettre à l'échelle et les composer sous forme de mur vidéo. L'application nécessite au moins un fichier vidéo d'entrée, au format MP4 avec un codec AVC.

Le pipeline d’application se présente comme suit pour 4 canaux :

1024-Multi-camera-Multi-Chammel_streaming-application_pipieline

Chaque canal utilise des plugins pour effectuer le traitement suivant :

  • Lit les données vidéo compressées à partir d'un fichier à l'aide de filesrc.
  • Démultiplexe le fichier avec qtdemux.
  • Analyse les flux vidéo H.264 à l'aide de h264parse.
  • Décode les flux en utilisant v4l2h264dec.

Les flux décodés de tous les canaux sont ensuite composés ensemble à l'aide de qtivcomposer et affichés à l'aide de waylandsink.

Voici un exemple d'utilisation de l'application gst-concurrent-videoplay-composition sur 4 flux vidéo :

1024-WoS-blog-images-4videoStreams

Quand utiliseriez-vous cette application ?

Avec gst-concurrent-videoplay-composition vous pouvez décoder plusieurs flux vidéo compressés, puis les composer en un mur vidéo ; par exemple, dans les espaces de vente au détail et la signalisation numérique. En tant que boîtier périphérique pour la vidéosurveillance, vous pouvez capturer les données de plusieurs caméras IP et les afficher sur un seul écran. Dans une application de vidéoconférence, vous pouvez traiter et afficher des flux provenant de plusieurs personnes participant à l’appel, chaque participant diffusant une vidéo.

Prochaines étapes

Vous pouvez obtenir ces applications ou l’intégralité du kit de développement logiciel Qualcomm Intelligent Multimedia sur GitHub. Vous pourrez ensuite les intégrer à vos propres applications.


Articles de presse apparentés

Actualité

Sorry, your filter selection returned no results.

Nous avons mis à jour notre politique de confidentialité. Prenez un moment pour lire les changements. En cliquant sur "J'accepte", vous acceptez la clause de confidentialité d'Arrow Electronics ainsi que les conditions d'utilisation.

Notre site Internet place des cookies sur votre appareil pour améliorer votre expérience et pour améliorer notre site. Pour en savoir plus sur les cookies que nous utilisons et la façon de les désactiver, cliquez ici. Des cookies et des technologies de suivi peuvent être utilisés à des fins de marketing. En cliquant sur « Accepter », vous consentez au placement de cookies sur votre appareil et à notre utilisation de technologies de suivi. Cliquez sur « En savoir plus » pour de plus amples informations et instructions sur la façon de désactiver les cookies et les technologies de suivi. Même si l'acceptation des cookies et technologies de suivi est volontaire, leur désactivation peut entraîner un mauvais fonctionnement du site Internet et certaines publicités peuvent être moins pertinentes pour vous. Nous respectons votre confidentialité. Lisez notre politique de confidentialité ici.