soporte Contactar con asistencia técnica | estado del sistema Estado del Sistema

Características: Playback API

La Playback API se utiliza para recuperar datos de video y listas de reproducción de Video Cloud. Normalmente se usa para llevar datos de video a un player en una página web o en una aplicación móvil.

Introducción

La Playback API es una API de baja latencia para uso del lado del cliente en la búsqueda de datos de listas de reproducción o video desde páginas web o aplicaciones móviles. Es no una API de gestión de medios general para utilizar en la integración Video Cloud con su CMS u otros sistemas: para eso, debe utilizar el CMS API.

La Playback API los resultados se filtran para devolver solo videos reproducibles (estado = ACTIVO, indicador de ingestión completa = verdadero y en datos / hora correctos si está programado). Esto significa que el player podrá reproducir el video tan pronto como exista una reproducción, incluso si otras aún se están procesando. Si necesita buscar videos que no se pueden reproducir actualmente, debe usar nuevamente CMS API en lugar.

Tenga en cuenta también que para maximizar el rendimiento, los datos de video a los que accede la Playback API se almacena en caché por un período corto La duración del almacenamiento en caché de un ID de conjunto de datos en particular varía, pero puede ser de hasta 20 minutos.

Ver también el Referencia de la API.

Los casos de uso

La Brightcove Player y la Brightcove SDK players incluir métodos de catálogo idénticos a los métodos de la Playback APIy, en su mayor parte, puedes usarlos simplemente si estás recuperando videos o listas de reproducción en tiempo de ejecución para reproducir.

Sin embargo, es posible que desee proporcionar una vista de video o listas de reproducción en una pantalla de aplicación móvil donde no player está presente.

Además, puede haber ocasiones en las que desee recuperar videos o listas de reproducción para mostrar información sobre ellos, sin tener un player en la pantalla, como la página de inicio de un portal de video, por ejemplo.

La Playback API Es útil en estos casos.

Información General

URL base

La URL base para el Playback API es:

        https://edge.api.brightcove.com/playback/v1

Ruta de cuenta

En todos los casos, las solicitudes se realizarán para un Video Cloud Cuenta. Entonces, siempre agregarás el término accounts seguido de su identificación de cuenta a la URL base:

        https://edge.api.brightcove.com/playback/v1/accounts/{account_id}

Autenticación

Las solicitudes se autentican mediante una clave de política, que se puede aprobar de una de estas tres maneras:

  1. En una discusión a un Accept encabezamiento:
            Accept: application/json;pk={policy_key}

    Este es el método recomendado para un cliente basado en navegador, ya que permite que la solicitud continúe sin una solicitud adicional primero como parte de la verificación "previa al vuelo" de CORS del navegador. Esto ahorra latencia la primera vez que se realiza una solicitud del navegador.

  2. en una Authorization encabezado usando la palabra clave realm BCOV-Policy:
            Authorization: BCOV-Policy {policy_key}
  3. En un BCOV-Policy encabezamiento:
            BCOV-Policy: {policy_key}

Obteniendo una clave de política

Hay tres formas en que puede obtener una clave de política:

  1. Cada Brightcove player se le asigna automáticamente uno. Puede encontrar instrucciones para obtener un playerclave de política en este documento. Dado que las claves de política son buenas para toda la cuenta, puede usarla independientemente de si eso player está incrustado en la página.
  2. Puede generar una clave de política básica usando el Inicio rápido de las claves de política
  3. Puede hacer una solicitud al Policy API

Autenticación de tokens

Se admite la autenticación de tokens para contenido HLS y DASH. Si necesita autenticación de token, póngase en contacto con su administrador de cuenta para que se habilite para su cuenta.

Evite las URL codificadas

Las URL de miniaturas, carteles, archivos de video y otros medios nunca deben estar codificadas en sus páginas o aplicaciones. los Playback API devolverá la última versión almacenada en caché de las URL para los archivos multimedia, pero las propias URL están sujetas a cambios. Deberías usar el CMS API (o Playback API ) solicita recuperar estas URL cada vez que se carga la página, o las almacena en caché durante no más de seis horas.

Almacenamiento en caché de URL de video y de imagen

Puede almacenar URL de videos e imágenes para mejorar el rendimiento de la página, pero la memoria caché debe actualizarse periódicamente. Si almacena en caché las URL que recupera para mejorar el rendimiento de sus páginas, asegúrese de actualizar la memoria caché repitiendo las llamadas a la API al menos una vez cada seis horas.

Métodos

La API solo admite las siguientes solicitudes GET, de los siguientes tipos:

Solicitudes de video

Se puede recuperar un solo objeto de video usando la identificación del video o la identificación de referencia.

Obtener video por id

Punto final

        https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/{video_id}

Ejemplo

        https://edge.api.brightcove.com/playback/v1/accounts/57838016001/videos/38467382999

Muestra de respuesta

        {
          "account_id": "107767373999",
          "ad_keys": null,
          "created_at": "2010-07-12T22:37:34.760Z",
          "description": "Avatar_MakingAScene_Featurette",
          "duration": 595560,
          "id": "38467382999",
          "long_description": null,
          "name": "Avatar_MakingAScene_Featurette",
          "published_at": "2010-07-12T22:37:34.760Z",
          "reference_id": "AvatarMakingShort",
          "text_tracks": [],
          "updated_at": "2010-07-12T22:54:29.666Z",
          "cue_points": [
            {
              "id": "111637107001",
              "name": "Pre-roll",
              "type": "AD",
              "time": 0,
              "metadata": null,
              "force_stop": false
            }
          ],
          "custom_fields": {
            "moretext": "this is the first video uploaded",
            "mylist": "abc"
          },
          "link": {
            "text": "Full Dvd at Amazon",
            "url": "http://www.amazon.com/Avatar-Sam-Worthington/dp/B002VPE1AW"
          },
          "tags": [
            "copied"
          ],
          "poster_sources": [
            {
              "src": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999"
            }
          ],
          "thumbnail_sources": [
            {
              "src": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999"
            }
          ],
          "poster": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999",
          "thumbnail": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999",
          "sources": [
            {
              "avg_bitrate": 379000,
              "width": 320,
              "duration": 595560,
              "size": 28196307,
              "stream_name": "mp4:107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
              "codec": "H264",
              "asset_id": "111728840001",
              "container": "MP4",
              "height": 180,
              "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
            },
            {
              "avg_bitrate": 379000,
              "width": 320,
              "src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
              "size": 28196307,
              "height": 180,
              "duration": 595560,
              "container": "MP4",
              "codec": "H264",
              "asset_id": "111728840001"
            }, ... 6 more sources ...
    
          ]
        }

Obtener video por ID de referencia

Punto final

        https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/ref:{reference_id}

Ejemplo

        https://edge.api.brightcove.com/playback/v1/accounts/57838016001/videos/ref:nature_2010-07-12

Muestra de respuesta

        {
          "account_id": "107767373999",
          "ad_keys": null,
          "created_at": "2010-07-12T22:37:34.760Z",
          "description": "Avatar_MakingAScene_Featurette",
          "duration": 595560,
          "id": "38467382999",
          "long_description": null,
          "name": "Avatar_MakingAScene_Featurette",
          "published_at": "2010-07-12T22:37:34.760Z",
          "reference_id": "nature_2010-07-12",
          "text_tracks": [],
          "updated_at": "2010-07-12T22:54:29.666Z",
          "cue_points": [
            {
              "id": "111637107001",
              "name": "Pre-roll",
              "type": "AD",
              "time": 0,
              "metadata": null,
              "force_stop": false
            }
          ],
          "custom_fields": {
            "moretext": "this is the first video uploaded",
            "mylist": "abc"
          },
          "link": {
            "text": "Full Dvd at Amazon",
            "url": "http://www.amazon.com/Avatar-Sam-Worthington/dp/B002VPE1AW"
          },
          "tags": [
            "copied"
          ],
          "poster_sources": [
            {
              "src": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999"
            }
          ],
          "thumbnail_sources": [
            {
              "src": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999"
            }
          ],
          "poster": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999",
          "thumbnail": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999",
          "sources": [
            {
              "avg_bitrate": 379000,
              "width": 320,
              "duration": 595560,
              "size": 28196307,
              "stream_name": "mp4:107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
              "codec": "H264",
              "asset_id": "111728840001",
              "container": "MP4",
              "height": 180,
              "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
            },
            {
              "avg_bitrate": 379000,
              "width": 320,
              "src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
              "size": 28196307,
              "height": 180,
              "duration": 595560,
              "container": "MP4",
              "codec": "H264",
              "asset_id": "111728840001"
            }, ... 6 more sources ...
    
          ]
        }

Buscar videos

Debes usar un clave de política habilitada para búsqueda, al buscar videos usando el Playback API. Para más detalles, vea el Playback API Referencia documento.

parámetros

Tenga en cuenta que todos los parámetros son opcional. Se aplican a GET Videos solo solicitudes

GET Videos Parámetros de solicitud
Parámetro Descripción
q Cadena de consulta para búsquedas: para más detalles, consulte la guía de búsqueda
limit Número de videos a devolver: debe ser un número entero entre 1 y 100. Predeterminado: 20
offset Cantidad de videos para omitir (para resultados de búsqueda). Debe ser un entero positivo. Predeterminado: 0
sort Una cadena que especifica el campo para ordenar.
Comience con - ordenar descendente
Si un valor para q se proporciona, entonces el tipo predeterminado es por "puntuación" (relevancia de los resultados de búsqueda a la consulta original).
Si no hay valor para q se proporciona, entonces el tipo predeterminado es updated_at descendiendo
Los siguientes campos son válidos para ordenar: name, reference_id, created_at, published_at, updated_at, schedule_starts_at, schedule_ends_at, state, plays_total y plays_trailing_week
Para más detalles, vea el Obtener videos sección de la Playback API referencia

Brightcove's Playback API proporciona una forma programática para buscar videos en su Video Cloud biblioteca.

Para realizar búsquedas básicas y complejas en sus datos de video, usará q parámetro:

        https://edge.api.brightcove.com/playback/v1/accounts/1752604051111/videos?q={search terms}

Para detalles sobre cómo buscar videos, vea el Videos de la búsqueda documento.

Resultados de paginación

Utilizar limit parámetro para especificar cuántos elementos desea devolver en una solicitud, hasta 100. Puede usar el offset parámetro a la página a través de conjuntos de resultados que son más grandes que el limit. El offset es la cantidad de elementos para saltear.

Por ejemplo, la siguiente búsqueda devuelve los videos 51-75 del conjunto de resultados total, suponiendo que el conjunto total de resultados tiene al menos videos 75:

        /videos?q=updated_at:2014-01-01..2014-06-30&limit=25&offset=50

La limit y offset los parámetros solo se pueden usar para videos.

Mejor práctica de búsqueda

Cuando hojee su conjunto de resultados desde la Playback API, se recomienda seguir estos pasos:

  1. Utilizar limit y offset parámetros para devolver grupos de datos de su conjunto de resultados.
            /accounts/578380111111/videos?q=tags:nature&limit=20&offset=50
  2. Con cada respuesta, verá que el count campo siempre muestra la cantidad máxima de videos en su conjunto de resultados.
            {"count": 171,
              "videos": [ ... ]
            }
  3. El total count de los videos de su primera solicitud se pueden usar para determinar cuántas páginas más necesitará solicitar.

    Alternativamente, puede interrogar al count valor con cada respuesta y continuar hasta el count es menor o igual que el tamaño de página multiplicado por limit.
            count <= page-number * limit

Ordenar resultados de video

Usa el parámetro sort=field_name para especificar cómo deben ordenarse los resultados. Puede ordenar en los siguientes campos de video:[1 1-]

  • nombre
  • Identificación de referencia
  • Creado en
  • published_at
  • updated_at
  • schedule_starts_at (nota: este es el sort campo - el campo de búsqueda es schedule.starts_at)
  • schedule_ends_at (nota: este es el sort campo - el campo de búsqueda es schedule.ends_at)
  • estado
  • plays_total[1 2-]
  • plays_trailing_week[1 2-]

Notas

  • [1 1-] Si no proporciona un valor de clasificación para una llamada de búsqueda de video, los resultados se ordenarán por relevancia. Si no proporciona un valor de clasificación para un GET llamada de videos, los resultados serán ordenados por updated_at descendiendo
  • [1 2-] Puedes ordenar plays_total or plays_trailing_week, pero estos campos no están incluidos en los resultados

Todos los videos y grandes conjuntos de datos

Si está recuperando todos los videos en su cuenta, o una gran cantidad de videos, hay algunas cosas que debe tener en cuenta:

  1. Puede estar tentado de usar el mayor permitido limit (100), pero es mejor recuperar videos en lotes de 25 o menos para minimizar la posibilidad de que las API agote el tiempo de espera
  2. A medida que navega por grandes conjuntos de datos, es posible que los datos de video se actualicen durante la operación, lo que podría provocar que los elementos cambien en las respuestas:
    • Es posible que vea un elemento repetido en páginas sucesivas
    • Se puede perder un elemento, ya que se ha desplazado a un conjunto de respuesta anterior

    Para tener en cuenta la primera posibilidad, su aplicación debe deducir la lista completa de elementos una vez que haya terminado de recuperar los videos. Para manejar la segunda posibilidad, debe comparar el número total de elementos recuperados (después de eliminar el duplicado) con el número que esperaba, y luego volver a ejecutar las solicitudes, ordenando los resultados por fecha_modificada_última (descendente); no debería necesitar recuperar más de un lote para recoger artículos perdidos.

  3. Puede disminuir la probabilidad de los escenarios en el elemento anterior clasificando los resultados devueltos de manera apropiada. La clasificación predeterminada por relevancia para búsquedas se basa en un algoritmo complejo que busca combinaciones de palabras clave, etiquetas y valores de campo personalizados. Si está buscando videos basados ​​en varias palabras clave, etiquetas y / o campos personalizados, ordenar por relevancia es exactamente lo que quiere. Sin embargo, si solo está tratando de recuperar todo o un gran conjunto de sus videos, establezca el sort el parámetro explícitamente le dará más control sobre el orden de los artículos devueltos.

Obtener videos

Punto final

        https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos

Ejemplo

        https://edge.api.brightcove.com/playback/v1/accounts/57838016001/videos?q=tags:nature,name:nature

Muestra de respuesta

        {
          "count": 123,
          "videos":
            [
              {<video1 fields>},
              {<video2 fields>},
              ...
            ]
        }

Respuesta de error

Si intenta utilizar el punto final de obtención de videos con una clave de política que NO está habilitada para la búsqueda, recibirá el siguiente mensaje de error del Playback API:

        [
          {
            "api_call": "search",
            "error_subcode": "API",
            "error_code": "ACCESS_DENIED",
            "message": "Access to this resource is forbidden by access policy."
          }
        ]

La Playback API le permite buscar en su cuenta videos relacionados con el video especificado. Basado en el name y short description del video especificado, la API buscará cualquier coincidencia parcial en los siguientes campos:

  • name
  • short description
  • long description
  • tags

Si la restricción geográfica está en vigencia, es posible que no reciba una página completa de resultados.

parámetros

Los siguientes parámetros de URL se pueden usar para solicitudes de videos relacionados con GET:

OBTENER Videos relacionados Solicitar parámetros
Parámetro Descripción
limit La cantidad de videos a devolver (predeterminado = 20; máximo = 100)
ad_config_id Agregue su ad_config_id para regresar videos con SSAI

Por defecto, la respuesta contendrá hasta videos 20. Puedes usar el limit parámetro para devolver hasta un máximo de videos 100, con un costo de mayor latencia.

Tenga en cuenta que no hay offset parámetro al buscar videos relacionados, por lo que no podrá navegar a través de los resultados de su video.

Obtén videos relacionados con la identificación de video

Punto final

        https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/{video_id}/related

Ejemplo

        https://edge.api.brightcove.com/playback/v1/accounts/1752604059001/videos/5565662146001/related

Obtener videos relacionados con ID de referencia

Punto final

        https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/ref:{reference_id}/related

Ejemplo

        https://edge.api.brightcove.com/playback/v1/accounts/1752604059001/videos/ref:nature/related

Muestra de respuesta

En la respuesta a continuación, observe que no hay count campo, a diferencia del videos de búsqueda respuesta.

        {
          "videos":
            [
              {<video1 fields>},
              {<video2 fields>},
              ...
            ]
        }

Respuesta de error

Si intenta utilizar el punto final relacionado con la búsqueda con una clave de política que NO está habilitada para la búsqueda, recibirá el siguiente mensaje de error del Playback API:

        [
          {
            "api_call": "search",
            "error_subcode": "API",
            "error_code": "ACCESS_DENIED",
            "message": "Access to this resource is forbidden by access policy."
          }
        ]

Solicitud de video con SSAI

Incluso si NO está utilizando una web de Brightcove player o los SDK nativos de Brightcove en su aplicación, aún puede usar la inserción de anuncios del lado del servidor (SSAI) con sus propios player.

Obtener video con SSAI

Para devolver un video con SSAI, agregue su ID de configuración de anuncio como un parámetro de URL a su Playback API solicitud. Con esta solicitud, puede utilizar una identificación de video o una identificación de referencia de video.

Punto final con parámetro de URL

Añade tu ad_config_id hasta el final de la Playback API petición:

        https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/videos/{video_id}?ad_config_id={ad_config_id}

Ejemplo

        https://edge.api.brightcove.com/playback/v1/accounts/1752604059001/videos/5565662146001?ad_config_id=1234abcd

En la respuesta de muestra a continuación, observará lo siguiente:

  • La respuesta es similar a la de si no incluyó una ID de configuración de anuncios.
  • Los elementos de la sources matriz contendrá una nueva propiedad llamada vmap.
  • Si desea saber dónde se encuentran los anuncios en el contenido, puede leer el archivo VMAP vinculado en el vmap propiedad.
  • La src propiedad dentro del sources array contendrá la URL a la fuente HLS o DASH. Esto es lo mismo que la respuesta cuando no se usa ID de configuración de anuncio, pero el src tendrá anuncios cosidos con el contenido principal.

Muestra de respuesta

        {
          "description": "The story of a giant rabbit with a heart bigger than himself. ",
          "poster_sources": [
            {
              "src": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/3723496277001/dd5bd69c-e962-4a43-9dbd-94faaaba1785/main/1280x720/5m17s130ms/match/image.jpg"
            }
          ],
          "tags": [],
          "cue_points": [],
          "custom_fields": {},
          "account_id": "3723496277001",
          "sources": [
            {
              "ext_x_version": "4",
              "vmap": "http://ssaiplayback.prod.boltdns.net/playback/once/v1/vmap/hls/v4/clear/3723496277001/7a3316d9-1b06-4d62-bec8-3919b43fffbb/dd5bd69c-e962-4a43-9dbd-94faaaba1785/content.vmap?bc_token=NTllMTMxYjNfMTdkOTY2YThhNjU5MDk5ZTQ3NDBkNmUxOTYyOGRkNzM0ZjBiM2RjMGEwOThjOGFkYjk1MWQxMzFmNGYzMjA5YQ%3D%3D",
              "type": "application/x-mpegURL",
              "src": "http://ssaiplayback.prod.boltdns.net/playback/once/v1/hls/v4/clear/3723496277001/7a3316d9-1b06-4d62-bec8-3919b43fffbb/dd5bd69c-e962-4a43-9dbd-94faaaba1785/master.m3u8?bc_token=NTllMTMxYjNfZGM5ZDg0NGM2ZGJjZDcxZTFjOGYyODBlMzM2NmNmMmJkMWNhZDczNWViNzRiMjIwNjg5MjkzZGM0ZmJlMTc1Yw%3D%3D"
            },
            ...
          ],
          "created_at": "2017-05-15T17:09:11.171Z"
        }

Requerir ad_config_id

Usando el patrón de velas del Policy API, puede crear una clave de política que requiere que incluya la ad_config_id Parámetro de URL al realizar solicitudes a la Playback API. Para obtener detalles sobre la configuración de esta función, consulte la Policy API Referencia documento.

Cuando la clave de política está configurada para requerir un ad_config_id, y no lo añades a un Playback API Solicitud, obtendrá el siguiente error:

        [
          {
            "error_subcode": "AD_CONFIG",
            "error_code": "ACCESS_DENIED",
            "message": "Missing required ad_config_id parameter"
          }
        ]

Solicitudes de lista de reproducción

Un objeto de video de la lista de reproducción se puede recuperar utilizando la id de la lista de reproducción o su ID de referencia.

parámetros

Los siguientes parámetros de URL se pueden usar para solicitudes de listas de reproducción

Parámetros de solicitud de listas de reproducción
Parámetro Descripción
límite La cantidad de videos a devolver (predeterminado = 20; máximo = 100)
compensar cantidad de videos para saltar (desde el comienzo de la lista de reproducción; predeterminado = 0)

Por ejemplo, estos parámetros añadidos a su solicitud -? Limit = 40 & offset = 20 - devolverían los videos 21-60 en la lista de reproducción (suponiendo que haya tantos).

Obtener lista de reproducción por ID

Punto final

        https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/playlists/{playlist_id}

Ejemplo

        https://edge.api.brightcove.com/playback/v1/accounts/57838016001/playlists/38467382999

Muestra de respuesta

        {
          "account_id": "107767373999",
          "created_at": "2010-07-12T22:43:30.290Z",
          "description": null,
          "id": "111592530001",
          "name": "Play One",
          "reference_id": null,
          "type": "EXPLICIT",
          "updated_at": "2010-07-12T22:51:25.055Z",
    
          "videos": [
            {
              "description": "Avatar_MakingAScene_Featurette",
              "poster_sources": [
                {
                  "src": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999"
                }
              ],
              "tags": [
                "copied"
              ],
              "cue_points": [
                {
                  "id": "111637107001",
                  "name": "Pre-roll",
                  "type": "AD",
                  "time": 0,
                  "metadata": null,
                  "force_stop": false
                }
              ],
              "custom_fields": {
                "moretext": "this is the first video uploaded",
                "mylist": "abc"
              },
              "account_id": "107767373999",
              "sources": [
                {
                  "avg_bitrate": 379000,
                  "width": 320,
                  "duration": 595560,
                  "size": 28196307,
                  "stream_name": "mp4:107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
                  "codec": "H264",
                  "asset_id": "111728840001",
                  "container": "MP4",
                  "height": 180,
                  "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
                },
                {
                  "avg_bitrate": 379000,
                  "width": 320,
                  "src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
                  "size": 28196307,
                  "height": 180,
                  "duration": 595560,
                  "container": "MP4",
                  "codec": "H264",
                  "asset_id": "111728840001"
                },
                {
                  "avg_bitrate": 267000,
                  "width": 320,
                  "duration": 595560,
                  "size": 19894997,
                  "stream_name": "mp4:107767373999/107767373999_111728852001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
                  "codec": "H264",
                  "asset_id": "111728852001",
                  "container": "MP4",
                  "height": 180,
                  "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
                },
                {
                  "avg_bitrate": 267000,
                  "width": 320,
                  "src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111728852001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
                  "size": 19894997,
                  "height": 180,
                  "duration": 595560,
                  "container": "MP4",
                  "codec": "H264",
                  "asset_id": "111728852001"
                },
                {
                  "avg_bitrate": 549000,
                  "width": 480,
                  "duration": 595567,
                  "size": 40889436,
                  "stream_name": "mp4:107767373999/107767373999_111728860001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
                  "codec": "H264",
                  "asset_id": "111728860001",
                  "container": "MP4",
                  "height": 268,
                  "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
                },
                {
                  "avg_bitrate": 549000,
                  "width": 480,
                  "src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111728860001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
                  "size": 40889436,
                  "height": 268,
                  "duration": 595567,
                  "container": "MP4",
                  "codec": "H264",
                  "asset_id": "111728860001"
                },
                {
                  "avg_bitrate": 835000,
                  "width": 640,
                  "duration": 595567,
                  "size": 62142992,
                  "stream_name": "mp4:107767373999/107767373999_111728865001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
                  "codec": "H264",
                  "asset_id": "111728865001",
                  "container": "MP4",
                  "height": 360,
                  "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
                },
                {
                  "avg_bitrate": 835000,
                  "width": 640,
                  "src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111728865001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
                  "size": 62142992,
                  "height": 360,
                  "duration": 595567,
                  "container": "MP4",
                  "codec": "H264",
                  "asset_id": "111728865001"
                },
                {
                  "avg_bitrate": 1744000,
                  "width": 640,
                  "duration": 595567,
                  "size": 129836869,
                  "stream_name": "mp4:107767373999/107767373999_111735357001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
                  "codec": "H264",
                  "asset_id": "111735357001",
                  "container": "MP4",
                  "height": 360,
                  "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
                },
                {
                  "avg_bitrate": 1744000,
                  "width": 640,
                  "src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111735357001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
                  "size": 129836869,
                  "height": 360,
                  "duration": 595567,
                  "container": "MP4",
                  "codec": "H264",
                  "asset_id": "111735357001"
                },
                {
                  "avg_bitrate": 1249000,
                  "width": 640,
                  "duration": 595567,
                  "size": 92994065,
                  "stream_name": "mp4:107767373999/107767373999_111735369001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
                  "codec": "H264",
                  "asset_id": "111735369001",
                  "container": "MP4",
                  "height": 360,
                  "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
                },
                {
                  "avg_bitrate": 1249000,
                  "width": 640,
                  "src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111735369001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
                  "size": 92994065,
                  "height": 360,
                  "duration": 595567,
                  "container": "MP4",
                  "codec": "H264",
                  "asset_id": "111735369001"
                }
              ],
              "name": "Avatar_MakingAScene_Featurette",
              "reference_id": "AvatarMakingShort",
              "long_description": null,
              "duration": 595560,
              "published_at": "2010-07-12T22:37:34.760Z",
              "text_tracks": [],
              "updated_at": "2010-07-12T22:54:29.666Z",
              "thumbnail": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999",
              "poster": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999",
              "link": {
                "text": "Full Dvd at Amazon",
                "url": "http://www.amazon.com/Avatar-Sam-Worthington/dp/B002VPE1AW"
              },
              "id": "38467382999",
              "ad_keys": null,
              "thumbnail_sources": [
                {
                  "src": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999"
                }
              ],
              "created_at": "2010-07-12T22:37:34.760Z"
            }
          ],
        }

Obtener lista de reproducción por ID de referencia

Punto final

        https://edge.api.brightcove.com/playback/v1/accounts/{account_id}/playlists/ref:{reference_id}

Ejemplo

        https://edge.api.brightcove.com/playback/v1/accounts/57838016001/playlists/ref:nature_2010-07-12

Muestra de respuesta

        {
          "account_id": "107767373999",
          "created_at": "2010-07-12T22:43:30.290Z",
          "description": null,
          "id": "111592530001",
          "name": "Play One",
          "reference_id": nature_2010-07-12,
          "type": "EXPLICIT",
          "updated_at": "2010-07-12T22:51:25.055Z",
    
          "videos": [
            {
              "description": "Avatar_MakingAScene_Featurette",
              "poster_sources": [
                {
                  "src": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999"
                }
              ],
              "tags": [
                "copied"
              ],
              "cue_points": [
                {
                  "id": "111637107001",
                  "name": "Pre-roll",
                  "type": "AD",
                  "time": 0,
                  "metadata": null,
                  "force_stop": false
                }
              ],
              "custom_fields": {
                "moretext": "this is the first video uploaded",
                "mylist": "abc"
              },
              "account_id": "107767373999",
              "sources": [
                {
                  "avg_bitrate": 379000,
                  "width": 320,
                  "duration": 595560,
                  "size": 28196307,
                  "stream_name": "mp4:107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
                  "codec": "H264",
                  "asset_id": "111728840001",
                  "container": "MP4",
                  "height": 180,
                  "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
                },
                {
                  "avg_bitrate": 379000,
                  "width": 320,
                  "src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111728840001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
                  "size": 28196307,
                  "height": 180,
                  "duration": 595560,
                  "container": "MP4",
                  "codec": "H264",
                  "asset_id": "111728840001"
                },
                {
                  "avg_bitrate": 267000,
                  "width": 320,
                  "duration": 595560,
                  "size": 19894997,
                  "stream_name": "mp4:107767373999/107767373999_111728852001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
                  "codec": "H264",
                  "asset_id": "111728852001",
                  "container": "MP4",
                  "height": 180,
                  "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
                },
                {
                  "avg_bitrate": 267000,
                  "width": 320,
                  "src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111728852001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
                  "size": 19894997,
                  "height": 180,
                  "duration": 595560,
                  "container": "MP4",
                  "codec": "H264",
                  "asset_id": "111728852001"
                },
                {
                  "avg_bitrate": 549000,
                  "width": 480,
                  "duration": 595567,
                  "size": 40889436,
                  "stream_name": "mp4:107767373999/107767373999_111728860001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
                  "codec": "H264",
                  "asset_id": "111728860001",
                  "container": "MP4",
                  "height": 268,
                  "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
                },
                {
                  "avg_bitrate": 549000,
                  "width": 480,
                  "src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111728860001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
                  "size": 40889436,
                  "height": 268,
                  "duration": 595567,
                  "container": "MP4",
                  "codec": "H264",
                  "asset_id": "111728860001"
                },
                {
                  "avg_bitrate": 835000,
                  "width": 640,
                  "duration": 595567,
                  "size": 62142992,
                  "stream_name": "mp4:107767373999/107767373999_111728865001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
                  "codec": "H264",
                  "asset_id": "111728865001",
                  "container": "MP4",
                  "height": 360,
                  "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
                },
                {
                  "avg_bitrate": 835000,
                  "width": 640,
                  "src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111728865001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
                  "size": 62142992,
                  "height": 360,
                  "duration": 595567,
                  "container": "MP4",
                  "codec": "H264",
                  "asset_id": "111728865001"
                },
                {
                  "avg_bitrate": 1744000,
                  "width": 640,
                  "duration": 595567,
                  "size": 129836869,
                  "stream_name": "mp4:107767373999/107767373999_111735357001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
                  "codec": "H264",
                  "asset_id": "111735357001",
                  "container": "MP4",
                  "height": 360,
                  "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
                },
                {
                  "avg_bitrate": 1744000,
                  "width": 640,
                  "src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111735357001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
                  "size": 129836869,
                  "height": 360,
                  "duration": 595567,
                  "container": "MP4",
                  "codec": "H264",
                  "asset_id": "111735357001"
                },
                {
                  "avg_bitrate": 1249000,
                  "width": 640,
                  "duration": 595567,
                  "size": 92994065,
                  "stream_name": "mp4:107767373999/107767373999_111735369001_Avatar-MakingAScene-Featurette.mp4?__nn__=1497926354001&slist=107767373999/&auth=daEciavcicRbhbtdSaBdBdVbXd0aUdTcMaX-bvRrSa-hca-slyCzrux_zJAq_HFCB_EvE&aifp=bcosuds",
                  "codec": "H264",
                  "asset_id": "111735369001",
                  "container": "MP4",
                  "height": 360,
                  "app_name": "rtmp://cp150446.edgefcs.net/ondemand"
                },
                {
                  "avg_bitrate": 1249000,
                  "width": 640,
                  "src": "http://uds.ak.o.brightcove.com/107767373999/107767373999_111735369001_Avatar-MakingAScene-Featurette.mp4?pubId=107767373999&videoId=38467382999",
                  "size": 92994065,
                  "height": 360,
                  "duration": 595567,
                  "container": "MP4",
                  "codec": "H264",
                  "asset_id": "111735369001"
                }
              ],
              "name": "Avatar_MakingAScene_Featurette",
              "reference_id": "AvatarMakingShort",
              "long_description": null,
              "duration": 595560,
              "published_at": "2010-07-12T22:37:34.760Z",
              "text_tracks": [],
              "updated_at": "2010-07-12T22:54:29.666Z",
              "thumbnail": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999",
              "poster": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728861001_vs-111727994001.jpg?pubId=107767373999&videoId=38467382999",
              "link": {
                "text": "Full Dvd at Amazon",
                "url": "http://www.amazon.com/Avatar-Sam-Worthington/dp/B002VPE1AW"
              },
              "id": "38467382999",
              "ad_keys": null,
              "thumbnail_sources": [
                {
                  "src": "http://brightcove04.o.brightcove.com/107767373999/107767373999_111728862001_th-111727994001.jpg?pubId=107767373999&videoId=38467382999"
                }
              ],
              "created_at": "2010-07-12T22:37:34.760Z"
            }
          ],
        }

Leyendas

Los subtítulos proporcionan información adicional sobre su video para las personas que desean acceder a él. Los subtítulos son necesarios para las personas sordas o con dificultades auditivas para acceder a la parte de audio de sus videos. Si eres nuevo en los subtítulos, mira el Descripción general: Agregar subtítulos a un video documento.

WebVTT externo

Los subtítulos externos de WebVTT son archivos de texto separados del video. Puede asociar archivos de subtítulos con un video de la siguiente manera:

Muestra de respuesta

A continuación se muestra una respuesta de ejemplo de la Playback API donde se ha agregado un archivo de títulos de WebVTT a un video usando el módulo multimedia. Tenga en cuenta que la pista de texto src las propiedades apuntan a un archivo de subtítulos externo.

        {
        "text_tracks": [
        {
          "mime_type": null,
          "account_id": "20318290001",
          "default": true,
          "sources": [
            {
              "src": "https://static.3playmedia.com/p/files/2240988/threeplay_transcripts/6418302.vtt?project_id=10127&format_id=51&refresh=1515241856"
            }
          ],
          "src": "https://static.3playmedia.com/p/files/2240988/threeplay_transcripts/6418302.vtt?project_id=10127&format_id=51&refresh=1515241856",
          "asset_id": null,
          "label": "English",
          "id": "13d66def-d004-4e75-b160-4ac693eff7d7",
          "kind": "captions",
          "srclang": "en"
        }
        ],
        }

In-manifest WebVTT

Los videos de WebVTT en manifiesto se ingieren con sus videos. Esto se puede hacer cuando ingiere su video por primera vez o después de que su video ha sido ingerido. Puedes crear subtítulos en el manifiesto de la siguiente manera:

Muestra de respuesta

A continuación se muestra una respuesta de ejemplo de la Playback API donde se ha agregado un archivo de títulos de WebVTT a un video usando el Dynamic Ingest API. Tenga en cuenta que la pista de texto src las propiedades apuntan a archivos internos de Brightcove.

        {
        "text_tracks": [
        {
          "mime_type": "text/webvtt",
          "account_id": "1752604059001",
          "default": false,
          "sources": [
            {
              "src": "http://bcboltbde696aa-a.akamaihd.net/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt?akamai_token=exp=1518032480~acl=/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt*~hmac=5aa9f206a8e970efb4cab95278e2e9b16a29b3ccf82951a91245352d9149b173"
            },
            {
              "src": "https://bcboltbde696aa-a.akamaihd.net/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt?akamai_token=exp=1518032480~acl=/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt*~hmac=5aa9f206a8e970efb4cab95278e2e9b16a29b3ccf82951a91245352d9149b173"
            }
            ],
          "src": "http://bcboltbde696aa-a.akamaihd.net/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt?akamai_token=exp=1518032480~acl=/media/v1/text/vtt/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/text.vtt*~hmac=5aa9f206a8e970efb4cab95278e2e9b16a29b3ccf82951a91245352d9149b173",
          "asset_id": null,
          "label": "EN",
          "id": "92cb36a7-c836-4506-a87f-f649316c0cdf",
          "kind": "captions",
          "in_band_metadata_track_dispatch_type": "",
          "srclang": "en"
        }
        ],
        }

Manifiesto

El manifiesto para los archivos de video HLS o DASH también contiene la información necesaria para incluir los títulos de WebVTT.

HLS
        #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-0",NAME="en (Main)",DEFAULT=YES,AUTOSELECT=YES,LANGUAGE="en",URI="https://manifest.prod.boltdns.net/manifest/v1/hls/v4/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/8b12c808-c5ea-47f3-abfa-c23b023db297/10s/rendition.m3u8?fastly_token=NWE3YjU3ZThfNzAwNTczOWM4MWQ4Mzk2NjFkYjVjYmFhYjQwNzY2MWUzM2MyNDM5ZDA5ZGExYTFkMzRmYzA0MDdhOTlmZWJhMw%3D%3D"
        #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subtitles-0",NAME="EN",DEFAULT=YES,AUTOSELECT=YES,LANGUAGE="en",URI="https://manifest.prod.boltdns.net/manifest/v1/hls/v4/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf/rendition.m3u8?fastly_token=NWE3YjU3ZThfNDYzOThkZGJiZTU1NTlhOTdkYzA5OTA3M2UzZGRlYTgzMmRkZmUxMGIxYTJkY2Y5ZDQ1ODFiNTEyMmNiZDVhMw%3D%3D"
        #EXT-X-STREAM-INF:PROGRAM-ID=0,BANDWIDTH=519200,CODECS="mp4a.40.2,avc1.420015",RESOLUTION=480x270,AUDIO="audio-0",CLOSED-CAPTIONS=NONE,SUBTITLES="subtitles-0"
        https://manifest.prod.boltdns.net/manifest/v1/hls/v4/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/5f7850d9-9a65-4eee-8810-86a1e18e05fb/10s/rendition.m3u8?fastly_token=NWE3YjU3ZThfY2Q5YmE2ODc2OWFiNTgyZjUxMjc1MzRhNmQxMzA0ZmJmY2RlMGU4ZjBiNDExZGRmNjc3YjQ0OGQ5N2RiOTVmMA%3D%3D
        
DASH
        <AdaptationSet mimeType="text/vtt" lang="en">
        <Representation bandwidth="256" id="92cb36a7-c836-4506-a87f-f649316c0cdf">
          <BaseURL>http://bcboltbde696aa-a.akamaihd.net/media/v1/dash/live/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a/92cb36a7-c836-4506-a87f-f649316c0cdf.vtt?akamai_token=exp=1518032494~acl=/media/v1/dash/live/clear/1752604059001/3585c49a-5a95-4783-8625-e3af727d094a*~hmac=3e2edc412c273f1255f2c18bbbcee7afc6a2edb74573f9295b0f05feda69f0e2</BaseURL>
        </Representation>
        </AdaptationSet>

Página actualizada por última vez el 12 jun 2020