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.
Configuration de vos ressources Vidéo Amazon Rekognition et Amazon Kinesis
Les procédures suivantes décrivent les étapes à suivre pour approvisionner le flux vidéo Kinesis et les autres ressources utilisées pour détecter les étiquettes dans une vidéo en streaming.
Prérequis
Pour exécuter cette procédure, vous AWS SDK pour Java devez être installé. Pour de plus amples informations, veuillez consulter Premiers pas avec Amazon Rekognition. Le compte AWS que vous utilisez nécessite des autorisations d’accès à l’API Amazon Rekognition. Pour de plus amples informations, veuillez consulter Actions définies par Amazon Rekognition dans le Guide de l’utilisateur IAM.
Pour détecter les étiquettes dans un flux vidéo (AWS SDK)
Créez un compartiment Amazon S3. Notez le nom du compartiment et les préfixes de la clé que vous souhaitez utiliser. Vous aurez besoin de ces informations ultérieurement.
-
Créer une rubrique Amazon SNS. Vous pouvez l’utiliser pour recevoir des notifications lorsqu’un objet d’intérêt est détecté pour la première fois dans le flux vidéo. Notez l’Amazon Resource Name ARN) de la rubrique. Pour plus d’informations, consultez Création d’une règle Amazon SNS dans le Guide du développeur Amazon SNS.
Abonner un point de terminaison à une rubrique Amazon SNS. Pour plus d’informations, consultez Abonnement à une rubrique Amazon SNS dans le Guide du développeur Amazon SNS.
Créez un flux vidéo Kinesis et notez l’Amazon Resource Name (ARN) du flux.
Si ce n’est pas déjà fait, créez une fonction de service IAM pour permettre à Vidéo Amazon Rekognition d’accéder à vos flux vidéo Kinesis, à votre compartiment S3 et à votre rubrique Amazon SNS. Pour de plus amples informations, veuillez consulter Donner accès aux processeurs de flux de détection d’étiquettes.
Vous pouvez ensuite créer le processeur de flux de détection d’étiquettes et démarrer le processeur de flux en utilisant le nom de processeur de flux que vous avez choisi.
Note
Démarrez le processeur de flux uniquement après avoir vérifié que vous pouvez intégrer du contenu multimédia dans le flux vidéo Kinesis.
Orientation et configuration de la caméra
Vidéo Amazon Rekognition Streaming Video Events est compatible avec toutes les caméras compatibles avec Kinesis Video Streams. Pour de meilleurs résultats, nous recommandons de placer la caméra entre 0 et 45 degrés par rapport au sol. La caméra doit être dans sa position verticale canonique. Par exemple, s’il y a une personne dans le cadre, celle-ci doit être orientée verticalement et la tête de la personne doit être plus haute dans le cadre que les pieds.
Donner accès aux processeurs de flux de détection d’étiquettes
Vous utilisez un rôle de service AWS Identity and Access Management (IAM) pour donner à Amazon Rekognition Video un accès en lecture aux flux vidéo Kinesis. Pour ce faire, utilisez les rôles IAM pour permettre à Vidéo Amazon Rekognition d’accéder à votre compartiment Amazon S3 et à une rubrique Amazon SNS.
Vous pouvez créer une politique d’autorisation qui autorise Vidéo Amazon Rekognition à accéder à une rubrique Amazon SNS, à un compartiment Amazon S3 et à un flux vidéo Kinesis existants. Pour une step-by-step procédure utilisant le AWS CLI, voirAWS CLI commandes pour configurer un rôle IAM de détection d'étiquettes.
Pour permettre à Vidéo Amazon Rekognition d’accéder aux ressources de détection des étiquettes
-
Créez une nouvelle stratégie d’autorisations avec l’éditeur de stratégie JSON IAM;, et utilisez la stratégie suivante. Remplacez
kvs-stream-name
par le nom du flux vidéo Kinesis, remplaceztopicarn
par l’Amazon Ressource Name (ARN) de la rubrique Amazon SNS que vous souhaitez utiliser, et remplacezbucket-name
par le nom du compartiment Amazon S3.{ "Version": "2012-10-17", "Statement": [ { "Sid": "KinesisVideoPermissions", "Effect": "Allow", "Action": [ "kinesisvideo:GetDataEndpoint", "kinesisvideo:GetMedia" ], "Resource": [ "arn:aws:kinesisvideo:::stream/
kvs-stream-name
/*" ] }, { "Sid": "SNSPermissions", "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": [ "arn:aws:sns:::sns-topic-name
" ] }, { "Sid": "S3Permissions", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucket-name
/*" ] } ] } -
Créez une fonction du service IAM;, ou mettez à jour une fonction du service IAM existant. Utilisez les informations suivantes pour créer la fonction du service IAM :
-
Choisissez Rekognition pour le nom du service.
-
Choisissez Rekognition pour le cas d’utilisation de la fonction de service.
-
Attachez la stratégie d’autorisations que vous avez créée à l’étape 1.
-
-
Notez l’ARN de la fonction de service. Vous en avez besoin pour créer le processeur de flux avant d’effectuer des opérations d’analyse vidéo.
-
(Facultatif) Si vous utilisez votre propre AWS KMS clé pour chiffrer les données envoyées à votre compartiment S3, vous devez ajouter l'instruction suivante avec le rôle IAM. (Il s’agit du rôle IAM que vous avez créé pour la stratégie de clé, qui correspond à la clé gérée par le client que vous souhaitez utiliser.)
{ "Sid": "Allow use of the key by label detection Role", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam:::role/
REPLACE_WITH_LABEL_DETECTION_ROLE_CREATED
" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*" }
AWS CLI commandes pour configurer un rôle IAM de détection d'étiquettes
Si ce n'est pas déjà fait, configurez et configurez le AWS CLI avec vos informations d'identification.
Entrez les commandes suivantes dans le AWS CLI pour configurer un rôle IAM doté des autorisations nécessaires à la détection des étiquettes.
-
export IAM_ROLE_NAME=labels-test-role
-
export AWS_REGION=us-east-1
-
Créez un fichier de politique de relation de confiance (par exemple, assume-role-rekognition .json) avec le contenu suivant.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "rekognition.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
aws iam create-role --role-name $IAM_ROLE_NAME --assume-role-policy-document file://path-to-assume-role-rekognition.json --region $AWS_REGION
-
aws iam attach-role-policy --role-name $IAM_ROLE_NAME --policy-arn "arn:aws:iam::aws:policy/service-role/AmazonRekognitionServiceRole" --region $AWS_REGION
-
Si le nom de la rubrique SNS pour laquelle vous souhaitez recevoir des notifications ne commence pas par le préfixe « AmazonRekognition », ajoutez la politique suivante :
aws iam attach-role-policy --role-name $IAM_ROLE_NAME --policy-arn "arn:aws:iam::aws:policy/AmazonSNSFullAccess" --region $AWS_REGION
-
Si vous utilisez votre propre clé AWS KMS pour chiffrer les données envoyées à votre compartiment Amazon S3, mettez à jour la stratégie de clé gérée par le client que vous souhaitez utiliser.
Créez un fichier kms_key_policy.json contenant le contenu suivant :
{ "Sid": "Allow use of the key by label detection Role", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam:::role/REPLACE_WITH_IAM_ROLE_NAME_CREATED" }, "Action": [ "kms:Encrypt", "kms:GenerateDataKey*" ], "Resource": "*" }
export KMS_KEY_ID=labels-kms-key-id
. Remplacez KMS_KEY_ID par l’ID de clé KMS que vous avez créé.aws kms put-key-policy --policy-name default --key-id $KMS_KEY_ID --policy file://path-to-kms-key-policy.json