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.
GetMedia
Utilisez-le API pour récupérer du contenu multimédia à partir d'un flux vidéo Kinesis. Dans la demande, vous identifiez le nom du flux ou le nom de ressource Amazon (ARN) du flux, ainsi que le segment de départ. Kinesis Video Streams renvoie ensuite un flux de segments classés par numéro de fragment.
Note
Vous devez d'abord appeler le GetDataEndpoint
API pour obtenir un point de terminaison. Envoyez ensuite les GetMedia
demandes à ce point de terminaison à l'aide du paramètre --endpoint-url.
Lorsque vous insérez des données multimédia (fragments) dans un flux, Kinesis Video Streams stocke chaque fragment entrant et les métadonnées associées dans ce que l'on appelle un « fragment ». Pour de plus amples informations, veuillez consulter PutMedia. Le GetMedia
API renvoie un flux de ces fragments à partir du morceau que vous spécifiez dans la demande.
GetMedia
APIIl est conçu pour fonctionner comme un streaming API sur une connexion de longue durée. Il n'est pas destiné à être utilisé de RESTful manière traditionnelle, lorsqu'une nouvelle HTTP connexion est établie et fermée pour chaque fragment. Lorsque vous utilisez le GetMedia
API, utilisez le codage de transfert HTTP fragmenté pour envoyer des fragments en continu via une connexion persistante.
Les limites suivantes s'appliquent lors de l'utilisation du GetMedia
API :
-
Un client peut appeler
GetMedia
jusqu'à cinq fois par seconde et par flux. -
Kinesis Video Streams envoie des données multimédia à un débit pouvant atteindre 25 mégaoctets par seconde (ou 200 mégabits par seconde) au cours d'une session.
GetMedia
Note
Le code d'état de la GetMedia
HTTP réponse sera renvoyé immédiatement, mais la lecture de la charge utile de HTTP réponse expirera au bout de 3 secondes si aucun fragment ingéré n'est disponible pour la lecture.
Note
Si une erreur est générée après avoir invoqué un API média Kinesis Video Streams, outre le code d'état et HTTP le corps de la réponse, elle inclut les informations suivantes :
-
x-amz-ErrorType
HTTPen-tête : contient un type d'erreur plus spécifique en plus de ce que fournit le code d'HTTPétat. -
x-amz-RequestId
HTTPen-tête : si vous souhaitez signaler un problème à AWS, l'équipe d'assistance peut mieux diagnostiquer le problème si elle reçoit l'identifiant de demande.
Le code d'HTTPétat et l' ErrorType en-tête peuvent être utilisés pour prendre des décisions programmatiques quant à savoir si les erreurs peuvent être réessayées et dans quelles conditions, ainsi que pour fournir des informations sur les actions que le programmeur client devra peut-être entreprendre pour réessayer avec succès.
Pour plus d'informations, consultez la section Erreurs au bas de cette rubrique, ainsi que les erreurs courantes.
Syntaxe de la requête
POST /getMedia HTTP/1.1
Content-type: application/json
{
"StartSelector": {
"AfterFragmentNumber": "string
",
"ContinuationToken": "string
",
"StartSelectorType": "string
",
"StartTimestamp": number
},
"StreamARN": "string
",
"StreamName": "string
"
}
URIParamètres de demande
La demande n'utilise aucun URI paramètre.
Corps de la requête
La demande accepte les données suivantes au JSON format suivant.
- StartSelector
-
Identifie le segment de départ à obtenir à partir du flux spécifié.
Type : objet StartSelector
Obligatoire : oui
- StreamARN
-
Le ARN flux à partir duquel vous souhaitez obtenir le contenu multimédia. Si vous ne spécifiez pas le
streamARN
, vous devez spécifier lestreamName
.Type : String
Contraintes de longueur : Longueur minimum de 1. Longueur maximum de 1024.
Modèle :
arn:[a-z\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+
Obligatoire : non
- StreamName
-
Le nom du flux vidéo Kinesis d'où vous souhaitez obtenir le contenu multimédia. Si vous ne spécifiez pas le
streamName
, vous devez spécifier lestreamARN
.Type : String
Contraintes de longueur : longueur minimum de 1. Longueur maximum de 256.
Modèle :
[a-zA-Z0-9_.-]+
Obligatoire : non
Syntaxe de la réponse
HTTP/1.1 200
Content-Type: ContentType
Payload
Eléments de réponse
Si l'action aboutit, le service renvoie une réponse HTTP 200.
La réponse renvoie les HTTP en-têtes suivants.
- ContentType
-
Type de contenu du média demandé.
Contraintes de longueur : longueur minimum de 1. Longueur maximale de 128.
Modèle :
^[a-zA-Z0-9_\.\-]+$
La réponse renvoie le HTTP corps suivant.
- Payload
-
La charge utile renvoyée par Kinesis Video Streams est une séquence de segments provenant du flux spécifié. Pour plus d'informations sur les segments, consultez PutMedia. Les segments renvoyés par Kinesis Video Streams lors de
GetMedia
l'appel incluent également les balises MKV Matroska () supplémentaires suivantes :-
AWS_KINESISVIDEO_CONTINUATION_TOKEN (chaîne UTF -8) - Si votre
GetMedia
appel prend fin, vous pouvez utiliser ce jeton de continuation dans votre prochaine demande pour obtenir le segment suivant où la dernière demande s'est terminée. -
AWS_KINESISVIDEO_MILLIS_BEHIND_NOW (chaîne UTF -8) - Les applications clientes peuvent utiliser cette valeur de balise pour déterminer la distance entre le segment renvoyé dans la réponse et le dernier segment du flux.
-
AWS_KINESISVIDEO_FRAGMENT_NUMBER - Numéro du fragment renvoyé dans le bloc.
-
AWS_KINESISVIDEO_SERVER_TIMESTAMP - Horodatage du fragment par le serveur.
-
AWS_KINESISVIDEO_PRODUCER_TIMESTAMP - Horodatage du producteur du fragment.
Les balises suivantes seront présentes en cas d'erreur :
-
AWS_KINESISVIDEO_ERROR_CODE - Description sous forme de chaîne d'une erreur à l'origine GetMedia de l'arrêt.
-
AWS_KINESISVIDEO_ ERROR _ID : code entier de l'erreur.
Les codes d'erreur sont les suivants :
-
3002 - Erreur lors de l'écriture dans le flux
-
4000 - Le fragment demandé est introuvable
-
4500 - Accès refusé pour la KMS clé du stream
-
4501 - La KMS clé du stream est désactivée
-
4502 - Erreur de validation sur la clé du KMS flux
-
4503 - la KMS clé spécifiée dans le flux n'est pas disponible
-
4504 - Utilisation non valide de la KMS clé spécifiée dans le flux
-
4505 - État non valide de la KMS clé spécifiée dans le flux
-
4506 - Impossible de trouver la KMS clé spécifiée dans le flux
-
5000 - Erreur interne
-
Erreurs
Pour plus d'informations sur les erreurs courantes pour toutes les actions, consultez Erreurs courantes.
- ClientLimitExceededException
-
Kinesis Video Streams a limité la demande car vous avez dépassé le nombre maximal d'appels clients autorisés. Essayez de passer l'appel plus tard.
HTTPCode de statut : 400
- ConnectionLimitExceededException
-
Kinesis Video Streams a limité la demande car vous avez dépassé le nombre limite de connexions client autorisées.
HTTPCode de statut : 400
- InvalidArgumentException
-
La valeur de ce paramètre d'entrée n'est pas valide.
HTTPCode de statut : 400
- InvalidEndpointException
-
L'appelant a utilisé le mauvais point de terminaison pour écrire des données dans un flux. À la réception d'une telle exception, l'utilisateur doit appeler
GetDataEndpoint
avecAPIName
set toPUT_MEDIA
et utiliser le point de terminaison de la réponse pour appeler le prochainPutMedia
appel.HTTPCode de statut : 400
- NotAuthorizedException
-
L'appelant n'est pas autorisé à effectuer une opération sur le flux donné, ou le jeton a expiré.
HTTPCode de statut : 401
- ResourceNotFoundException
-
Code d'état : 404, le flux portant le nom donné n'existe pas.
HTTPCode de statut : 404
consultez aussi
Pour plus d'informations sur son utilisation API dans l'une des langues spécifiques AWS SDKs, consultez ce qui suit :