Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh: Plugin SDK GStreamer produsen Streaming Video Kinesis - kvssink
Topik ini menjelaskan cara membuat SDK produsen Amazon Kinesis Video Streams untuk digunakan sebagai plugin GStreamer.
Topik
GStreamer
Plugin GStreamer secara otomatis mengelola transfer aliran video Anda ke Kinesis Video Streams dengan merangkum fungsionalitas yang disediakan oleh SDK produsen Kinesis Video Streams dalam elemen sink GStreamer,. kvssink Kerangka kerja GStreamer menyediakan lingkungan terkelola standar untuk membangun aliran media dari perangkat seperti kamera atau sumber video lainnya untuk pemrosesan, rendering, atau penyimpanan lebih lanjut.
Pipeline GStreamer biasanya terdiri dari tautan antara sumber (kamera video) dan elemen sink (baik pemutar untuk merender video, atau penyimpanan untuk pengambilan offline). Dalam contoh ini, Anda menggunakan elemen Producer SDK sebagai wastafel, atau tujuan media, untuk sumber video Anda (webcam atau kamera IP). Elemen plugin yang merangkum SDK kemudian mengirimkan aliran video ke Kinesis Video Streams.
Topik ini menjelaskan cara membuat pipeline media GStreamer yang mampu streaming video dari sumber video, seperti kamera web atau aliran RTSP, biasanya terhubung melalui tahap pengkodean menengah (menggunakan pengko H.264 dean) ke Kinesis Video Streams. Ketika aliran video Anda tersedia sebagai aliran video Kinesis, Anda dapat menggunakannya Tonton keluaran dari kamera menggunakan perpustakaan parser untuk pemrosesan lebih lanjut, pemutaran, penyimpanan, atau analisis aliran video Anda.
Unduh, buat, dan konfigurasikan elemen GStreamer
Contoh Plugin GStreamer disertakan dengan SDK produser Kinesis Video Streams C++. Untuk informasi tentang prasyarat dan pengunduhan SDK, lihatUnduh dan konfigurasikan kode pustaka produsen C++.
Anda dapat membangun produsen SDK GStreamer sink sebagai pustaka dinamis di macOS, Ubuntu, Raspberry Pi, atau Windows. Plugin GStreamer terletak di direktori Andabuild. Untuk memuat plugin ini, itu harus ada di AndaGST_PLUGIN_PATH. Jalankan perintah berikut:
export GST_PLUGIN_PATH=`pwd`/build
catatan
Di macOS, Anda hanya dapat melakukan streaming video dari kamera jaringan saat menjalankan GStreamer dalam wadah Docker. Streaming video dari kamera USB di macOS dalam wadah Docker tidak didukung.
Jalankan elemen GStreamer
Untuk menjalankan GStreamer dengan elemen SDK produser Kinesis Video Streams sebagai sink, gunakan perintah. gst-launch-1.0 Gunakan elemen hulu yang sesuai untuk digunakan plugin GStreamer. Misalnya, v4l2src untuk perangkat v4l2 pada sistem Linux, atau rtspsrc kvssink sebagai wastafel (tujuan akhir pipeline) untuk mengirim video ke Producer SDK.
Selain memberikan kredenSIAL dan menyediakan wilayah, kvssink elemen memiliki parameter yang diperlukan berikut:
-
stream-name— Nama tujuan Kinesis Video Streams.
Untuk informasi tentang parameter kvssink opsional, lihatReferensi parameter elemen GStreamer.
Untuk informasi terbaru tentang plugin dan parameter GStreamer, lihat Plugin GStreamer. gst-inspect-1.0 diikuti dengan nama elemen atau plugin GStreamer untuk mencetak informasinya dan untuk memverifikasi bahwa itu tersedia di perangkat Anda:
gst-inspect-1.0 kvssink
Jika pembangunan kvssink gagal atau GST_PLUGIN_PATH tidak diatur dengan benar, output Anda akan terlihat mirip dengan ini:
No such element or plugin 'kvssink'
Contoh perintah peluncuran GStreamer
Contoh berikut menunjukkan cara menggunakan plugin kvssink GStreamer untuk streaming video dari berbagai jenis perangkat.
Contoh 1: Streaming video dari kamera RTSP di Ubuntu
Perintah berikut membuat pipeline GStreamer di Ubuntu yang mengalir dari kamera RTSP jaringan, menggunakan plugin rt
gst-launch-1.0 -v rtspsrc location="rtsp://YourCameraRtspUrl" short-header=TRUE ! rtph264depay ! h264parse ! kvssink stream-name="YourStreamName" storage-size=128
Contoh 2: Encode dan streaming video dari kamera USB di Ubuntu
Perintah berikut membuat pipeline GStreamer di Ubuntu yang mengkodekan aliran dari kamera USB dalam H.264 format, dan mengalirkannya ke Kinesis Video Streams. Contoh ini menggunakan plugin gStreamer 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"
Contoh 3: Streaming video pra-enkode dari kamera USB di Ubuntu
Perintah berikut membuat pipeline GStreamer di Ubuntu yang mengalirkan video yang telah dikodekan kamera dalam H.264 format ke Kinesis Video Streams. Contoh ini menggunakan plugin gStreamer 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"
Contoh 4: Streaming video dari kamera jaringan di macOS
Perintah berikut membuat pipeline GStreamer di macOS yang mengalirkan video ke Kinesis Video Streams dari kamera jaringan. Contoh ini menggunakan 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"
Contoh 5: Streaming video dari kamera jaringan di Windows
Perintah berikut membuat pipeline GStreamer pada Windows yang mengalirkan video ke Kinesis Video Streams dari kamera jaringan. Contoh ini menggunakan 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"
Contoh 6: Streaming video dari kamera di Raspberry Pi
Perintah berikut membuat pipeline GStreamer pada Raspberry Pi yang mengalirkan video ke Kinesis Video Streams. Contoh ini menggunakan plugin gStreamer 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"
Contoh 7: Streaming audio dan video di Raspberry Pi dan Ubuntu
Contoh 8: Streaming audio dan video dari sumber perangkat di macOS
Lihat cara menjalankan perintah gst-launch-1.0 untuk mulai streaming audio dan video di macOS.
Contoh 9: Unggah file MKV yang berisi audio dan video
Lihat cara menjalankan perintah gst-launch-1.0 untuk mengunggah file MKV yang berisi audio dan video.
Jalankan elemen GStreamer dalam wadah Docker
Docker adalah platform untuk mengembangkan, menyebarkan, dan menjalankan aplikasi menggunakan container. Menggunakan Docker untuk membuat pipeline GStreamer menstandarisasi lingkungan operasi untuk Kinesis Video Streams, yang merampingkan pembuatan dan penggunaan aplikasi.
Untuk menginstal dan mengkonfigurasi Docker, lihat yang berikut ini:
Setelah menginstal Docker, Anda dapat mengunduh Kinesis Video Streams C++ Producer SDK (dan plugin GStreamer) dari Amazon Elastic Container Registry menggunakan salah satu perintah yang disediakan di bawah ini. docker
pull
Untuk menjalankan GStreamer dengan elemen SDK produser Kinesis Video Streams sebagai sink dalam wadah Docker, lakukan hal berikut:
Topik
Otentikasi klien Docker Anda
Autentikasi klien Docker Anda ke registrasi Amazon ECR di mana Anda berniat untuk menarik citra Anda. Anda harus mendapatkan token otentikasi untuk setiap registri yang digunakan. Token berlaku selama 12 jam. Untuk informasi selengkapnya, lihat Autentikasi Registri dalam Panduan Pengguna Amazon Elastic Container Registry.
contoh: Otentikasi dengan Amazon ECR
Untuk mengotentikasi dengan Amazon ECR, salin dan tempel perintah berikut seperti yang ditunjukkan.
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
Jika berhasil, output akan mencetak Login Succeeded.
Unduh gambar Docker untuk Ubuntu, macOS, Windows, atau Raspberry Pi
Unduh gambar Docker ke lingkungan Docker Anda menggunakan salah satu perintah berikut, tergantung pada sistem operasi Anda:
Unduh gambar Docker untuk Ubuntu
sudo docker pull 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-linux:latest
Unduh gambar Docker untuk macOS
docker pull 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-linux:latest
Unduh gambar Docker untuk Windows
docker pull 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-windows:latest
Unduh gambar Docker untuk Raspberry Pi
sudo docker pull 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-raspberry-pi:latest
Untuk memverifikasi bahwa gambar berhasil ditambahkan, gunakan perintah berikut:
docker images
Jalankan gambar Docker
Gunakan salah satu perintah berikut untuk menjalankan image Docker, tergantung pada sistem operasi Anda:
Jalankan gambar Docker di 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
Jalankan gambar Docker di macOS
sudo docker run -it --network="host" 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-linux /bin/bash
Jalankan gambar Docker di 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
Jalankan gambar Docker pada 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 meluncurkan wadah dan memberi Anda prompt perintah untuk menggunakan perintah di dalam wadah.
Dalam wadah, atur variabel lingkungan menggunakan perintah berikut:
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
Mulai streaming untuk kvssink menggunakan gst-launch-1.0 untuk menjalankan pipeline yang sesuai untuk perangkat dan sumber video Anda. Misalnya saluran pipa, lihatContoh perintah peluncuran GStreamer.