Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Daten an einen Amazon Kinesis Kinesis-Videostream senden

Fokusmodus
Daten an einen Amazon Kinesis Kinesis-Videostream senden - Amazon Kinesis Video Streams

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

In diesem Abschnitt wird beschrieben, wie Sie Mediendaten von einer Kamera an den Kinesis-Videostream senden, den Sie im vorherigen Abschnitt erstellt haben. In diesem Abschnitt wird die Verwenden Sie die C++-Producer-Bibliothek als Beispiel: GStreamer SDK-Plug-In für Kinesis Video Streams Producer — kvssink Plug-in verwendet.

Um Medien von einer Vielzahl von Geräten auf verschiedenen Betriebssystemen zu senden, verwendet dieses Tutorial die Kinesis Video Streams C++ Producer-Bibliothek und ein Open-Source-Medienframework GStreamer, das den Zugriff auf Kameras und andere Medienquellen standardisiert.

Erstellen Sie das SDK und die Beispiele

Sie können das SDK und die Beispiele auf Ihrem Computer oder in erstellen AWS Cloud9. Folgen Sie den unten angegebenen Verfahren.

Build on your computer

Verwenden Sie die Anweisungen in der Readme-Datei, um die Producer-Bibliothek und die Beispielanwendung zu erstellen.

Dies umfasst:

  • Installieren von Abhängigkeiten

  • Das Repository klonen

  • Wird CMakezum Generieren von Makefiles verwendet

  • Die Binärdateien mit Make erstellen

Build in AWS Cloud9

Gehen Sie wie folgt vor, um in AWS Cloud9 Kinesis Video Streams hochzuladen. Sie müssen nichts auf Ihren Computer herunterladen.

  1. In der AWS Management Console, offen AWS Cloud9.

    Wählen Sie Umgebung erstellen aus.

  2. Gehen Sie auf dem Bildschirm Umgebung erstellen wie folgt vor:

    • Name — Geben Sie einen Namen für Ihre neue Umgebung ein.

    • Plattform — Wählen Sie Ubuntu Server 22.04 LTS aus.

    Sie können die Standardauswahl für die anderen Felder beibehalten.

  3. Wenn die Umgebung erstellt wurde, wählen Sie in der Spalte Cloud9 IDE die Option Öffnen aus.

    Im unteren mittleren Bereich des Bildschirms sehen Sie. Admin:~/environment $ Dies ist das AWS Cloud9 (Amazon- EC2) Terminal.

    Anmerkung

    Wenn Sie das Terminal versehentlich schließen, wählen Sie Fenster, Neues Terminal.

    Führen Sie die folgenden Befehle im Terminal aus, um die Lautstärke auf 20 GiB zu ändern.

    1. Laden Sie das -Skript herunter.

      wget https://awsj-iot-handson.s3-ap-northeast-1.amazonaws.com/kvs-workshop/resize_volume.sh
    2. Erteilen Sie dem Skript Ausführungsberechtigungen.

      chmod +x resize_volume.sh
    3. Führen Sie das Skript aus.

      ./resize_volume.sh
  4. Rufen Sie die neuesten Informationen über die gesamte Software ab, die Sie mit dem Advanced Packaging Tool (APT) installieren oder aktualisieren können.

    Dieser Befehl aktualisiert nicht die Software selbst, sondern stellt sicher, dass Ihr System über die neuesten verfügbaren Versionen informiert ist.

    sudo apt-get update
  5. Installieren Sie die Abhängigkeiten des C++-Producer-SDK.

    sudo apt-get install -y cmake m4 git build-essential pkg-config libssl-dev libcurl4-openssl-dev \ liblog4cplus-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \ gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-bad gstreamer1.0-plugins-good \ gstreamer1.0-plugins-ugly gstreamer1.0-tools
  6. Verwenden Sie Git, um das C++-Producer-SDK zu klonen.

    git clone https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp.git
  7. Bereiten Sie ein Build-Verzeichnis vor.

    cd amazon-kinesis-video-streams-producer-sdk-cpp mkdir build cd build
  8. Wird verwendet CMake , um Makefiles zu generieren.

    cmake .. -DBUILD_GSTREAMER_PLUGIN=TRUE -DBUILD_DEPENDENCIES=OFF

    Das Ende der erwarteten Ausgabe sieht wie folgt aus:

    -- Build files have been written to: /home/ubuntu/environment/amazon-kinesis-video-streams-producer-sdk-cpp/build
  9. Verwenden Sie make, um das SDK und die Beispielanwendungen zu kompilieren und die endgültigen ausführbaren Dateien zu erstellen.

    make

    Das Ende der erwarteten Ausgabe sieht wie folgt aus:

    [100%] Linking CXX executable kvs_gstreamer_file_uploader_sample [100%] Built target kvs_gstreamer_file_uploader_sample
  10. Vergewissern Sie sich, dass die Beispieldateien erstellt wurden. Listet die Dateien im aktuellen Verzeichnis auf:

    ls

    Vergewissern Sie sich, dass die folgenden Dateien vorhanden sind:

    • kvs_gstreamer_sample

    • libgstkvssink.so

  11. (Optional) Sie können dem Startskript Ihrer Shell die Einstellung der Umgebungsvariablen GST_PLUGIN_PATH hinzufügen. Dadurch wird sichergestellt, dass GST_PLUGIN_PATH während einer neuen Terminalsitzung richtig eingestellt ist. In lautet das AWS Cloud9 Startskript der Shell:. ~/.bashrc

    Führen Sie den folgenden Befehl aus, um den Befehl an das Ende des Startskripts der Shell anzuhängen.

    echo "export GST_PLUGIN_PATH=~/environment/amazon-kinesis-video-streams-producer-sdk-cpp/build" >> ~/.bashrc

    Geben Sie Folgendes ein, um das Startskript der Shell auszuführen:

    source ~/.bashrc

    Vergewissern Sie sich, dass GST_PLUGIN_PATH gesetzt ist.

    echo $GST_PLUGIN_PATH

    Wenn Sie die Ausgabe korrekt eingestellt haben, wird die folgende Ausgabe angezeigt. Wenn die Ausgabe leer ist, ist die Umgebungsvariable nicht richtig gesetzt.

    /home/ubuntu/environment/amazon-kinesis-video-streams-producer-sdk-cpp/build

Verwenden Sie die Anweisungen in der Readme-Datei, um die Producer-Bibliothek und die Beispielanwendung zu erstellen.

Dies umfasst:

  • Installieren von Abhängigkeiten

  • Das Repository klonen

  • Wird CMakezum Generieren von Makefiles verwendet

  • Die Binärdateien mit Make erstellen

Führen Sie die Beispiele aus, um Medien auf Kinesis Video Streams hochzuladen

Die Beispielanwendung unterstützt keine IMDS-Anmeldeinformationen. Exportieren Sie in Ihrem Terminal die AWS Anmeldeinformationen für Ihren IAM-Benutzer oder Ihre IAM-Rolle und die Region, in der sich Ihr Stream befindet.

export AWS_ACCESS_KEY_ID=YourAccessKey export AWS_SECRET_ACCESS_KEY=YourSecretKey export AWS_DEFAULT_REGION=YourAWSRegion

Wenn du temporäre AWS Anmeldeinformationen verwendest, exportiere auch dein Sitzungstoken:

export AWS_SESSION_TOKEN=YourSessionToken
.mp4 files

Laden Sie ein MP4-Beispielvideo herunter, um es auf Kinesis Video Streams hochzuladen.

wget https://awsj-iot-handson.s3-ap-northeast-1.amazonaws.com/kvs-workshop/sample.mp4

Videospezifikationen:

  • Auflösung: 1280 x 720 Pixel

  • Bildrate - 30 Bilder pro Sekunde

  • Dauer - 14,0 Sekunden

  • Videokodierung - H.264, in Track 1

  • Keyframes — Alle 3 Sekunden, was zu einer Fragmentdauer (auch bekannt als Größe einer Gruppe von Bildern (GoP)) von 3 Sekunden führt, wobei das letzte Fragment 2 Sekunden lang ist.

Führen Sie den folgenden Befehl mit dem Namen des Streams aus, den Sie zuvor erstellt haben. Wenn Sie noch keinen Stream erstellt haben, finden Sie weitere Informationen unterErstellen Sie einen Amazon Kinesis Kinesis-Videostream.

./kvs_gstreamer_sample YourStreamName ./sample.mp4
Sample video from GStreamer

Verwenden Sie den folgenden Befehl, um ein Video mit zu generieren GStreamer.

Teilen Sie mit, GStreamer wo sich das kvssink GStreamer Plugin befindet. Geben Sie in Ihrem Build-Verzeichnis den Pfad zu dem Ordner an, der die libgstkvssink.so Datei enthält.

Führen Sie in Ihrem Build-Verzeichnis den folgenden Befehl aus:

export GST_PLUGIN_PATH=`pwd`

Diese GStreamer Pipeline generiert einen Live-Testvideostream mit einem Standardtestmuster, das mit 10 Bildern pro Sekunde und einer Auflösung von 640 x 480 Pixeln läuft. Es wird ein Overlay hinzugefügt, das die aktuelle Systemzeit und das aktuelle Systemdatum anzeigt. Das Video wird dann in das H.264-Format codiert, und es werden höchstens alle 10 Bilder Keyframes generiert, was zu einer Fragmentdauer (auch bekannt als Größe einer Bildgruppe (GoP)) von 1 Sekunde führt. kvssinknimmt den H.264-codierten Videostream, packt ihn in das Matroska (MKV) -Containerformat und lädt ihn in Ihren Kinesis-Videostream hoch.

Führen Sie den folgenden Befehl aus:

gst-launch-1.0 -v videotestsrc is-live=true \ ! video/x-raw,framerate=10/1,width=640,height=480 \ ! clockoverlay time-format="%a %B %d, %Y %I:%M:%S %p" \ ! x264enc bframes=0 key-int-max=10 \ ! h264parse \ ! kvssink stream-name="YourStreamName"

Um die GStreamer Pipeline zu beenden, wählen Sie das Terminalfenster aus und drücken Sie STRG+C.

Laden Sie ein MP4-Beispielvideo herunter, um es auf Kinesis Video Streams hochzuladen.

wget https://awsj-iot-handson.s3-ap-northeast-1.amazonaws.com/kvs-workshop/sample.mp4

Videospezifikationen:

  • Auflösung: 1280 x 720 Pixel

  • Bildrate - 30 Bilder pro Sekunde

  • Dauer - 14,0 Sekunden

  • Videokodierung - H.264, in Track 1

  • Keyframes — Alle 3 Sekunden, was zu einer Fragmentdauer (auch bekannt als Größe einer Gruppe von Bildern (GoP)) von 3 Sekunden führt, wobei das letzte Fragment 2 Sekunden lang ist.

Führen Sie den folgenden Befehl mit dem Namen des Streams aus, den Sie zuvor erstellt haben. Wenn Sie noch keinen Stream erstellt haben, finden Sie weitere Informationen unterErstellen Sie einen Amazon Kinesis Kinesis-Videostream.

./kvs_gstreamer_sample YourStreamName ./sample.mp4
Anmerkung

Weitere Informationen zur Verwendung des GStreamer Plug-ins zum Streamen von Videos von einem RTSP-Stream von einer Kamera oder von einer USB-Kamera finden Sie unter. Beispiel: GStreamer SDK-Plug-In für Kinesis Video Streams Producer — kvssink

Überprüfen Sie die Bestätigungsobjekte

Während des Uploads sendet Kinesis Video Streams Bestätigungsobjekte zurück an den Client, der den Upload durchführt. Sie sollten diese in der Befehlsausgabe gedruckt sehen. Ein Beispiel sieht wie folgt aus:

{"EventType":"PERSISTED","FragmentTimecode":1711124585823,"FragmentNumber":"12345678901234567890123456789012345678901234567"}

Wenn die Bestätigung „Ja“ EventType lautetPERSISTED, bedeutet dies, dass Kinesis Video Streams diesen Medienblock dauerhaft gespeichert und verschlüsselt hat, um ihn abzurufen, zu analysieren und langfristig zu speichern.

Weitere Informationen zu Bestätigungen finden Sie unter. PutMedia

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.