Utilisation de l’API de segmentation Amazon Rekognition - Amazon Rekognition

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de l’API de segmentation Amazon Rekognition

La détection de segments Vidéo Amazon Rekognition dans les vidéos stockées est une opération asynchrone de Vidéo Amazon Rekognition. L’API de segmentation Amazon Rekognition est une API composite dans laquelle vous choisissez le type d’analyse (repères techniques ou détection de plans) à partir d’un seul appel d’API. Pour de plus amples informations sur l’appel d’opérations asynchrones, veuillez consulter Appeler les opérations de Vidéo Amazon Rekognition.

Démarrage de l’analyse de segments

Pour démarrer la détection de segments dans un appel vidéo enregistré StartSegmentDetection. Les paramètres d’entrée sont les mêmes que pour les autres opérations Vidéo Amazon Rekognition avec l’ajout de la sélection du type de segment et du filtrage des résultats. Pour plus d’informations, consultez Démarrage d’une analyse vidéo.

Voici un exemple de JSON transmis par StartSegmentDetection. La demande spécifie que les segments de repères techniques et les segments de détection de plans sont tous détectés. Différents filtres pour la confiance de détection minimale sont demandés pour les segments de repères techniques (90 %) et les segments de détection de plans (80 %).

{ "Video": { "S3Object": { "Bucket": "test_files", "Name": "test_file.mp4" } "SegmentTypes":["TECHNICAL_CUES", "SHOT"] "Filters": { "TechnicalCueFilter": { "MinSegmentConfidence": 90, "BlackFrame" : { "MaxPixelThreshold": 0.1, "MinCoveragePercentage": 95 } }, "ShotFilter" : { "MinSegmentConfidence": 60 } } }

Choix d’un type de segment

Utilisez le paramètre d’entrée de tableau SegmentTypes pour détecter les segments de repères techniques et/ou les segments de détection de plans dans la vidéo d’entrée.

  • TECHNICAL_CUE : identifie les horodatages précis à l’image près pour le début, la fin et la durée des repères techniques (images noires, barres de couleur, génériques de début et de fin, logos studio et contenu de programme primaire) détectés dans une vidéo. Par exemple, vous pouvez utiliser des repères techniques pour trouver le début du générique de fin. Pour plus d’informations, consultez Repères techniques.

  • SHOT : identifie le début, la fin et la durée d’un plan. Par exemple, vous pouvez utiliser la détection de plans afin d’identifier les plans candidats pour un montage final d’une vidéo. Pour plus d’informations, consultez Détection des plans.

Filtrage des résultats de l’analyse

Vous pouvez utiliser le paramètre d'entrée Filters (StartSegmentDetectionFilters) pour spécifier le niveau de confiance de détection minimal renvoyé dans la réponse. À l'intérieurFilters, utilisez ShotFilter (StartShotDetectionFilter) pour filtrer les prises de vue détectées. Utilisez TechnicalCueFilter (StartTechnicalCueDetectionFilter) pour filtrer les informations techniques.

Pour obtenir un exemple de code, consultez Exemple : Détection de segments dans une vidéo stockée.

Obtention des résultats de l’analyse des segments

Vidéo Amazon Rekognition publie l’état d’achèvement de l’opération d’analyse vidéo dans une rubrique Amazon Simple Notification Service. Si l'analyse vidéo est réussie, appelez GetSegmentDetectionpour obtenir les résultats de l'analyse vidéo.

Vous trouverez ci-après un exemple de demande GetSegmentDetection. Le JobId est l’identifiant de tâche renvoyé par l’appel à StartSegmentDetection. Pour de plus amples informations sur les autres paramètres d’entrée, veuillez consulter Obtenir les résultats de l’analyse de Vidéo Amazon Rekognition.

{ "JobId": "270c1cc5e1d0ea2fbc59d97cb69a72a5495da75851976b14a1784ca90fc180e3", "MaxResults": 10, "NextToken": "XfXnZKiyMOGDhzBzYUhS5puM+g1IgezqFeYpv/H/+5noP/LmM57FitUAwSQ5D6G4AB/PNwolrw==" }

GetSegmentDetection renvoie les résultats de l’analyse demandée et des informations générales sur la vidéo stockée.

Informations générales

GetSegmentDection renvoie les informations générales suivantes.

  • Informations audio — La réponse inclut des métadonnées audio dans un tableau d'AudioMetadataobjets. AudioMetadata Il peut y avoir plusieurs flux audio. Chaque objet AudioMetadata contient des métadonnées pour un flux audio unique. Les informations audio d’un objet AudioMetadata incluent le codec audio, le nombre de canaux audio, la durée du flux audio et la fréquence d’échantillonnage. Les métadonnées audio sont renvoyées dans chaque page d’informations renvoyée par GetSegmentDetection.

  • Informations sur la vidéo — Actuellement, Amazon Rekognition Video renvoie un VideoMetadataseul objet dans le tableau. VideoMetadata L’objet contient des informations sur le flux vidéo dans le fichier d’entrée que Vidéo Amazon Rekognition a choisi d’analyser. L’objet VideoMetadata inclut le codec vidéo, le format vidéo et d’autres informations. Les métadonnées vidéo sont renvoyées dans chaque page d’informations renvoyée par GetSegmentDetection.

  • Informations sur la pagination : l’exemple montre une page d’informations de segments. Vous pouvez spécifier le nombre d’éléments à renvoyer dans le paramètre d’entrée MaxResults pour GetSegmentDetection. Si le nombre de résultats est supérieur à MaxResults, GetSegmentDetection renvoie un jeton (NextToken) utilisé pour obtenir la page de résultats suivante. Pour plus d’informations, consultez Obtenir les résultats de l’analyse de Vidéo Amazon Rekognition.

  • Informations sur la demande : le type d’analyse demandée dans l’appel à StartSegmentDetection est renvoyé dans le champ SelectedSegmentTypes.

Segments

Les indices techniques et les informations de prise de vue détectés dans une vidéo sont renvoyés sous forme d'Segmentsun ensemble d'SegmentDetectionobjets. Le tableau est trié en fonction des types de segments (TECHNICAL_CUE ou SHOT) spécifiés dans le paramètre d’entrée SegmentTypes de StartSegmentDetection. Dans chaque type de segment, le tableau est trié par valeurs d’horodatage. Chaque objet SegmentDetection inclut des informations sur le type de segment détecté (repère technique ou détection de plans) et des informations générales, telles que l’heure de début, l’heure de fin et la durée du segment.

Les informations temporelles sont renvoyées dans trois formats.

  • Millisecondes

    Nombre de millisecondes depuis le début de la vidéo. Les champs DurationMillis, StartTimestampMillis et EndTimestampMillis sont présentés en millisecondes.

  • Code temporel

    Les codes temporels Vidéo Amazon Rekognition sont au format SMPTE, où chaque image de la vidéo a une valeur de code temporel unique. Le format est hh:mm:ss:frame. Par exemple, une valeur de code temporel de 01:05:40:07 serait lue comme une heure, cinq minutes, quarante secondes et sept images. Les cas d’utilisation de Drop frame sont pris en charge par Vidéo Amazon Rekognition. Le format de code temporel drop rate est hh:mm:ss;frame. Les champs DurationSMPTE, StartTimecodeSMPTE et EndTimecodeSMPTE sont au format de code temporel.

  • Compteurs à cadres

    La durée de chaque segment vidéo est également exprimée par le nombre d’images. Le champ StartFrameNumber indique le numéro d’image au début d’un segment vidéo et EndFrameNumber donne le numéro d’image à la fin d’un segment vidéo. DurationFrames indique le nombre total d’images d’un segment vidéo. Ces valeurs sont calculées à l’aide d’un indice de trame commençant par 0.

Vous pouvez utiliser le champ SegmentType pour déterminer le type d’un segment renvoyé par Vidéo Amazon Rekognition.

  • Indices techniques : le TechnicalCueSegment champ est un TechnicalCueSegmentobjet qui contient la fiabilité de détection et le type d'un indice technique. Les types de repères techniques sont ColorBars, EndCredits, BlackFrames, OpeningCredits, StudioLogo, Slate, et Content.

  • Plan : le ShotSegment champ est un ShotSegmentobjet qui contient le niveau de confiance de détection et un identifiant pour le segment de prise de vue dans la vidéo.

L’exemple suivant constitue la réponse JSON de GetSegmentDetection.

{ "SelectedSegmentTypes": [ { "ModelVersion": "2.0", "Type": "SHOT" }, { "ModelVersion": "2.0", "Type": "TECHNICAL_CUE" } ], "Segments": [ { "DurationFrames": 299, "DurationSMPTE": "00:00:09;29", "StartFrameNumber": 0, "EndFrameNumber": 299, "EndTimecodeSMPTE": "00:00:09;29", "EndTimestampMillis": 9976, "StartTimestampMillis": 0, "DurationMillis": 9976, "StartTimecodeSMPTE": "00:00:00;00", "Type": "TECHNICAL_CUE", "TechnicalCueSegment": { "Confidence": 90.45006561279297, "Type": "BlackFrames" } }, { "DurationFrames": 150, "DurationSMPTE": "00:00:05;00", "StartFrameNumber": 299, "EndFrameNumber": 449, "EndTimecodeSMPTE": "00:00:14;29", "EndTimestampMillis": 14981, "StartTimestampMillis": 9976, "DurationMillis": 5005, "StartTimecodeSMPTE": "00:00:09;29", "Type": "TECHNICAL_CUE", "TechnicalCueSegment": { "Confidence": 100.0, "Type": "Content" } }, { "DurationFrames": 299, "ShotSegment": { "Index": 0, "Confidence": 99.9982681274414 }, "DurationSMPTE": "00:00:09;29", "StartFrameNumber": 0, "EndFrameNumber": 299, "EndTimecodeSMPTE": "00:00:09;29", "EndTimestampMillis": 9976, "StartTimestampMillis": 0, "DurationMillis": 9976, "StartTimecodeSMPTE": "00:00:00;00", "Type": "SHOT" }, { "DurationFrames": 149, "ShotSegment": { "Index": 1, "Confidence": 99.9982681274414 }, "DurationSMPTE": "00:00:04;29", "StartFrameNumber": 300, "EndFrameNumber": 449, "EndTimecodeSMPTE": "00:00:14;29", "EndTimestampMillis": 14981, "StartTimestampMillis": 10010, "DurationMillis": 4971, "StartTimecodeSMPTE": "00:00:10;00", "Type": "SHOT" } ], "JobStatus": "SUCCEEDED", "VideoMetadata": [ { "Format": "QuickTime / MOV", "FrameRate": 29.970029830932617, "Codec": "h264", "DurationMillis": 15015, "FrameHeight": 1080, "FrameWidth": 1920, "ColorRange": "LIMITED" } ], "AudioMetadata": [ { "NumberOfChannels": 1, "SampleRate": 48000, "Codec": "aac", "DurationMillis": 15007 } ] }

Pour obtenir un exemple de code, consultez Exemple : Détection de segments dans une vidéo stockée.