Arrow Electronic Components Online

Qualcomm Linux-Musteranwendungen: Bausteine für KI-Inferenz und Video in IoT-Anwendungen

Künstliche Intelligenz (AI)16 Okt. 2024
Eine visuelle Darstellung der Integration von Qualcomm mit Linux, die miteinander verbundene Symbole zeigt, die verschiedene Funktionen und Anwendungen symbolisieren.
Alle Artikel ansehen

Damit Roboter ein größerer Bestandteil unserer Gesellschaft werden können, müssen sie in der Lage sein, intelligent mit ihren dynamischen Umgebungen zu interagieren. Eine der Herausforderungen dabei ist die Integration großer Datenmengen aus vielen Kameras und Sensoren. Vorgefertigte Linux®-Softwarebausteine erleichtern diese Aufgabe. Dieser Artikel von Qualcomm untersucht Anwendungsbeispiele für AI-Inferenz und Video in IoT- und Robotikanwendungen.

Multi-Kamera-Streaming

Die Kommandozeilenanwendung gst-multi-camera-example demonstriert das gleichzeitige Streaming von zwei Kamera-Sensoren. Sie kann eine nebeneinander Darstellung der Videostreams anwenden, um sie auf einem Anzeigegerät zu zeigen, oder sie kann die Streams encodieren und in Dateien speichern.

Die Anwendungspipeline sieht so aus:

A technical diagram illustrating a multi-camera setup using GStreamer for video encoding

Die Anwendung unterstützt zwei Konfigurationen:

  1. Zusammenstellung und Anzeige – Das qtimmfsrc-Plugin bei Kamera 0 und Kamera 1 erfasst die Daten von den beiden Kamerasensoren. qtivcomposer führt die Zusammenstellung durch, dann zeigt waylandsink die Streams nebeneinander auf dem Bildschirm an.
  2. Video-Encoding – Das qtimmfsrc-Plugin bei Kamera 0 und Kamera 1 erfasst die Daten von den beiden Kamerasensoren und übergibt sie an das v4l2h264enc-Plugin. Das Plugin kodiert und komprimiert die Kamerastreams in das H.264-Format und übergibt sie dann zur Analyse und Multiplexierung an die h264parse- und mp4mux-Plugins. Schließlich werden die Streams an das filesink-Plugin übergeben, das sie als Dateien speichert.

Hier ist ein Beispiel für die Ausgabe der ersten Konfiguration: Das Bild auf der rechten Seite ist monochrom, da der zweite Kamerasensor im Entwicklungskit monochrom ist.

A parking area featuring a motorcycle and a car, surrounded by trees and a gated entrance

Wann würden Sie diese Anwendung verwenden?

gst-multi-camera-example ist ein Baustein für die Erfassung von Daten von zwei Kamerasensoren, mit Optionen zum entweder Komponieren und Anzeigen der Videostreams oder zum Kodieren und Speichern der Streams in Dateien. Sie können diese Beispielanwendung als Grundlage für Ihre eigenen Kameraerfassungs-/Kodierungsanwendungen verwenden, einschließlich Dashcams und Stereo-Kameras.

Videowand – Dekodierung und Anzeige von Mehrkanalvideos

Die Kommandozeilenanwendung gst-concurrent-videoplay-composition ermöglicht die gleichzeitige Dekodierung und Wiedergabe von AVC-kodierten Videos. Die App führt die Komposition auf mehreren Videostreams aus, die aus Dateien oder dem Netzwerk (zum Beispiel IP-Kameras) stammen, um sie als Videowand anzuzeigen.

Die Anwendung kann mehrere (wie 4 oder 8) Videodateien als Eingabe verwenden, alle komprimierten Videos decodieren, sie skalieren und als Videowand zusammenstellen. Die Anwendung erfordert mindestens eine Eingabevideodatei im MP4-Format mit einem AVC-Codec.

Die Anwendungspipeline sieht für 4 Kanäle so aus:

A technical diagram illustrating a streaming pipeline with multiple streams

Jeder Kanal verwendet Plugins, um die folgende Verarbeitung durchzuführen:

  • Liest komprimierte Videodaten aus einer Datei mit filesrc.
  • Demultiplexiert die Datei mit qtdemux.
  • Analysiert H.264-Videostreams mit h264parse.
  • Decodiert die Streams mit v4l2h264dec.

Die dekodierten Streams aller Kanäle werden dann mit qtivcomposer zusammengefügt und mit waylandsink angezeigt.

Hier ist ein Beispiel für die Nutzung der App gst-concurrent-videoplay-composition auf 4 Videostreams:

A person interacts with a mobile app featuring a vibrant interface in a cozy indoor setting

Wann würden Sie diese Anwendung verwenden?

Mit gst-concurrent-videoplay-composition können Sie mehrere komprimierte Videostreams dekodieren und dann zu einer Videowand zusammenstellen, zum Beispiel in Einzelhandelsräumen und Digital Signage. Als Edge-Box für Videoüberwachung können Sie Eingaben von mehreren IP-Kameras erfassen und auf einem einzigen Bildschirm anzeigen. In einer Videokonferenzanwendung können Sie Feeds von mehreren Personen im Anruf verarbeiten und anzeigen, wobei jeder Teilnehmer ein Video streamt.

Nächste Schritte

Sie können diese Anwendungen oder das gesamte Qualcomm Intelligent Multimedia SDK auf GitHub erhalten. Und dann können Sie beginnen, sie in Ihre eigenen Anwendungen zu integrieren.

Artikel Tags

Robotik
Internet der Dinge (IoT)
QUALCOMM
Künstliche Intelligenz (AI)

Verwandte Nachrichtenartikel

Alle anzeigen