Réduisez les coûts et bénéficiez de davantage de fonctionnalités avec AWS Elemental MediaConvert
MediaConvert est un nouveau service de transcodage vidéo basé sur des fichiers qui fournit une suite complète de fonctionnalités de transcodage avancées, avec des tarifs à la demande à partir de 0,0075 $/minute. En savoir plus
Vous utilisez déjà Amazon Elastic Transcoder ? La migration vers cette solution est simple MediaConvert. Pour plus d'informations, consultez cette présentation
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.
Envoi de demandes HTTP à Elastic Transcoder
Les requêtes REST d'Elastic Transcoder sont des requêtes HTTPS, telles que définies par la norme RFC 2616. (Pour plus d'informations, consultez http://www.ietf.org/rfc/rfc2616.txt
Une action REST classique consiste à envoyer une requête HTTPS à Elastic Transcoder et à attendre la réponse. A l'instar de toute requête HTTP, une requête REST adressée à Elastic Transcoder contient une méthode de requête, un URI, des en-têtes de requête et parfois une chaîne de requête ou un corps de requête. La réponse contient un code de statut HTTP, des en-têtes de réponse et parfois un corps de réponse.
Contenu de l'en-tête HTTP
Elastic Transcoder nécessite les informations suivantes dans l'en-tête d'une demande HTTP :
- Hôte (obligatoire)
-
Le point de terminaison Elastic Transcoder qui spécifie où vos ressources sont créées. La valeur doit être un point de terminaison régional nommé. Nous vous recommandons d'utiliser le même point de terminaison pour vos compartiments Amazon S3 et pour vos pipelines et tâches Elastic Transcoder. Si vous utilisez des points de terminaison différents, vous devrez payer des frais supplémentaires pour les données transférées entre la région qui contient vos compartiments Amazon S3 et la région dans laquelle Elastic Transcoder effectue le codage. De plus, le temps nécessaire au transfert de données retardera l'accès au fichier transcodé.
Pour obtenir une liste des points de terminaison pris en charge, consultez leRégions et points de terminaisondans la sectionRéférence générale Amazon Web Services.
Pour plus d'informations sur la tarification inter-régionale, consultez tarification du transfert de données dansTarification Amazon S3
. - x-amz-date ou Date (obligatoire)
-
La date utilisée pour créer la signature contenue dans l'en-tête
Authorization
. Spécifiez la date au format standard ISO 8601, avec l'heure UTC, comme dans l'exemple suivant :X-Amz-Date: 20130613T203622Z
.Vous devez inclure soit
x-amz-date
ouDate
. (Certaines bibliothèques client HTTP ne vous permettent pas de définir l'en-têteDate
). Lorsqu'un en-têtex-amz-date
est présent, le système ignore tout en-têteDate
lors de l'authentification de la demande.L'horodatage doit se trouver dans les 15 minutes de l'heure du système AWS de réception de la demande. Si ce n'est pas le cas, la requête échoue avec le code d'erreur
RequestExpired
pour empêcher quelqu'un d'autre de relire vos requêtes. - Autorisation (requise)
-
Les informations requises pour l'authentification de la demande. Pour plus d'informations sur la construction de cet en-tête, consultez Signature des requêtes.
- Content-Type (Conditional)
-
Spécifie JSON et la version, par exemple,
Content-Type: application/x-amz-json-1.0
.Condition : Requis pour les requêtes POST.
- Content-Length (Conditional)
-
Longueur du message (sans les en-têtes) selon la RFC 2616.
Condition : Requis si le corps de la demande lui-même contient des informations (la plupart des boîtes à outils ajoutent automatiquement cet en-tête).
Voici un exemple d'en-tête de demande HTTP utilisé pour créer un pipeline.
POST /2012-09-25/pipelines HTTP/1.1 host: elastictranscoder.us-east-1.amazonaws.com:443 x-amz-date: 20120116T174952Z Authorization: AWS4-HMAC-SHA256 Credential=
AccessKeyID
/20120116/us-east-1/elastictranscoder/aws4_request,SignedHeaders=host;x-amz-date;x-amz-target,Signature=145b1567ab3c50d929412f28f52c45dbf1e63ec5c66023d232a539a4afd11fd9 content-type: application/x-amz-json-1.0 content-length: 231 connection: Keep-Alive
Corps de la requête HTTP
Un grand nombre des actions de l'API Elastic Transcoder nécessitent d'inclure des données au format JSON dans le corps de la demande. Le code JSON est conforme au schéma d'Elastic Transcoder.
Note
Les valeurs JSON figurant dans le corps de la requête sont des chaînes.
Exemple Requête
L'exemple suivant de demande utilise une instruction JSON simple pour créer une tâche qui transcode un fichier nommé sample.mp4
et l'enregistre en tant que sams-birthday.mp4
.
POST /2012-09-25/jobs HTTP/1.1 Content-Type: application/json; charset=UTF-8 Accept: */* Host: elastictranscoder.us-east-1.amazonaws.com:443 Content-Length: 300 { "Input":{ "Key":"sample.mp4", "FrameRate":"auto", "Resolution":"auto", "AspectRatio":"auto", "Interlaced":"auto", "Container":"mp4" }, "OutputKeyPrefix":"family-videos/", "Outputs":[ { "Key":"sams-birthday.mp4", "ThumbnailPattern":"thumbnails/sams-birthday-{count}", "Rotate":"0", "PresetId":"1351620000000-100080" } ], "PipelineId":"1111111111111-abcde1" }
Réponses HTTP
Toutes les actions de l'API Elastic Transcoder incluent des données au format JSON dans la réponse. Le code JSON est conforme au schéma d'Elastic Transcoder.
Note
Les valeurs JSON figurant dans la réponse sont des chaînes.
Voici quelques en-têtes importants dans la réponse HTTP et la façon dont vous devez les gérer dans votre application, le cas échéant :
- HTTP/1.1
-
Cet en-tête est suivi d'un code d'état. Le code du statut
200
indique une opération réussie. Pour obtenir des informations sur les codes d'erreur, consultez Codes d'erreur d'API (erreurs de client et de serveur).Type : Chaîne
- x-amzn-RequestId
-
Valeur créée par Elastic Transcoder qui identifie votre requête de manière unique, par exemple K2QH8DNOU907N97FNA2GDLL8OBVV4KQNSO5AEMVJF66Q9ASUAAJG. Si vous avez un problème avec Elastic Transcoder, AWS peut utiliser cette valeur pour résoudre le problème. Nous vous recommandons de consigner ces valeurs.
Type : Chaîne
- Content-Length
-
Longueur du corps de la réponse en octets.
Type : Chaîne
- Date
-
Date et heure où Elastic Transcoder a envoyé sa réponse, par exemple,
Sun, 25 Mar 2012 12:00:00 GMT
. Le format de la date doit être l'un des formats de date complète spécifiés par RFC 2616, section 3.3.Type : Chaîne