Adición de subtítulos WebVTT (pistas de texto)

En este tema, aprenderá a utilizar el CMS API para agregar pistas de texto WebVTT para subtítulos o capítulos a sus videos.

Introducción

Los subtítulos de WebVTT (pistas de texto) no se pueden agregar cuando crea inicialmente el video mediante una solicitud POST:

  • Para que las pistas de texto se ingieran en Video Cloud, las pistas se pueden incluir en la solicitud de Ingesta dinámica para ingerir el video; consulte Ingesta de archivos WebVTT para detalles.
  • Si las pistas de texto se van a alojar en alguna ubicación remota, se pueden agregar al video usando un PATCH solicitud para actualizar los metadatos del video. Ver el Ejemplo de API de CMS: Actualizar videos para ver un ejemplo de una solicitud de actualización.

Ya sea que las pistas de texto sean ingeridas o remotas, puede usar un PATCH solicitud para actualizar los metadatos asociados con las pistas de texto (como el scrlang o label , o si las pistas de texto son las default para el vídeo).

Ver también Administrar pistas de texto con la API de CMS para obtener más información sobre las diferencias en la forma en que se manejan los metadatos de las pistas de texto en función de si las pistas de texto son remotas, se ingieren con un perfil de ingesta estático o se ingieren con un perfil de ingesta dinámico.

Notas

  • Cuando actualiza las pistas de texto en un video de Dynamic Delivery, el proceso es asincrónico, por lo que el código de estado de respuesta será 202 ACCEPTED y la actualización no se realizará de inmediato.
  • Hay un límite de 1000 pistas de texto por video.
  • El texto de los subtítulos debe estar codificado en UTF-8 para que se muestre correctamente en idiomas de doble byte como japonés y coreano.

Remoto o ingerido

Autorización

Solicitudes al CMS API requieren un encabezado de autorización que contenga sus tokens de acceso. Para obtener detalles sobre cómo obtener credenciales de cliente y usarlas para recuperar tokens de acceso, consulte la Descripción general de Brightcove OAuth.

Las operaciones que necesitará para actualizar los metadatos de video son video-cloud/video/update o video-cloud/video/all.

Sintaxis

Solicitud

              https://cms.api.brightcove.com/v1/accounts/{account_id}/videos/{video_ID}

Cuerpo de la solicitud:

El cuerpo de la solicitud será un objeto JSON que contiene una matriz de pistas de texto:

    {"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
    }
    ]}

Reemplazo de pistas de texto

Reemplazar las pistas de texto existentes (ya sea cargadas o remotas) es un proceso de dos pasos:

  1. Elimine las pistas de texto existentes mediante un CMS API actualizar (PARCHE):

    Solicitud de API (PATCH)

        https://cms.api.brightcove.com/v1/accounts/account_id/videos/video_id

    Cuerpo de la solicitud

        {
              "text_tracks": []
          }
  2. Si está agregando pistas de texto remotas, agréguelas a través de otra CMS API actualizar (PATCH) (opcional - si está cargando pistas de texto, salte al siguiente paso):

    Solicitud de API (PATCH)

        https://cms.api.brightcove.com/v1/accounts/account_id/videos/video_id

    Cuerpo de la solicitud

        {
            "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, en cambio, está cargando nuevas pistas de texto, agréguelas a través de una solicitud POST a la API de ingesta dinámica:

    Solicitud de API (POST)

        https://ingest.api.brightcove.com/v1/accounts/account_id/videos/video_id/ solicitudes-de-ingesta

    Cuerpo de la solicitud

        {
            "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. Realice una solicitud GET al CMS API para verificar que sus nuevas pistas de texto estén asociadas con el video:
                  https://cms.api.brightcove.com/v1/accounts/account_id/videos/video_id