Introduction
Les sous-titres WebVTT (pistes de texte) ne peuvent pas être ajoutés lorsque vous créez initialement la vidéo à l'aide d'une requête POST :
- Pour les pistes de texte à ingérer dans Video Cloud, les pistes peuvent être incluses dans la requête Dynamic Ingest pour ingérer la vidéo - voir Ingérer des fichiers WebVTT pour les détails.
- Si les pistes de texte doivent être hébergées dans un emplacement distant, elles peuvent être ajoutées à la vidéo à l'aide d'un
PATCH
demande de mise à jour des métadonnées de la vidéo. Voir le Exemple d'API CMS : Mettre à jour les vidéos pour un exemple de demande de mise à jour.
Que les pistes de texte soient ingérées ou distantes, vous pouvez utiliser un PATCH
demande de mise à jour des métadonnées associées aux pistes de texte (telles que la scrlang
ou label
, ou si les pistes de texte sont les default
pour la vidéo).
Regarde aussi Gestion des pistes de texte à l'aide de l'API CMS pour plus d'informations sur les différences de traitement des métadonnées des pistes de texte selon que les pistes de texte sont distantes, ingérées avec un profil d'acquisition statique ou ingérées avec un profil d'acquisition dynamique.
Remarques
- Lorsque vous mettez à jour des pistes de texte sur une vidéo Dynamic Delivery, le processus est asynchrone, donc le code d'état de la réponse sera
202 ACCEPTED
, et la mise à jour n'aura pas lieu immédiatement. - Il y a une limite de 1000 pistes de texte par vidéo.
- Le texte des sous-titres doit être codé en UTF-8 pour s'afficher correctement dans les langues à double octet telles que le japonais et le coréen.
À distance ou ingéré
Autorisation
Les demandes à l' CMS API exigent un en-tête d'autorisation qui contient vos jetons d'accès. Pour plus de détails sur la façon d'obtenir les informations d'identification client et de les utiliser pour récupérer des jetons d'accès, consultez le Présentation de Brightcove OAuth.
Les opérations dont vous aurez besoin pour mettre à jour les métadonnées de la vidéo sont video-cloud/video/update
ou video-cloud/video/all
.
Syntaxe
Requête
https://cms.api.brightcove.com/v1/accounts/{account_id}/videos/{video_ID}
Corps de la demande :
Le corps de la requête sera un objet JSON contenant un tableau de pistes de texte :
{"text_tracks" : [ {
"src" : "https://some.site.com/captions/bc_smart_ja.vtt",
"srclang" : "ja",
"label" : "日本人",
"kind" : "captions",
"mime_type" : null,
"default" : false
}, {
"src" : "https://some.site.com/captions/bc_smart_es.vtt",
"srclang" : "es",
"label" : "español",
"kind" : "captions",
"mime_type" : null,
"default" : false
}, {
"src" : "https://some.site.com/captions/bc_smart_de.vtt",
"srclang" : "de",
"label" : "Deutsch",
"kind" : "captions",
"mime_type" : null,
"default" : false
}, {
"src" : "https://some.site.com/captions/bc_smart_fr.vtt",
"srclang" : "fr",
"label" : "français",
"kind" : "captions",
"mime_type" : null,
"default" : false
}, {
"src" : "https://some.site.com/captions/bc_smart.vtt",
"srclang" : "en",
"label" : "English",
"kind" : "captions",
"mime_type" : null,
"default" : true
}
]}
Remplacement des pistes de texte
Le remplacement des pistes de texte existantes (téléchargées ou distantes) est un processus en deux étapes :
- Supprimer les pistes de texte existantes via une CMS API mise à jour (PATCH) :
Requête API (PATCH)
https://cms.api.brightcove.com/v1/accounts/account_id/videos/video_id
Corps de la demande
{ "text_tracks": [] }
- Si vous ajoutez des pistes de texte distantes, ajoutez-les via une autre CMS API mise à jour (PATCH) (facultatif - si vous téléchargez des pistes de texte, passez à l'étape suivante) :
Requête API (PATCH)
https://cms.api.brightcove.com/v1/accounts/account_id/videos/video_id
Corps de la demande
{ "text_tracks": [ { "src": "https://some.site.com/vtt/sample.vtt", "srclang": "en", "label": "EN", "kind": "captions", "mime_type": "text/webvtt" }, { "src": "https://some.site.com/vtt/sample-es.vtt", "srclang": "es", "label": "ES", "kind": "captions", "mime_type": "text/webvtt" } ] }
- Si vous importez plutôt de nouvelles pistes de texte, ajoutez-les via une requête POST à l'API Dynamic Ingest :
Requête API (POST)
https://ingest.api.brightcove.com/v1/accounts/account_id/videos/video_id
/requêtes-d'ingestionCorps de la demande
{ "text_tracks": [ { "url": "https://solutions.brightcove.com/bcls/assets/vtt/sample.vtt", "srclang": "en", "kind": "captions", "label": "EN", "default": true }, { "url": "https://solutions.brightcove.com/bcls/assets/vtt/sample-ar.vtt", "srclang": "ar", "kind": "captions", "label": "AR", "default": false } ] }
- Faites une requête GET à l' CMS API pour vérifier que vos nouvelles pistes de texte sont associées à la vidéo :
https://cms.api.brightcove.com/v1/accounts/account_id/videos/video_id