Ajout de sous-titres WebVTT (pistes de texte)

Dans cette rubrique, vous allez apprendre à utiliser le pour CMS API ajouter des pistes de texte WebVTT pour des légendes ou des chapitres à vos vidéos.

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 :

  1. 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": []
          }
  2. 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"
                }
            ]
        }
  3. 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'ingestion

    Corps 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
                }
            ]
        }
  4. 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