Was ist das beste Hardware/Software-Setup um eine live Video Übertragung unter embedded Linux/Qt zu gewährleisten? Umfangreiche Tests mit digitalen Video-Kameras und verschiedenen embedded Linux/Qt Setup kamen zu einem interessanten Ergebnis!
Digitale Kameras, welche Ethernet/BroadR-Reach als Übertragungskanal verwenden, finden zunehmend Verwendung in der Serienproduktion von Off-Highway Fahrzeugen (Baumaschinen, Erntefahrzeuge, Einsatzfahrzeuge,…). Diese digitalen Kameras können mit einem speziellen Protokoll (ISO17215) basierend auf UDP konfiguriert werden und stellen dann übliche Video-Codecs (H264, MJPEG) für die Echtzeit-Übertragung (RTP stream) mit niedriger Latenz zur Verfügung. Um die Daten dieser Kameras mit niedriger Latenz und guter Qualität auf einem embedded System zu rendern, braucht es die Unterstützung eines Hardware-Video-Decoders (z.B. am NXP i.Mx8) und des embedded Linux Kernels. Die Herausforderung besteht jedoch, diese Hardware-Decoder auch optimal in der Anwendungs-Software bis hin zum gerenderten Pixel in der grafischen Benutzeroberfläche zu nutzen und optimal in Qt einzubinden.
Doch was ist das beste Hardware/Software-Setup um so eine Übertragung der Video-Ströme optimal zu gestalten? Sowohl bezüglich Hardware (i.Mx8, Kamera), aber viel mehr noch bei der Konfiguration der Software (Linux Kernel, Video-Streaming-Library, GStreamer, QtMultimedia, QMLSink, Qt5.15, Qt 6, GPU-Unterstützung) gibt es hier viele Stellen, die optimal zusammenarbeiten müssen. Wir haben dazu ausführliche Tests durchgeführt und dies in einem ca. 50 Seiten umfassenden technischen Bericht in Zusammenarbeit mit der FH-Hagenberg ausgearbeitet. Bei Interesse schicken wir gerne eine Kopie zu: