

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
<a name="API_dataplane_GetMedia"></a>

 Utilisez cette 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 Amazon Resource Name (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 l'`GetDataEndpoint`API pour obtenir un point de terminaison. Envoyez ensuite les `GetMedia` demandes à ce point de terminaison à l'aide du paramètre [--endpoint-url](https://docs.aws.amazon.com/cli/latest/reference/). 

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](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_PutMedia.html). L'`GetMedia`API renvoie un flux de ces fragments à partir du segment que vous spécifiez dans la demande. 

L'`GetMedia`API est conçue pour fonctionner comme une API de streaming sur une connexion de longue durée. Il n'est pas destiné à être utilisé de RESTful manière traditionnelle, où une nouvelle connexion HTTP est établie et fermée pour chaque fragment. Lorsque vous appelez l'`GetMedia`API, Kinesis Video Streams diffuse des fragments en continu via une connexion persistante de longue durée à l'aide du codage de transfert par segments HTTP.

Les limites suivantes s'appliquent lors de l'utilisation de l'`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**  
`GetMedia`Utilisez-le comme connexion de streaming de longue durée pour récupérer plusieurs fragments dans une seule connexion persistante. N'utilisez pas l'`GetMedia`API de RESTful manière traditionnelle lorsque vous établissez et fermez une nouvelle connexion HTTP pour chaque fragment. Si vous tentez plus de trois `GetMedia` connexions simultanées, Kinesis Video Streams limite les dernières connexions avec une erreur. `ConnectionLimitExceededException`

**Note**  
Le code d'état de la réponse `GetMedia` HTTP sera renvoyé immédiatement, mais la lecture de la charge utile de la réponse HTTP 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 appelé une API multimédia Kinesis Video Streams, outre le code d'état HTTP et le corps de la réponse, elle inclut les informations suivantes :   
 `x-amz-ErrorType`En-tête HTTP : contient un type d'erreur plus spécifique en plus de ce que fournit le code d'état HTTP. 
 `x-amz-RequestId`En-tête HTTP : si vous souhaitez signaler un problème à AWS, l'équipe d'assistance pourra mieux diagnostiquer le problème si vous lui donnez l'ID de demande.
Le code d'état HTTP 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](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/CommonErrors.html). 

## Syntaxe de la demande
<a name="API_dataplane_GetMedia_RequestSyntax"></a>

```
POST /getMedia HTTP/1.1
Content-type: application/json

{
   "StartSelector": { 
      "AfterFragmentNumber": "{{string}}",
      "ContinuationToken": "{{string}}",
      "StartSelectorType": "{{string}}",
      "StartTimestamp": {{number}}
   },
   "StreamARN": "{{string}}",
   "StreamName": "{{string}}"
}
```

## Paramètres de demande URI
<a name="API_dataplane_GetMedia_RequestParameters"></a>

La demande n’utilise pas de paramètres URI.

## Corps de la demande
<a name="API_dataplane_GetMedia_RequestBody"></a>

Cette demande accepte les données suivantes au format JSON.

 ** [StartSelector](#API_dataplane_GetMedia_RequestSyntax) **   <a name="KinesisVideo-dataplane_GetMedia-request-StartSelector"></a>
Identifie le segment de départ à obtenir à partir du flux spécifié.   
Type : objet [StartSelector](API_dataplane_StartSelector.md)  
Obligatoire : oui

 ** [StreamARN](#API_dataplane_GetMedia_RequestSyntax) **   <a name="KinesisVideo-dataplane_GetMedia-request-StreamARN"></a>
L'ARN du flux à partir duquel vous souhaitez obtenir le contenu multimédia. Si vous ne spécifiez pas le`streamARN`, vous devez spécifier le`streamName`.  
Type : Chaîne  
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](#API_dataplane_GetMedia_RequestSyntax) **   <a name="KinesisVideo-dataplane_GetMedia-request-StreamName"></a>
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 le`streamARN`.  
Type : Chaîne  
Contraintes de longueur : longueur minimum de 1. Longueur maximum de 256.  
Modèle : `[a-zA-Z0-9_.-]+`   
Obligatoire : non

## Syntaxe de la réponse
<a name="API_dataplane_GetMedia_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-Type: {{ContentType}}

{{Payload}}
```

## Eléments de réponse
<a name="API_dataplane_GetMedia_ResponseElements"></a>

Si l’action aboutit, le service renvoie une réponse HTTP 200.

La réponse renvoie les en-têtes HTTP suivants.

 ** [ContentType](#API_dataplane_GetMedia_ResponseSyntax) **   <a name="KinesisVideo-dataplane_GetMedia-response-ContentType"></a>
Type de contenu du média demandé.  
Contraintes de longueur : longueur minimale de 1 caractère. Longueur maximale de 128.  
Modèle : `^[a-zA-Z0-9_\.\-]+$` 

La réponse renvoie ce qui suit en tant que corps HTTP.

 ** [Payload](#API_dataplane_GetMedia_ResponseSyntax) **   <a name="KinesisVideo-dataplane_GetMedia-response-Payload"></a>
 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](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_PutMedia.html). Les segments renvoyés par Kinesis Video Streams lors de `GetMedia` l'appel incluent également les balises Matroska (MKV) 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 clé KMS du flux
+ 4501 - La clé KMS de Stream est désactivée
+ 4502 - Erreur de validation sur la clé KMS du flux
+ 4503 - La clé KMS spécifiée dans le flux n'est pas disponible
+ 4504 - Utilisation non valide de la clé KMS spécifiée dans le flux
+ 4505 - État non valide de la clé KMS spécifiée dans le flux
+ 4506 - Impossible de trouver la clé KMS spécifiée dans le flux
+ 5000 - Erreur interne

## Erreurs
<a name="API_dataplane_GetMedia_Errors"></a>

Pour plus d'informations sur les erreurs courantes pour toutes les actions, consultez [Types d'erreurs courants](CommonErrors.md).

 ** ClientLimitExceededException **   
Kinesis Video Streams a limité le nombre de demandes car vous avez dépassé le nombre maximal d'appels clients autorisés. Essayez de passer l'appel plus tard.  
Code d’état HTTP : 400

 ** ConnectionLimitExceededException **   
Kinesis Video Streams a limité la demande car vous avez dépassé le nombre limite de connexions client autorisées.  
Code d’état HTTP : 400

 ** InvalidArgumentException **   
La valeur de ce paramètre d'entrée n'est pas valide.  
Code d’état HTTP : 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` avec `APIName` set to `PUT_MEDIA` et utiliser le point de terminaison de la réponse pour appeler le prochain `PutMedia` appel.   
Code d’état HTTP : 400

 ** NotAuthorizedException **   
L'appelant n'est pas autorisé à effectuer une opération sur le flux donné, ou le jeton a expiré.  
Code d'état HTTP : 401

 ** ResourceNotFoundException **   
Code d'état : 404, le flux portant le nom donné n'existe pas.  
Code d’état HTTP :404

## Voir aussi
<a name="API_dataplane_GetMedia_SeeAlso"></a>

Pour plus d'informations sur l'utilisation de cette API dans l'un des langages spécifiques AWS SDKs, consultez ce qui suit :
+  [AWS Interface de ligne de commande V2](https://docs.aws.amazon.com/goto/cli2/kinesis-video-data-2017-09-30/GetMedia) 
+  [AWS SDK pour .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/kinesis-video-data-2017-09-30/GetMedia) 
+  [AWS SDK pour C\+\+](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-video-data-2017-09-30/GetMedia) 
+  [AWS SDK pour Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/kinesis-video-data-2017-09-30/GetMedia) 
+  [AWS SDK pour Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-video-data-2017-09-30/GetMedia) 
+  [AWS SDK pour V3 JavaScript ](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/kinesis-video-data-2017-09-30/GetMedia) 
+  [AWS SDK pour Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/kinesis-video-data-2017-09-30/GetMedia) 
+  [AWS SDK pour PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/kinesis-video-data-2017-09-30/GetMedia) 
+  [AWS SDK pour Python](https://docs.aws.amazon.com/goto/boto3/kinesis-video-data-2017-09-30/GetMedia) 
+  [AWS SDK pour Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-video-data-2017-09-30/GetMedia) 