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: plugin per produttori di Kinesis Video SDK GStreamer Streams - kvssink
Questo argomento descrive come creare il produttore di Amazon Kinesis Video SDK Streams da utilizzare GStreamer come plug-in.
Argomenti
GStreamer
Il GStreamer plug-in gestisce automaticamente il trasferimento del flusso video su Kinesis Video Streams incapsulando la funzionalità fornita dal produttore di Kinesis Video Streams in un elemento sink,. SDK GStreamer kvssink
Il GStreamer framework fornisce un ambiente gestito standard per la creazione del flusso multimediale da un dispositivo come una videocamera o un'altra sorgente video per ulteriori elaborazioni, renderizzazioni o archiviazione.
La GStreamer pipeline consiste in genere nel collegamento tra una sorgente (videocamera) e l'elemento sink (un lettore per il rendering del video o un'archiviazione per il recupero offline). In questo esempio, utilizzate l'SDKelemento Producer come sink, o destinazione multimediale, per la sorgente video (webcam o telecamera IP). L'elemento del plugin che incapsula SDK poi invia il flusso video a Kinesis Video Streams.
Questo argomento descrive come costruire una pipeline GStreamer multimediale in grado di trasmettere video da una sorgente video, come una webcam o uno RTSP stream, in genere collegata tramite fasi di codifica intermedie (utilizzando la codifica H.264) a Kinesis Video Streams. Quando il tuo flusso video è disponibile come flusso video Kinesis, puoi utilizzarlo Guarda l'output delle telecamere utilizzando la libreria parser per l'ulteriore elaborazione, riproduzione, archiviazione o analisi del tuo flusso video.
Scarica, crea e configura l'elemento GStreamer
L'esempio del GStreamer plugin è incluso nel produttore Kinesis Video SDK Streams C++. Per informazioni sui SDK prerequisiti e sul download, consulta. Scarica e configura il codice della libreria C++ Producer
Puoi creare il producer SDK GStreamer sink come libreria dinamica su macOS, Ubuntu, Raspberry Pi o Windows. Il GStreamer plugin si trova nella tua build
directory. Per caricare questo plugin, deve essere nel tuoGST_PLUGIN_PATH
. Esegui il comando seguente:
export GST_PLUGIN_PATH=`pwd`/build
Nota
Su macOS, puoi eseguire lo streaming di video da una telecamera di rete solo quando è GStreamer in esecuzione in un contenitore Docker. Lo streaming di video da una USB videocamera su macOS in un contenitore Docker non è supportato.
Esegui l'elemento GStreamer
Per eseguire GStreamer con l'elemento producer Kinesis Video SDK Streams come sink, gst-launch-1.0
usa il comando. Usa elementi upstream appropriati per l'uso del GStreamer plugin. Ad esempio, v4l2src per dispositivi v4l2 su sistemi Linux o rtspsrckvssink
come sink (destinazione finale della pipeline) per inviare il video al Producer. SDK
Oltre a fornire credenziali e fornire una regione, l'kvssink
elemento ha il seguente parametro obbligatorio:
-
stream-name
— Il nome della destinazione Kinesis Video Streams.
Per informazioni sui kvssink
parametri opzionali consulta GStreamerriferimento al parametro dell'elemento.
Per le informazioni più recenti su GStreamer plugin e parametri, consulta Plugin. GStreamergst-inspect-1.0
seguito dal nome di un GStreamer elemento o di un plug-in per stamparne le informazioni e verificare che siano disponibili sul tuo dispositivo:
gst-inspect-1.0 kvssink
Se la kvssink
compilazione fallisce o GST PLUGIN _ _ non PATH è impostato correttamente, il risultato sarà simile a questo:
No such element or plugin 'kvssink'
Esempi di comandi di GStreamer avvio
Gli esempi seguenti mostrano come utilizzare il kvssink
GStreamer plug-in per lo streaming di video da diversi tipi di dispositivi.
Esempio 1: Streaming di video da una RTSP videocamera su Ubuntu
Il comando seguente crea una GStreamer pipeline su Ubuntu che trasmette in streaming da una RTSP telecamera di rete, utilizzando il plugin GStreamerrtspsrc
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 su Ubuntu USB
Il comando seguente crea una GStreamer pipeline su Ubuntu che codifica lo stream proveniente da una USB videocamera in formato H.264 e lo trasmette a Kinesis Video Streams. Questo esempio utilizza il plugin v4l2src.
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: streaming di video precodificati da una videocamera su Ubuntu USB
Il comando seguente crea una GStreamer pipeline su Ubuntu che trasmette video che la videocamera ha già codificato in formato H.264 su Kinesis Video Streams. Questo esempio utilizza il plugin v4l2src.
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 GStreamer pipeline su macOS che trasmette video a Kinesis Video Streams da una telecamera di rete. Questo esempio utilizza 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 GStreamer pipeline su Windows che trasmette video a Kinesis Video Streams da una telecamera di rete. Questo esempio utilizza 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 GStreamer pipeline su Raspberry Pi che trasmette video a Kinesis Video Streams. Questo esempio utilizza il plugin v4l2src.
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 in streaming audio e video in Raspberry Pi e Ubuntu
Scopri come eseguire il comando gst-launch-1.0 per avviare lo streaming audio e video in Raspberry-PI e Ubuntu
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 MKV file che contiene sia audio che video
Scopri come eseguire il comando gst-launch-1.0 per caricare un MKV file che contiene sia audio che video
Esegui l'GStreamerelemento in un contenitore Docker
Docker è una piattaforma per sviluppare, distribuire ed eseguire le applicazioni utilizzando i contenitori. L'utilizzo di Docker per creare la GStreamer pipeline standardizza l'ambiente operativo per Kinesis Video Streams, semplificando la creazione e l'utilizzo dell'applicazione.
Per installare e configurare Docker, consulta le seguenti informazioni:
Dopo aver installato Docker, puoi scaricare il SDK produttore (e il GStreamer plug-in) di Kinesis Video Streams C++ da Amazon Elastic Container Registry utilizzando uno dei comandi forniti di seguito. docker
pull
Per eseguire l'esecuzione GStreamer con l'elemento producer Kinesis Video SDK Streams come sink in un contenitore Docker, procedi come segue:
Argomenti
Autentica il tuo client Docker
Autentica il tuo client Docker ECR nel registro Amazon da cui intendi estrarre l'immagine. È necessario ottenere 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 AmazonECR, 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-windows
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
RTSP_URL
STREAM_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 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 per kvssink
utilizzare il per gst-launch-1.0
eseguire una pipeline appropriata per il tuo dispositivo e la tua sorgente video. Ad esempio, le pipeline, vedi. Esempi di comandi di GStreamer avvio