Applicazioni di esempio Linux Qualcomm: elementi base per l'inferenza IA e video in applicazioni IoT

Affinché i robot possano diventare una parte sempre più importante della nostra società, devono essere in grado di interfacciarsi in modo intelligente con i loro ambienti dinamici. Una delle sfide principali nel raggiungere questo obiettivo è l'integrazione di grandi quantità di dati provenienti da numerose telecamere e sensori. I blocchi pre-scritti del software Linux® semplificano questo compito. In questo articolo di Qualcomm vengono esaminati esempi di applicazioni per l'inferenza dell'IA e il video in applicazioni di IoT e robotica.

Streaming a più telecamere

L'applicazione della riga di comando gst-multi-camera-example dimostra lo streaming simultaneo da due sensori della telecamera. Può applicare una composizione in parallelo dei flussi video da mostrare su un dispositivo di visualizzazione oppure può codificare e memorizzare i flussi in file.

La pipeline dell'applicazione si presenta in questo modo:

1024-Multi-camera_streaming-application_pipieline

L'applicazione supporta due configurazioni:

  1. Composizione e visualizzazione: il plugin qtimmfsrc sulla telecamera 0 e sulla telecamera 1 cattura i dati dai due sensori della telecamera. qtivcomposer esegue la composizione, quindi waylandsink visualizza i flussi affiancati sullo schermo.
  2. Codifica video: il plugin qtimmfsrc sulla telecamera 0 e sulla telecamera 1 cattura i dati dai due sensori della telecamera e li passa al plugin v4l2h264enc. Il plugin codifica e comprime i flussi della telecamera nel formato H.264, quindi li passa all'analisi e al multiplexing utilizzando rispettivamente i plugin h264parse e mp4mux. Infine, i flussi vengono trasmessi al plugin filesink, che li salva come file.

Ecco un esempio del risultato della prima configurazione: l'immagine a destra è monocromatica, poiché anche il secondo sensore della telecamera nel kit di sviluppo è monocromatico.

1024-Multi-camera_streaming-Output-from-config1

Quando si utilizza questa applicazione?

gst-multi-camera-example è un componente fondamentale per l'acquisizione di dati da due sensori della telecamera, con opzioni per comporre e visualizzare i flussi video o codificarli e archiviarli in file. È possibile utilizzare questa app di esempio come base per le proprie applicazioni di acquisizione/codifica delle immagini della telecamera, tra cui dashcam e telecamere stereo.

Videowall – Decodifica e visualizzazione video multicanale

L'applicazione della riga di comando gst-concurrent-videoplay-composition facilita la decodifica e la riproduzione simultanea di video codificati in AVC. L'app esegue la composizione di più flussi video provenienti da file o dalla rete (ad esempio, telecamere IP) per la visualizzazione come videowall.

L'applicazione può accettare più file video (ad esempio 4 o 8) come input, decodificare tutti i video compressi, ridimensionarli e comporli come un videowall. L'applicazione richiede almeno un file video in input, in formato MP4 con codec AVC.

La pipeline dell'applicazione si presenta in questo modo per 4 canali:

1024-Multi-camera-Multi-Chammel_streaming-application_pipieline

Ogni canale utilizza dei plugin per eseguire le seguenti elaborazioni:

  • Legge i dati video compressi da un file utilizzando filesrc.
  • Demultiplexa il file con qtdemux.
  • Analizza i flussi video H.264 utilizzando h264parse.
  • Decodifica i flussi utilizzando v4l2h264dec.

I flussi decodificati da tutti i canali vengono poi composti insieme utilizzando qtivcomposer e visualizzati utilizzando waylandsink.

Ecco un esempio di utilizzo dell'app gst-concurrent-videoplay-composition su 4 flussi video:

1024-WoS-blog-images-4videoStreams

Quando si utilizza questa applicazione?

Con gst-concurrent-videoplay-composition è possibile decodificare più flussi video compressi, quindi comporli in un videowall, ad esempio negli spazi commerciali e nella segnaletica digitale. Come edge box per la videosorveglianza, è possibile acquisire input da più telecamere IP e visualizzarli su un unico schermo. In un'applicazione per videoconferenze è possibile elaborare e visualizzare i feed di più persone partecipanti alla chiamata, con ciascun partecipante che trasmette un video.

Prossimi passi

È possibile ottenere queste applicazioni o l'intero Qualcomm Intelligent Multimedia SDK su GitHub. Sarà quindi possibile iniziare a integrarli nelle proprie applicazioni.


Articoli correlati

Ultime notizie

Sorry, your filter selection returned no results.

Non perderti le ultime novità sull'elettronica

Abbiamo aggiornato la nostra Politica sulla privacy. Ti preghiamo di verificare le modifiche apportate. Facendo clic su "Accetto", dichiari di accettare la Politica sulla privacy e i Termini di utilizzo di Arrow Electronics.

Il nostro sito web mette i cookies sul vostro dispositivo per migliorare la vostra esperienza e il nostro sito. Leggete altre informazioni sui cookies che usiamo e su come disabilitarli qui. I cookies e le tecnologie di tracking possono essere usati per scopi commerciali.

Con un click su “Accept”, voi consentite l'inserimento dei cookies sul vostro dispositivo e l'uso da parte nostra di tecnologie di tracking. Per avere altre informazioni e istruzioni su come disabilitare i cookies e le tecnologie di tracking, clickate su “Read More” qui sotto. Mentre l'accettazione dei cookies e delle tecnologie di tracking è volontaria, una loro disabilitazione potrebbe determinare un funzionamento non corretto del sito web, ed alcuni messaggi di allarme potrebbero essere per voi meno importanti.

Noi rispettiamo la vostra privacy. Leggete qui la nostra politica relativa alla privacy