Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esempio: plug-in GStreamer SDK del produttore di Kinesis Video Streams - kvssink
Questo argomento descrive come creare l'SDK per produttori di Amazon Kinesis Video Streams da utilizzare come plug-in GStreamer.
Argomenti
GStreamer
Il plug-in GStreamer gestisce automaticamente il trasferimento del flusso video su Kinesis Video Streams incapsulando la funzionalità fornita dal produttore di Kinesis Video Streams SDK in un elemento sink GStreamer. kvssink Il framework GStreamer fornisce un ambiente gestito standard per la costruzione di un flusso multimediale da un dispositivo, ad esempio una videocamera o altre sorgente video per ulteriori elaborazioni, il rendering o lo storage.
La pipeline GStreamer in genere contiene il link tra una sorgente (videocamera) e l'elemento sink (un lettore per il rendering del video o lo storage per il recupero offline). In questo esempio, si utilizza l'elemento SDK Producer come sink o destinazione multimediale, per la fonte video (webcam o videocamera IP). L'elemento plug-in che incapsula l'SDK invia quindi il flusso video a Kinesis Video Streams.
Questo argomento descrive come costruire una pipeline multimediale GStreamer in grado di trasmettere video da una sorgente video, come una webcam o un flusso RTSP, in genere connessa tramite fasi di codifica intermedie (utilizzando la codifica) a Kinesis Video Streams. H.264 Quando lo streaming video è disponibile come streaming video Kinesis, è possibile utilizzarlo Guarda l'output delle telecamere usando la libreria parser per l'ulteriore elaborazione, riproduzione, archiviazione o analisi del flusso video.
Scarica, crea e configura l'elemento GStreamer
L'esempio del plugin GStreamer è incluso nell'SDK per produttori C++ di Kinesis Video Streams. Per informazioni sui prerequisiti e il download di SDK consulta Scarica e configura il codice della libreria di produzione C++.
Puoi creare il sink GStreamer del produttore SDK come libreria dinamica su macOS, Ubuntu, Raspberry Pi o Windows. Il plugin GStreamer si trova nella directory build. Per caricare questo plugin, deve essere nel tuo. GST_PLUGIN_PATH Esegui il comando seguente:
export GST_PLUGIN_PATH=`pwd`/build
Nota
Su macOS, è possibile solo eseguire lo streaming di video da una videocamera di rete durante l'esecuzione di GStreamer in un container Docker. Lo streaming video da una videocamera USB su macOS in un container Docker non è supportato.
Esegui l'elemento GStreamer
Per eseguire GStreamer con l'elemento Kinesis Video Streams producer SDK come sink, usate il comando. gst-launch-1.0 Utilizzate elementi upstream appropriati per l'uso del plugin GStreamer. Ad esempio, v4l2srckvssink come sink (destinazione finale della pipeline) per inviare video all'SDK Producer.
Oltre a fornire le credenziali e fornire una regione, l'kvssinkelemento ha il seguente parametro obbligatorio:
-
stream-name— Il nome della destinazione Kinesis Video Streams.
Per informazioni sui kvssink parametri opzionali consulta Riferimento ai parametri degli elementi GStreamer.
Per le informazioni più recenti sui plugin e sui parametri di GStreamer, consulta GStreamer Plugins. https://gstreamer.freedesktop.org/documentation/plugins_doc.html?gi-language=cgst-inspect-1.0seguito dal nome» di un elemento o plug-in di GStreamer per stamparne le informazioni e verificare che sia disponibile sul tuo dispositivo:
gst-inspect-1.0 kvssink
Se la compilazione kvssink non è riuscita o GST_PLUGIN_PATH non è impostato correttamente, l'output sarà simile a questo:
No such element or plugin 'kvssink'
Esempio di comandi di avvio di GStreamer
I seguenti esempi dimostrano come utilizzare il plugin kvssink GStreamer per lo streaming di video da diversi tipi di dispositivi.
Esempio 1: streaming di video da una videocamera RTSP su Ubuntu
Il comando seguente crea una pipeline GStreamer su Ubuntu che esegue flussi in streaming da una videocamera di rete RTSP, utilizzando il plugin rtspsrc
gst-launch-1.0 -v rtspsrc location="rtsp://YourCameraRtspUrl" short-header=TRUE ! rtph264depay ! h264parse ! kvssink stream-name="YourStreamName" storage-size=128
Esempio 2: codifica e trasmetti video da una videocamera USB su Ubuntu
Il comando seguente crea una pipeline GStreamer su Ubuntu che codifica il flusso da una videocamera USB in H.264 formato e lo trasmette a Kinesis Video Streams. Questo esempio utilizza il plugin gStreamer v4l2src. https://gstreamer.freedesktop.org/documentation/video4linux2/v4l2src.html?gi-language=c#v4l2src-page
gst-launch-1.0 v4l2src do-timestamp=TRUE device=/dev/video0 ! videoconvert ! video/x-raw,format=I420,width=640,height=480,framerate=30/1 ! x264enc bframes=0 key-int-max=45 bitrate=500 ! video/x-h264,stream-format=avc,alignment=au,profile=baseline ! kvssink stream-name="YourStreamName" storage-size=512 access-key="YourAccessKey" secret-key="YourSecretKey" aws-region="YourAWSRegion"
Esempio 3: Trasmetti video precodificato da una videocamera USB su Ubuntu
Il comando seguente crea una pipeline GStreamer su Ubuntu che trasmette video che la videocamera ha già codificato in formato Kinesis Video Streams. H.264 Questo esempio utilizza il plugin gStreamer v4l2src. https://gstreamer.freedesktop.org/documentation/video4linux2/v4l2src.html?gi-language=c#v4l2src-page
gst-launch-1.0 v4l2src do-timestamp=TRUE device=/dev/video0 ! h264parse ! video/x-h264,stream-format=avc,alignment=au ! kvssink stream-name="plugin" storage-size=512 access-key="YourAccessKey" secret-key="YourSecretKey" aws-region="YourAWSRegion"
Esempio 4: streaming di video da una telecamera di rete su macOS
Il comando seguente crea una pipeline GStreamer su macOS che trasmette video a Kinesis Video Streams da una telecamera di rete. In questo esempio viene utilizzato il plugin rtspsrc
gst-launch-1.0 rtspsrc location="rtsp://YourCameraRtspUrl" short-header=TRUE ! rtph264depay ! h264parse ! video/x-h264, format=avc,alignment=au ! kvssink stream-name="YourStreamName" storage-size=512 access-key="YourAccessKey" secret-key="YourSecretKey" aws-region="YourAWSRegion"
Esempio 5: streaming di video da una telecamera di rete su Windows
Il comando seguente crea una pipeline GStreamer su Windows che trasmette video a Kinesis Video Streams da una telecamera di rete. In questo esempio viene utilizzato il plugin rtspsrc
gst-launch-1.0 rtspsrc location="rtsp://YourCameraRtspUrl" short-header=TRUE ! rtph264depay ! video/x-h264, format=avc,alignment=au ! kvssink stream-name="YourStreamName" storage-size=512 access-key="YourAccessKey" secret-key="YourSecretKey" aws-region="YourAWSRegion"
Esempio 6: streaming di video da una videocamera su Raspberry Pi
Il comando seguente crea una pipeline GStreamer su Raspberry Pi che trasmette video a Kinesis Video Streams. Questo esempio utilizza il plugin gStreamer v4l2src. https://gstreamer.freedesktop.org/documentation/video4linux2/v4l2src.html?gi-language=c#v4l2src-page
gst-launch-1.0 v4l2src do-timestamp=TRUE device=/dev/video0 ! videoconvert ! video/x-raw,format=I420,width=640,height=480,framerate=30/1 ! omxh264enc control-rate=1 target-bitrate=5120000 periodicity-idr=45 inline-header=FALSE ! h264parse ! video/x-h264,stream-format=avc,alignment=au,width=640,height=480,framerate=30/1,profile=baseline ! kvssink stream-name="YourStreamName" access-key="YourAccessKey" secret-key="YourSecretKey" aws-region="YourAWSRegion"
Esempio 7: Trasmetti audio e video in Raspberry Pi e Ubuntu
Scopri come eseguire il comando gst-launch-1.0 per avviare lo streaming di audio e video su Ubuntu. Raspberry-PI
Esempio 8: trasmetti in streaming audio e video da sorgenti di dispositivi in macOS
Scopri come eseguire il comando gst-launch-1.0 per avviare lo streaming audio e video in MacOS
Esempio 9: carica un file MKV che contiene sia audio che video
Scopri come eseguire il comando gst-launch-1.0 per caricare il file MKV che contiene sia audio che video
Esegui l'elemento GStreamer in un contenitore Docker
Docker è una piattaforma per sviluppare, distribuire ed eseguire le applicazioni utilizzando i contenitori. L'uso di Docker per creare la pipeline GStreamer standardizza l'ambiente operativo per Kinesis Video Streams, il che semplifica la creazione e l'uso dell'applicazione.
Per installare e configurare Docker, consulta le seguenti informazioni:
Dopo aver installato Docker, puoi scaricare Kinesis Video Streams C++ Producer SDK (e il plug-in GStreamer) da Amazon Elastic Container Registry utilizzando uno dei comandi forniti di seguito. docker
pull
Per eseguire GStreamer con l'elemento Kinesis Video Streams producer SDK come sink in un contenitore Docker, procedi come segue:
Argomenti
Autentica il tuo client Docker
Autentica il tuo client Docker nel registro Amazon ECR dal quale desideri estrarre la tua immagine. È necessario ottenere i token di autenticazione per ogni registro utilizzato. I token sono validi per 12 ore. Per maggiori informazioni, consulta Autorizzazioni del registro nella Guida per l'utente di Amazon Elastic Container Registry.
Esempio: autenticazione con Amazon ECR
Per autenticarti con Amazon ECR, copia e incolla il seguente comando come mostrato.
sudo aws ecr get-login-password --region us-west-2 | docker login -u AWS --password-stdin https://546150905175.dkr.ecr.us-west-2.amazonaws.com
In caso di esito positivo, l'output stampa Login Succeeded.
Scaricare l'immagine Docker per Ubuntu, macOS, Windows o Raspberry Pi
Scaricare l'immagine Docker per l'ambiente Docker utilizzando uno dei comandi riportati di seguito, a seconda del sistema operativo in uso:
Scaricare l'immagine Docker per Ubuntu
sudo docker pull 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-linux:latest
Scaricare l'immagine Docker per macOS
docker pull 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-linux:latest
Scaricare l'immagine Docker per Windows
docker pull 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-windows:latest
Scaricare l'immagine Docker per Raspberry Pi
sudo docker pull 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-raspberry-pi:latest
Per verificare che l'immagine sia stata aggiunta, eseguire il comando riportato di seguito:
docker images
Esegui l'immagine Docker
Utilizzare uno dei seguenti comandi per eseguire l'immagine Docker, a seconda del sistema operativo in uso:
Esegui l'immagine Docker su Ubuntu
sudo docker run -it --network="host" --device=/dev/video0 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-linux /bin/bash
Esegui l'immagine Docker su macOS
sudo docker run -it --network="host" 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-linux /bin/bash
Esegui l'immagine Docker su Windows
docker run -it 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-windowsAWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYRTSP_URLSTREAM_NAME
Esegui l'immagine Docker su Raspberry Pi
sudo docker run -it --device=/dev/video0 --device=/dev/vchiq -v /opt/vc:/opt/vc 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-raspberry-pi /bin/bash
Docker avvia il contenitore e ti presenta un prompt dei comandi per l'utilizzo dei comandi all'interno del contenitore.
Nel container, impostare le variabili di ambiente utilizzando il comando seguente:
export LD_LIBRARY_PATH=/opt/awssdk/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/lib:$LD_LIBRARY_PATH export PATH=/opt/awssdk/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/bin:$PATH export GST_PLUGIN_PATH=/opt/awssdk/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/lib:$GST_PLUGIN_PATH
Inizia lo streaming kvssink utilizzando per gst-launch-1.0 eseguire una pipeline appropriata per il tuo dispositivo e la tua sorgente video. Ad esempio pipeline, vedi. Esempio di comandi di avvio di GStreamer