soporte Contactar con Soporte | Estadoestado del sistema del sistema
Contenido de la página

    Resumen: Playback API

    La API de reproducción se utiliza para obtener datos de vídeo y listas de reproducción de Video Cloud. Normalmente se utiliza para obtener datos de vídeo a un reproductor en una página web o en una aplicación móvil.

    Introducción

    La API de reproducción es una API de baja latencia diseñada para su uso en el lado del cliente para obtener datos de vídeo o listas de reproducción de páginas web o aplicaciones móviles. No es una API de administración de medios general para integrar Video Cloud con su CMS u otros sistemas; para ello, debe utilizar la API de CMS.

    Los resultados de la API de reproducción se filtran para devolver sólo vídeos reproducibles (State=Activo, indicador de ingestión completa = true, y en los datos/hora correctos si está programado). Esto significa que el reproductor podrá reproducir el vídeo tan pronto como exista una copia, incluso si otros siguen procesándose. Si necesita buscar vídeos que no se pueden reproducir actualmente, debe volver a utilizar la API de CMS en su lugar.

    Tenga en cuenta también que para maximizar el rendimiento, los datos de vídeo a los que accede la API de reproducción se almacenan en caché durante un corto período de tiempo. El tiempo que un ID de conjunto de datos concreto almacenado en caché variará, pero puede durar hasta 20 minutos.

    Consulte también la Referencia de API.

    Casos de uso

    los Jugador de Brightcove y el Reproductores Brightcove SDK Incluya métodos de catálogo idénticos a los métodos de la API de reproducción y, en su mayor parte, puede simplemente usarlos si solo está recuperando videos o listas de reproducción en tiempo de ejecución para reproducir.

    Sin embargo, es posible que desee proporcionar una vista de vídeo o listas de reproducción en una pantalla de aplicaciones móviles donde no haya ningún reproductor presente.

    Además, puede haber ocasiones en las que desee recuperar vídeos o listas de reproducción para mostrar información sobre ellos, sin tener un reproductor en la pantalla, como página de destino de un portal de vídeo, por ejemplo.

    La API de reproducción es útil en estos casos.

    Información general

    URL base

    La URL base para la API de reproducción es:

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

    Ruta de la cuenta

    En todos los casos, se solicitarán una cuenta de Video Cloud específica. Por lo tanto, siempre agregará el término seguido de su ID de cuenta a la URL base:accounts

    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 pasar de una de las tres maneras siguientes:

    1. En un argumento a un Accept encabezado:
      Accept: application/json;pk={policy_key}

      Este es el método recomendado para un cliente basado en navegador, ya que permite que la solicitud siga adelante sin una solicitud adicional primero como parte de la comprobación de «pre-vuelo» del navegador CORS. Esto ahorra latencia la primera vez que se realiza una solicitud del navegador.

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

    Obtención de una clave de política

    Hay tres formas de obtener una clave de política:

    1. A cada jugador de Brightcove se le asigna uno automáticamente. Puede encontrar instrucciones para obtener la clave de política de un jugador en este documento. Dado que las claves de política son buenas para toda la cuenta, puede utilizarlas independientemente de si ese reproductor está incrustado en la página.
    2. Puede generar una clave de política básica mediante el inicio rápido de claves de directiva
    3. Puede realizar una solicitud a la API de políticas

    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 cuentas para que lo active para su cuenta.

    Evite las URL codificadas

    Las URL de miniaturas, carteles, archivos de vídeo y otros medios nunca deben codificarse en las páginas o aplicaciones. El Playback API devolverá la última versión almacenada en caché de las URL para archivos multimedia, pero las direcciones URL están sujetas a cambios. Debe utilizar las (o) solicitudes para recuperar estas URL cada vez que se cargue la página, o almacenarlas en caché durante no más de seis horas.CMS APIPlayback API

    Almacenamiento en caché de direcciones URL de vídeos e imágenes

    Puede almacenar en caché las direcciones URL de vídeos e imágenes para mejorar el rendimiento de la página, pero la caché debe actualizarse regularmente. Si usted almacena en memoria caché las direcciones URL recuperadas 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 sólo admite las siguientes solicitudes GET, de los siguientes tipos:

    Solicitudes de vídeo

    Se puede recuperar un único objeto de vídeo utilizando el id de vídeo o el identificador de referencia.

    Obtener vídeo por id

    Endpoint

    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

    Respuesta de muestra

    {
      "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 vídeo por ID de referencia

    Endpoint

    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

    Respuesta de muestra

    {
      "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 vídeos

    Debe utilizar una clave de directiva habilitada para búsquedas cuando busque vídeos mediante la API de reproducción. Para obtener más información, consulte el documento Referencia de la API de reproducción .

    Parámetros

    Tenga en cuenta que todos los parámetros son opcionales. Sólo se aplican a GET Videos solicitudes.

    Parámetros de solicitud de GET
    Parámetros Descripción
    q Cadena de consulta para búsquedas: para obtener más detalles, consulte la guía de búsqueda
    limit Número de vídeos a devolver - debe ser un número entero entre 1 y 100. Predeterminado: 20
    offset Número de vídeos que se deben omitir (para resultados de paginación). Debe ser un entero positivo. Predeterminado: 0
    sort Cadena que especifica el campo por el que se va a ordenar.
    Comience con - ordenar descendente.
    Si q se proporciona un valor para, entonces la ordenación predeterminada es por «score» (relevancia de los resultados de búsqueda para la consulta original).
    Si no q se proporciona ningún valor para, entonces la ordenación predeterminada es updated_at descendente.
    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 obtener más detalles, consulte la Obtener videos sección de la referencia de la API de reproducción

    Brightcove Playback API ofrece una forma programática de buscar vídeos en su Video Cloud biblioteca.

    Para realizar búsquedas básicas y complejas en sus datos de vídeo, utilizará el parámetro:q

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

    Para obtener más información sobre cómo buscar vídeos, consulte el documento Buscar vídeos .

    Resultados de paginación

    Utilice el limit parámetro para especificar cuántos elementos desea devolver en una solicitud, hasta 100. A continuación, puede utilizar el offset parámetro para realizar una página a través de conjuntos de resultados más grandes que el limit. El es el número de elementos que se deben omitir.offset

    Por ejemplo, la siguiente búsqueda devuelve vídeos 51-75 del conjunto total de resultados, suponiendo que el conjunto de resultados total tenga al menos 75 vídeos:

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

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

    Práctica recomendada de paginación

    Al realizar búsquedas a través del conjunto de resultados desde la API de reproducción, se recomienda seguir estos pasos:

    1. Utilizar el 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 el número máximo de vídeos en su conjunto de resultados.
      {"count": 171,
        "videos": [ ... ]
      }
    3. El total count de vídeos de tu primera solicitud se puede utilizar para determinar cuántas páginas más necesitarás solicitar.

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

    Clasificación de los resultados de vídeo

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

    • Nombre
    • reference_id
    • created_at
    • published_at
    • updated_at
    • schedule_starts_at (nota: este es el campo de ordenación - el campo de búsqueda es schedule.starts_at)
    • schedule_ends_at (nota: este es el campo de ordenación - el campo de búsqueda es schedule.ends_at)
    • state
    • 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 por vídeo, los resultados se ordenarán por relevancia. Si no proporciona un valor de ordenación para una llamada de vídeo, los resultados se ordenarán de forma descendente.GETupdated_at
    • [ 1-2] Puede ordenar por plays_total o plays_trailing_week, pero estos campos no están incluidos en los resultados

    Todos los vídeos y conjuntos de datos de gran tamaño

    Si estás recuperando todos los vídeos de tu cuenta, o un gran número de vídeos, hay algunas cosas que debes tener en cuenta:

    1. Puede que tenga la tentación de usar el más grande permitido (100), pero es mejor recuperar videos en lotes de 25 o menos para minimizar la posibilidad de que las solicitudes API agoten el tiempo de esperalimit
    2. A medida que está paginando a través de conjuntos de datos grandes, es posible que los datos de vídeo se actualicen durante la operación, lo que podría hacer que los elementos cambien en las respuestas:
      • Es posible que veas un elemento repetido en páginas sucesivas.
      • Es posible que se pierda un elemento, ya que se ha desplazado a un conjunto de respuestas anterior

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

    3. Puede disminuir la probabilidad de que se produzcan escenarios en el elemento anterior ordenando los resultados devueltos correctamente. La clasificación predeterminada por relevancia para las búsquedas se basa en un algoritmo complejo que busca combinaciones de palabras clave, etiquetas y valores de campo personalizados. Si está buscando vídeos basados en varias palabras clave, etiquetas o campos personalizados, ordenar por relevancia es exactamente lo que desea. Sin embargo, si solo está tratando de recuperar todos o un conjunto grande de sus vídeos, establecer el sort parámetro explícitamente le dará más control sobre el orden de los elementos devueltos.

    Obtener vídeos

    Endpoint

    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

    Respuesta de muestra

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

    Respuesta de error

    si intenta utilizar el extremo Obtener vídeos con una clave de directiva que NO está habilitada para la búsqueda, recibirá el siguiente mensaje de error de la API de reproducción:

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

    La API de reproducción le permite buscar en su cuenta vídeos relacionados con el vídeo especificado. Basándose en el name y short description del vídeo 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 vigor, es posible que no reciba una página completa de resultados.

    Parámetros

    Los siguientes parámetros de URL se pueden utilizar para solicitudes de vídeos relacionados con GET:

    GET Videos Relacionados Params Solicitar
    Parámetros Descripción
    limit El número de vídeos que se van a devolver (predeterminado=20; máximo=100)
    ad_config_id Añada su ad_config_id para devolver vídeos con SSAI

    De forma predeterminada, la respuesta contendrá hasta 20 vídeos. Puede utilizar el limit parámetro para devolver hasta un máximo de 100 vídeos, con un coste de latencia mayor.

    Tenga en cuenta que no hay ningún offset parámetro al buscar vídeos relacionados, por lo que no podrá visualizar los resultados de sus vídeos.

    Obtener vídeos relacionados con el id de video

    Endpoint

    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 vídeos relacionados usando el ID de referencia

    Endpoint

    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

    Respuesta de muestra

    En la respuesta a continuación, observe que no hay ningún count campo, a diferencia de la respuesta de los vídeos de búsqueda .

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

    Respuesta de error

    Si intenta utilizar el extremo de búsqueda relacionado con una clave de directiva que NO está habilitada para la búsqueda, recibirá el siguiente mensaje de error de la API de reproducción:

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

    Solicitud de vídeo con SSAI

    Incluso si NO está utilizando un reproductor web de Brightcove o los SDK nativos de Brightcove en su aplicación, puede utilizar la inserción de anuncios del lado del servidor (SSAI) con su propio reproductor.

    Obtener vídeo con SSAI

    Para devolver un vídeo con SSAI, añada el ID de configuración del anuncio como parámetro URL a la solicitud de la API de reproducción. Con esta solicitud, puede usar un ID de vídeo o un ID de referencia de vídeo.

    Endpoint con parámetro URL

    Añada su ad_config_id al final de la solicitud de la API de reproducció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 ejemplo a continuación, notará lo siguiente:

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

    Respuesta de muestra

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

    Mediante la API de directivas, puede crear una clave de directiva que requiera incluir el parámetro ad_config_id URL al realizar solicitudes a la API de reproducción. Para obtener más información sobre la configuración de esta característica, consulte el documento Referencia de API de directivas .

    Cuando la clave de directiva está configurada para requerir un ad_config_id, y no la agrega a una solicitud de API de reproducción, 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 vídeo de lista de reproducción se puede recuperar usando el id de la lista de reproducción o su id de referencia.

    Parámetros

    Los siguientes parámetros de URL se pueden utilizar para solicitudes de lista de reproducción

    Paráms de solicitud de lista de reproducción
    Parámetros Descripción
    límite El número de vídeos que se van a devolver (predeterminado=20; máximo=100)
    compensar número de vídeos para omitir (desde el inicio de la lista de reproducción; default=0)

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

    Obtener lista de reproducción por id

    Endpoint

    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

    Respuesta de muestra

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

    Endpoint

    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

    Respuesta de muestra

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

    Subtítulos

    Los subtítulos opcionales proporcionan información adicional sobre su vídeo para las personas que deseen acceder a él. Los subtítulos son necesarios para que los sordos y con dificultades auditivas accedan a la parte de audio de sus vídeos. Si es nuevo en los subtítulos, consulte la descripción general: Adición de subtítulos a un documento de vídeo .

    WebVTT externo

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

    Respuesta de muestra

    A continuación se muestra una respuesta de ejemplo de la API de reproducción en la que se ha agregado un archivo de subtítulos WebVTT a un vídeo mediante el módulo Media. Observe que las src propiedades de la pista de texto 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"
    }
    ],
    }

    WebVTT en manifiesto

    Los subtítulos de WebVTT en el manifiesto se ingeren con sus vídeos. Esto se puede hacer cuando ingeres el vídeo por primera vez o después de que se haya ingerido el vídeo. Puede crear subtítulos dentro del manifiesto de la siguiente manera:

    Respuesta de muestra

    A continuación se muestra una respuesta de ejemplo de la API de reproducción en la que se ha agregado un archivo de subtítulos WebVTT a un vídeo mediante la API de ingesta dinámica. Observe que las src propiedades de la pista de texto 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 de los archivos de vídeo HLS o DASH también contiene la información necesaria para incluir los subtí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
    
    PIZCA
    <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>

    Última actualización de la página el 24 oct 2020