Funciones de usuario
A continuación se muestran las funciones relacionadas con Video Cloud que quizás desee proporcionar a los usuarios de su CMS:
- Agregar nuevos videos a Video Cloud
- Reemplazar un Video Cloud video con una nueva versión
- Actualizar los metadatos de los videos, como el título, la descripción y las etiquetas
- Eliminar videos
- Crea listas de reproducción
- Cambiar los videos en una lista de reproducción
- Eliminar listas de reproducción
- Crea reproductores de video
- Modificar las propiedades del reproductor de video, como las dimensiones o el estilo.
- Agregue una funcionalidad especial a los reproductores de video a través de complementos
- Publica videos únicos o listas de reproducción
- Proporcione datos analíticos sobre cargas de video, vistas, tasas de reproducción, participación, etc.
Es posible que no desee exponer toda esta funcionalidad a sus usuarios finales; es posible que no desee permitirles eliminar videos, por ejemplo. Una de las ventajas de integrar Video Cloud con su CMS en lugar de permitir que los usuarios vayan directamente a Video Cloud Studio es que puede elegir exactamente qué funcionalidad exponer a los usuarios a través de las API de Brightcove.
Autenticación
Para todas las solicitudes API de Brightcove, la autenticación se basa en tokens de acceso OAuth2. Hay un proceso de dos pasos para obtener tokens de acceso:
- Cree credenciales de cliente con permisos para las operaciones de API que necesita
- Utilice las credenciales del cliente para crear un token de acceso temporal para autenticar una solicitud de API
Creando credenciales de cliente
La creación de credenciales de cliente es una operación única que se puede realizar a través de Video Cloud Estudio o el OAuth API . Como sea que lo hagas, un client_id
y client_secret
se devuelven, que debe guardar para solicitar tokens de acceso.
Creando un token de acceso
Los tokens de acceso temporal se crean utilizando el OAuth API . La client_id
y client_secret
debe estar codificado en BASE64 y pasar como Basic
Cadena de autorización.
La access_token
devuelto se pasa a su vez en un encabezado de autorización con la llamada a la API:
Authorization: Bearer your_access_token
Los tokens de acceso son válidos durante 5 minutos. A menos que esté realizando algún tipo de operación por lotes que hará cientos de llamadas API sucesivas, tiene sentido solicitar una nueva para cada llamada API en lugar de intentar realizar un seguimiento del tiempo de espera.
Añadiendo Videos
Si desea permitir que los usuarios agreguen videos a Video Cloud desde su CMS, puede hacerlo usando el Dynamic Ingest API . Recomendamos que los usuarios carguen videos en su repositorio, que podría ser un bucket de S3 o simplemente un servidor público. El sistema Dynamic Ingest puede extraer los videos y agregarlos al Video Cloud sistema a través de un proceso de dos pasos que se describe a continuación.
Agregar un objeto de video a Video Cloud
El primer paso es crear un objeto de video en el Video Cloud sistema haciendo un POST solicitud a la CMS API:
https://cms.api.brightcove.com/v1/accounts/:account_id/videos
El cuerpo de la solicitud incluirá propiedades de video básicas en un JSON objeto: como mínimo, el vídeo name
, pero también puede incluir metadatos adicionales como un description
y tags
:
{
"name": "Woodpecker",
"description": "A bird that hunts insects inside wood",
"reference_id": "Bird_Woodpecker.mp4",
"tags": ["bird", "air", "nature"]
}
Ingestión del video
Cuando crea el objeto de video, el CMS API devolverá un JSON objeto que contiene las propiedades del video. Extraerás el video id
desde el JSON y utilícelo para realizar una llamada al Dynamic Ingest API para solicitar la ingestión y transcodificación del video:
https://ingest.api.brightcove.com/v1/accounts/ACCOUNT_ID/videos/VIDEO_ID/ingest-requests
De nuevo enviarás JSON en el cuerpo de la solicitud especificando la ubicación del archivo de video:
{
"master":{
"url":"https://support.brightcove.com/test-assets/videos/Great_Blue_Heron.mp4"
},
"profile":"multi-platform-extended-static",
"capture-images": true
}
La profile
aquí está el perfil de ingesta que especifica qué representaciones deben crearse en el proceso de transcodificación. En la mayoría de los casos, uno de los siguientes perfiles estándar debería ser adecuado:
Perfiles de entrega dinámica
multi-platform-extended-static
multi-platform-standard-static
Perfiles de ingesta heredados
videocloud-default-v1 (the default)
screencast-1280
smart-player-transition
single-bitrate-high
audio-only
single-bitrate-standard
high-resolution
Sin embargo, puede crear perfiles de ingesta personalizados adicionales, si es necesario, utilizando el Ingest Profiles API o usando Video Cloud Estudio.
Agregar póster e imágenes en miniatura
La capture-images
opción en el código anterior instruye Video Cloud para capturar imágenes en miniatura y póster para el video en el punto medio durante el proceso de transcodificación. Alternativamente, puede configurar capture-images
a false
e ingiera imágenes en su lugar, ya sea al mismo tiempo que ingiere el video o más tarde:
{
"master":{
"url":"https://support.brightcove.com/test-assets/videos/Great_Blue_Heron.mp4"
},
"profile":"multi-platform-extended-static",
"capture-images": false,
"poster": {
"url": "https://some.site.com/images/for_video/titmouse-poster.png",
"width": 640,
"height": 360
},
"thumbnail": {
"url": "https://some.site.com/images/for_video/titmouse-thumbnail.png",
"width": 160,
"height": 90
}
}
Ver Imágenes y Dynamic Ingest API para más detalles.
Agregar pistas de texto para subtítulos o capítulos
También puede utilizar el Dynamic Ingest API para agregar pistas de texto en WebVTT archivos a videos, ya sea en el momento de la ingestión o más tarde. Las pistas de texto se utilizan para agregar subtítulos o capítulos a un video.
{
"master":{
"url":"https://some.site.com/videos/mp4/Bird_Woodpecker.mp4"
},
"profile":"multi-platform-extended-static",
"capture-images": false,
"poster": {
"url": "https://some.site.com/images/for_video/titmouse-poster.png",
"width": 640,
"height": 360
},
"thumbnail": {
"url": "https://some.site.com/images/for_video/titmouse-thumbnail.png",
"width": 160,
"height": 90
},
"text_tracks": [
{
"url": "https://some.site.com/captions/for_video/Water-in-Motion.vtt",
"srclang": "en",
"kind": "captions",
"label": "English",
"default": true
}
]
}
Ver Ingesta de archivos WebVTT para más detalles.
Gestión de vídeos
La CMS API le permite recuperar datos de video para una cuenta. (Como se muestra arriba, también se usa para crear objetos de video como parte del proceso de ingestión de video). La solicitud más básica es la siguiente:
https://cms.api.brightcove.com/v1/accounts/account_id/videos
De forma predeterminada, esta solicitud devuelve un JSON conjunto de 20 objetos de video que contienen una gran cantidad de metadatos, incluido el nombre, la descripción, las etiquetas, los campos personalizados, las fechas en que se creó y se modificó por última vez, las URL del póster y la miniatura, y mucho más.
Puede refinar los resultados de la solicitud agregando uno o más de los siguientes parámetros a la solicitud:
limit
- esto determina la cantidad de objetos de video que se devolverán y se puede configurar en cualquier número hasta 100; el valor predeterminado es 20
offset
- esto determina la cantidad de elementos a omitir, por lo que se usa junto con
limit
para desplazarse por el catálogo de vídeos: el valor predeterminado es 0 sort
- esto determina el campo de metadatos de video para ordenar el resultado; de manera predeterminada, los resultados se ordenan por
updated_at
(descendente, para mostrar primero los videos actualizados más recientemente)
Ver CMS API Descripción general: parámetros para obtener información detallada sobre estos parámetros.
Búsqueda de vídeos
También puede buscar videos por una amplia gama de criterios utilizando el q
parámetro. Puede buscar por campos específicos como nombre, descripción y etiquetas, así como por fechas y el estado de los videos:
https://cms.api.brightcove.com/v1/accounts/account_id/videos?q=tags:sea,mammal
Para obtener detalles y todas las opciones de búsqueda, consulte Buscar videos.
Obtener y actualizar un video específico
Para recuperar un video específico por su id o id de referencia:
https://cms.api.brightcove.com/v1/accounts/account_id/videos/id
or
https://cms.api.brightcove.com/v1/accounts/account_id/videos/ref:reference_id
A GET request devuelve el objeto de video. Para actualizarlo, modifique el JSON y devuélvelo usando un PATCH solicitud a la misma URL.
Listas de reproducción
La información de la lista de reproducción también se gestiona mediante el CMS API de la misma manera que la información de video. Tenga en cuenta que Video Cloud admite ocho tipos de listas de reproducción en dos categorías:
- Listas de reproducción manuales (o
EXPLICIT
) - contener un conjunto específico de videos; se pueden incluir hasta 100 videos
- Listas de reproducción inteligentes
- construido dinámicamente en tiempo de ejecución según los criterios de búsqueda: hay siete variedades de listas de reproducción inteligentes que se corresponden con la forma en que se ordenan los videos dentro de la lista:
ACTIVATEDOLDESTTONEWEST
ACTIVATEDNEWESTTOOLDEST
ALPHABETICAL
PLAYSTOTAL
PLAYSTRAILINGWEEK
STARTDATEOLDESTTONEWEST
STARTDATENEWESTTO_OLDEST
El límite en la cantidad de videos se puede establecer en cualquier número hasta 100.
Al igual que con los videos, puede recuperar todas las listas de reproducción utilizando limit
y offset
para desplazarse por los resultados si la cuenta tiene una gran cantidad de listas de reproducción:
https://cms.api.brightcove.com/v1/accounts/account_id/playlists
La matriz devuelta de objetos de lista de reproducción incluirá metadatos para la lista de reproducción, incluido el type
correspondiente a uno de los tipos descritos anteriormente. Si el tipo es EXPLICIT
, también habrá una video_ids
matriz que contendrá los identificadores de los vídeos incluidos. Si el tipo es uno de los tipos de lista de reproducción inteligente, habrá un search
propiedad que contiene la cadena de búsqueda que recupera los videos, algo como esto:
q=tags:fish,birds
También puede recuperar una única lista de reproducción por su id
:
https://cms.api.brightcove.com/v1/accounts/account_id/playlists/playlist_id
Si necesita recuperar los objetos de video completos para una lista de reproducción (para mostrar información sobre los videos en una página), simplemente agregue /videos
a esa URL:
https://cms.api.brightcove.com/v1/accounts/account_id/playlists/playlist_id/videos
Tenga en cuenta que para una lista de reproducción inteligente, la solicitud devolverá los videos que coinciden con los criterios de búsqueda actualmente, pero eso puede cambiar.
Creando jugadores
Los reproductores de Brightcove se pueden crear a través del Player Management API . La API le permite crear reproductores, actualizar sus propiedades y obtener el código de inserción en forma de URL, una iframe
etiqueta, o un bloque de HTML para incrustar en la página.
Puede tener hasta 200 jugadores por cuenta, pero generalmente es menos confuso para los usuarios tener tan pocos jugadores como sea absolutamente necesario. Debe tener reproductores separados para reproducir videos individuales o listas de reproducción, pero de lo contrario, solo necesitará reproductores diferentes cuando tengan un estilo diferente o se les agregue una funcionalidad diferente a través de complementos.
Para crear un reproductor, simplemente haga un POST solicitud a la Player Management API:
https://players.api.brightcove.com/v2/accounts/account_id/players
En el cuerpo de la solicitud, incluya el configuración del jugador - lo único que se requiere es un name
:
{
"name": "Single video player for blog posts"
}
La respuesta le dará la identificación del jugador, así como el código de inserción en varias formas:
{
"embed_code": "<iframe src='//players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>",
"embed_in_page": "https://players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/in_page.embed",
"id": "de055fa4-4f09-45af-8531-419c6794ad04",
"preview_embed_code": "<iframe src='//preview-players.brightcove.net/v1/accounts/57838016001/players/de055fa4-4f09-45af-8531-419c6794ad04/preview/embeds/default/master/index.html' allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>",
"preview_url": "https://preview-players.brightcove.net/v1/accounts/57838016001/players/de055fa4-4f09-45af-8531-419c6794ad04/preview/embeds/default/master/index.html",
"url": "https://players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html"
}
Para obtener la configuración completa del reproductor, realice una solicitud al /players
endpoint, pero agregue la ID del jugador que se devuelve en la respuesta anterior:
https://players.api.brightcove.com/v2/accounts/account_id/players/de055fa4-4f09-45af-8531-419c6794ad04
Puedes hacer un PATCH solicitud al mismo punto final para actualizar la configuración del reproductor.
Notarás en la respuesta anterior, la preview_embed_code
y preview_url
. Para permitir la prueba de nuevos jugadores o actualizaciones de jugadores, los reproductores recién creados o actualizados se configuran en modo de vista previa para permitirle verlos antes de enviar los cambios a los reproductores existentes. Para impulsar los cambios a la producción, necesita publicar el jugador con esta solicitud:
https://players.api.brightcove.com/v2/accounts/account_id/players/de055fa4-4f09-45af-8531-419c6794ad04/publish
Personalización de jugadores
La Jugador de Brightcove está construido con tecnologías web estándar: HTML, CSS y JavaScript. Puede personalizar el reproductor utilizando esas mismas tecnologías. Esto se puede hacer en la página donde está publicado el reproductor, pero la mejor práctica es agregar sus personalizaciones al reproductor a través del reproductor. configuración , actualizando el reproductor a través de un PATCH solicitud a la Player Management API como se explica en la sección anterior.
También puede agregar funciones y características adicionales al reproductor a través de JavaScript complementos , y hay una extensa API del reproductor para ayudarlo a integrar su código con el reproductor. Brightcove ofrece una serie de complementos listos para usar para cosas como habilitar publicidad, personalizar la pantalla final y agregar superposiciones.
Publicación de vídeos
En el Sección de creación de jugadores arriba vimos que cuando obtienes el objeto de configuración del reproductor usando el Player Management API , los datos devueltos incluyen una etiqueta iframe para incrustar el reproductor en una página HTML y también una URL para el HTML completo si desea incrustar el reproductor directamente en una página.
Para cualquier incrustación que elija, deberá agregar un Video Cloud identificación de video o identificación de lista de reproducción al código de inserción para agregar contenido al reproductor. El código de inserción de iframe se ve así:
<iframe
src='//players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html'
allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>
A la URL del reproductor, debe agregar el parámetro videoId={}video_id
para que el código de inserción completo se vea así:
<iframe
src='//players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html?videoId=4483119716001'
allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe>
Si se trata de un reproductor de listas de reproducción, utilice el parámetro playlistId={playlist_id}
en lugar de. La modificación del código de inserción en la página es similar.
A menos que las dimensiones del reproductor estén fijas en la configuración del reproductor, también necesitará dimensionar el reproductor agregando ancho y alto en un style
atributo:
<iframe
src='//players.brightcove.net/57838016001/de055fa4-4f09-45af-8531-419c6794ad04_default/index.html?videoId=4483119716001'
allowfullscreen webkitallowfullscreen mozallowfullscreen
style=width:640px;height:360px;></iframe>
Obtener informes de análisis
La Analytics API le permite generar informes analíticos de diferentes dimensions
. Ver el Guías de dimensiones para más información.
Puede especificar el intervalo de fechas para el informe, las métricas que se devolverán y puede obtener los datos en JSON , csv , o xlxs formato
Para períodos dentro del último mes, también puede generar información detallada Informes de participación que muestran reproducciones por cada centésima parte del video.
Resumen de API
A continuación, se muestra un resumen de las API útiles para la integración con Video Cloud.
- OAuth API
- Se utiliza para crear credenciales de cliente y tokens de acceso para acceder a las otras API.
- Administración de medios
-
- Ingest Profiles API
- Se utiliza para crear perfiles de ingesta personalizados que especifican las representaciones que se crearán para los videos agregados a Video Cloud
- Dynamic Ingest API
- Se utiliza para agregar videos y recursos multimedia relacionados a Video Cloud
- CMS API
- Se utiliza para crear objetos de video para la ingestión y para administrar videos y listas de reproducción.
- Jugadores de Brightcove
-
- El jugador de Brightcove
- El jugador incluye un JavaScript API para interactuar con el jugador en tiempo de ejecución
- Player Management API
- Se utiliza para crear y configurar reproductores y para obtener el código de inserción del jugador.
- Analytics API
- Se utiliza para obtener informes analíticos sobre el rendimiento del video.