Arrow Electronic Components Online

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

Künstliche Intelligenz16 Okt. 2024
Eine visuelle Darstellung der Integration von Qualcomm mit Linux, die miteinander verbundene Symbole zeigt, welche verschiedene Funktionen und Anwendungen symbolisieren.
Alle Artikel anzeigen

Damit Roboter einen größeren Teil unserer Gesellschaft ausmachen können, müssen sie in der Lage sein, intelligent mit ihren dynamischen Umgebungen zu interagieren. Eine der Herausforderungen, um dies zu erreichen, besteht darin, große Mengen an Daten aus zahlreichen Kameras und Sensoren zu integrieren. Vorgefertigte Linux®-Software-Module erleichtern diese Aufgabe. Dieser Artikel von Qualcomm untersucht beispielhafte Anwendungen für KI-Inferenz und Video in IoT- und Robotik-Anwendungen.

Multi-Kamera-Streaming

Die Kommandozeilenanwendung gst-multi-camera-example demonstriert das gleichzeitige Streaming von zwei Kamera-Sensoren. Sie kann eine nebeneinander angeordnete Komposition der Videostreams zur Anzeige auf einem Ausgabegerät erstellen oder die Streams codieren und in Dateien speichern.

Die Bewerbungs-Pipeline sieht wie folgt aus:

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

Die Anwendung unterstützt zwei Konfigurationen:

  1. Komposition und Anzeige – Das qtimmfsrc-Plugin für Kamera 0 und Kamera 1 erfasst die Daten von den beiden Kamerasensoren. qtivcomposer führt die Komposition durch, und waylandsink zeigt die Streams nebeneinander auf dem Bildschirm an.

  2. Video-Encoding – Das qtimmfsrc-Plugin an Kamera 0 und Kamera 1 erfasst die Daten von den beiden Kamerasensoren und übergibt sie an das v4l2h264enc-Plugin. Das Plugin codiert und komprimiert die Kamerastreams in das H.264-Format und übergibt sie anschließend zum Parsen und Multiplexen an die h264parse- bzw. 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 nutzen?

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

Videowand – Mehrkanal-Videodekodierung und Anzeige

Die Kommandozeilenanwendung gst-concurrent-videoplay-composition ermöglicht die gleichzeitige Videodekodierung und Wiedergabe von AVC-kodierten Videos. Die Anwendung führt eine Komposition von mehreren Videostreams aus Dateien oder dem Netzwerk (z. B. IP-Kameras) durch, um diese als Videowand darzustellen.

Die Anwendung kann mehrere Videodateien (z. B. 4 oder 8) als Eingabe verwenden, alle komprimierten Videos dekodieren, 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 wie folgt 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.

  • Dekodiert die Streams mit v4l2h264dec.

Die decodierten Streams aller Kanäle werden anschließend mit qtivcomposer zusammengefügt und mithilfe von waylandsink angezeigt.

Hier ist ein Beispiel für die Verwendung 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 nutzen?

Mit gst-concurrent-videoplay-composition können Sie mehrere komprimierte Video-Streams dekodieren und anschließend zu einer Videowand zusammensetzen; beispielsweise in Einzelhandelsbereichen und digitaler Beschilderung. Als Edge-Box für Videoüberwachung können Sie Eingaben von mehreren IP-Kameras erfassen und diese auf einem einzigen Bildschirm anzeigen. In einer Videokonferenzanwendung können Sie die Übertragungen von mehreren Personen im Gespräch 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. Anschließend können Sie beginnen, sie in Ihre eigenen Anwendungen zu integrieren.

Artikel Tags

Global
Internet der Dinge (IoT)
Artikel
Künstliche Intelligenz (AI)

Verwandte Inhalte