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.
Analysieren eines Videos mit dem AWS Command Line Interface
Sie können die AWS Command Line Interface (AWS CLI) verwenden, um Amazon Rekognition Video Video-Operationen aufzurufen. Das Entwurfsmuster ist dasselbe wie bei der Verwendung von Amazon Rekognition Video API mit dem AWS SDK for Java oder anderen. AWS SDKs Weitere Informationen finden Sie unter Überblick über Amazon Rekognition Video API. Die folgenden Verfahren zeigen, wie Sie mit dem AWS CLI Labels in einem Video erkennen können.
Sie starten, Labels in einem Video zu erkennen, indem Sie start-label-detection
aufrufen. Wenn Amazon Rekognition die Analyse des Videos abgeschlossen hat, wird der Abschlussstatus an das SNS Amazon-Thema gesendet, das im --notification-channel
Parameter von angegeben ist. start-label-detection
Sie können den Abschlussstatus abrufen, indem Sie eine Amazon Simple Queue Service (AmazonSQS) -Warteschlange für das SNS Amazon-Thema abonnieren. Anschließend fragen Sie die Empfangsnachricht ab, um den Abschlussstatus aus der SQS Amazon-Warteschlange abzurufen.
Beim Aufrufen von StartLabelDetection
können Sie Ihre Ergebnisse filtern, indem Sie Filterargumente für die Argumente LabelsInclusionFilter
und/oder LabelsExclusionFilter
angeben. Weitere Informationen finden Sie unter Erkennen von Labels in einem Video.
Die Benachrichtigung über den Abschlussstatus ist eine JSON Struktur innerhalb der receive-message
Antwort. Sie müssen das JSON aus der Antwort extrahieren. Informationen zum Abschlussstatus finden Sie JSON unterReferenz: Videoanalyse-Ergebnisbenachrichtigung. Wenn der Wert des Status
Felds mit dem Status „Abgeschlossen“ JSON lautetSUCCEEDED
, können Sie die Ergebnisse der Videoanalyseanfrage telefonisch abrufenget-label-detection
. Beim Aufrufen von GetLabelDetection
können Sie die zurückgegebenen Ergebnisse mithilfe der Argumente SortBy
und AggregateBy
sortieren und aggregieren.
Die folgenden Verfahren enthalten keinen Code zum Abfragen der SQS Amazon-Warteschlange. Außerdem enthalten sie keinen Code zum Analysieren der zurückgegebenen Daten aus der JSON SQS Amazon-Warteschlange. Ein Beispiel in Java finden Sie unter Analysieren eines in einem Amazon S3 S3-Bucket gespeicherten Videos mit Java oder Python (SDK).
Voraussetzungen
Um dieses Verfahren ausführen zu können, müssen Sie das AWS CLI installiert haben. Weitere Informationen finden Sie unter Erste Schritte mit Amazon Rekognition. Das AWS Konto, das Sie verwenden, muss über Zugriffsberechtigungen für Amazon Rekognition API verfügen. Weitere Informationen finden Sie unter Von Amazon Rekognition definierte Aktionen.
Um Amazon Rekognition Video zu konfigurieren und ein Video hochzuladen
-
Konfigurieren Sie den Benutzerzugriff auf Amazon Rekognition Video und konfigurieren Sie den Amazon Rekognition Video Video-Zugriff auf Amazon. SNS Weitere Informationen finden Sie unter Amazon Rekognition Video konfigurieren.
-
Laden Sie eine Videodatei im Format MOV oder MPEG -4 in Ihren S3-Bucket hoch. Bei der Entwicklung und beim Testen empfehlen wir, kurze Videos mit einer Länge von maximal 30 Sekunden zu verwenden.
Weitere Anleitungen finden Sie unter Upload eines Objekts in Amazon S3 im Benutzerhandbuch für Amazon Simple Storage Service.
Um Labels in einem Video zu erkennen
-
Führen Sie den folgenden AWS CLI Befehl aus, um mit der Erkennung von Labels in einem Video zu beginnen.
aws rekognition start-label-detection --video '{"S3Object":{"Bucket":"bucket-name","Name":"video-name"}}' \ --notification-channel '{"SNSTopicArn":"TopicARN","RoleArn":"RoleARN"}' \ --region region-name \ --features GENERAL_LABELS \ --profile profile-name \ --settings "{"GeneralLabels":{"LabelInclusionFilters":["Car"]}}
Aktualisieren Sie die folgenden Werte:
-
Ändern Sie
bucketname
undvideofile
in den Amazon-S3-Bucket-Namen und den Dateinamen, die Sie in Schritt 2 angegeben haben. -
Wechseln Sie
us-east-1
zu der AWS Region, die Sie verwenden. -
Ersetzen Sie den Wert von
profile_name
in der Zeile, die die Rekognition-Sitzung erstellt, durch den Namen Ihres Entwicklerprofils. -
Wechseln Sie
TopicARN
zu dem ARN SNS Amazon-Thema, das Sie in Schritt 3 von erstellt habenAmazon Rekognition Video konfigurieren. -
Wechseln Sie
RoleARN
zu ARN der IAM Servicerolle, die Sie in Schritt 7 von erstellt habenAmazon Rekognition Video konfigurieren. -
Falls erforderlich, können Sie die
endpoint-url
angeben. Der AWS CLI sollte anhand der angegebenen Region automatisch den richtigen Endpunkt URL ermitteln. Wenn Sie jedoch einen privaten Endpunkt verwendenVPC, müssen Sie möglicherweise den angebenendpoint-url
. In der Ressource AWSService Endpoints sind die Syntax für die Angabe von Endpunkt-URLs sowie die Namen und Codes für jede Region aufgeführt. -
Sie können auch Filterkriterien in den Einstellungsparameter aufnehmen. Sie können beispielsweise einen
LabelsInclusionFilter
oder einenLabelsExclusionFilter
zusammen mit einer Liste gewünschter Werte verwenden.
Wenn Sie CLI auf einem Windows-Gerät auf die zugreifen, verwenden Sie doppelte Anführungszeichen anstelle von einfachen Anführungszeichen und maskieren Sie die inneren doppelten Anführungszeichen durch einen umgekehrten Schrägstrich (d. h.\), um eventuell auftretende Parserfehler zu beheben. Ein Beispiel finden Sie unten:
aws rekognition start-label-detection --video "{\"S3Object\":{\"Bucket\":\"bucket-name\",\"Name\":\"video-name\"}}" --notification-channel "{\"SNSTopicArn\":\"TopicARN\",\"RoleArn\":\"RoleARN\"}" \ --region us-east-1 --features GENERAL_LABELS --settings "{\"GeneralLabels\":{\"LabelInclusionFilters\":[\"Car\"]}}" --profile profile-name
-
-
Notieren Sie den
JobId
-Wert in der Antwort. Die Antwort sieht dem folgenden Beispiel ähnlich. JSON{ "JobId": "547089ce5b9a8a0e7831afa655f42e5d7b5c838553f1a584bf350ennnnnnnnnn" }
-
Schreiben Sie Code, um die SQS Amazon-Warteschlange nach dem Abschlussstatus abzufragen JSON (mithilfe von receive-message).
-
Schreiben Sie Code, um das
Status
Feld aus dem Abschlussstatus zu extrahieren. JSON -
Wenn der Wert von
Status
istSUCCEEDED
, führen Sie den folgenden AWS CLI Befehl aus, um die Ergebnisse der Etikettenerkennung anzuzeigen.aws rekognition get-label-detection --job-id
JobId
\ --regionus-east-1
--sort-by TIMESTAMP aggregate-by TIMESTAMPSAktualisieren Sie die folgenden Werte:
-
Ändern Sie
JobId
in die Auftrags-ID, die Sie in Schritt 2 notiert haben. -
Wechseln Sie
Endpoint
us-east-1
zu dem AWS Endpunkt und der Region, die Sie verwenden.
Die Ergebnisse sehen dem folgenden Beispiel ähnlichJSON:
{ "Labels": [ { "Timestamp": 0, "Label": { "Confidence": 99.03720092773438, "Name": "Speech" } }, { "Timestamp": 0, "Label": { "Confidence": 71.6698989868164, "Name": "Pumpkin" } }, { "Timestamp": 0, "Label": { "Confidence": 71.6698989868164, "Name": "Squash" } }, { "Timestamp": 0, "Label": { "Confidence": 71.6698989868164, "Name": "Vegetable" } }, .......
-