Introducción
La publicación rápida le permite usar CAE y aún así obtener videos en línea lo más rápido posible mediante la creación de una o más representaciones temporales que se pueden reproducir de inmediato. Entonces se aplican las siguientes condiciones:
- Tan pronto como estén disponibles las representaciones dinámicas, se utilizarán en lugar de las representaciones temporales para la reproducción.
- En algún momento, después de que se hayan procesado todas las representaciones dinámicas, las representaciones temporales se eliminarán automáticamente.
Requisitos
Para utilizar la publicación rápida, debe:
- Tener una cuenta habilitada para Entrega dinámica
- Tener la cuenta habilitada para CAE
- Cree un perfil de ingesta CAE personalizado utilizando el API de perfiles de ingesta (instrucciones debajo)
Perfil personalizado para publicación rápida
Crear un perfil personalizado habilitado para una publicación rápida es sencillo. Parece un perfil CAE normal, con una diferencia: además de un renditions
matriz, el dynamic_origin
el objeto contendrá un temporary_renditions
matriz que contiene una o más representaciones de publicación rápida.
Las representaciones de publicación rápida se especifican por nombre y deber provienen de la lista a continuación (el número que sigue video o audio es la tasa de bits de destino para la interpretación). Puede incluir representaciones de solo audio además de representaciones de video si lo desea.
Dado que el objetivo de la publicación rápida es hacer que una interpretación esté disponible para su reproducción lo más rápido posible, probablemente tenga sentido utilizar una tasa de bits de rango bajo a medio para al menos una de las interpretaciones temporales.
Pasos para crear un perfil personalizado
Estos son los pasos para crear un perfil de publicación rápida personalizado con una interpretación temporal. En los pasos a continuación, usaremos el multi-platform-standard-dynamic
perfil estándar como base para el perfil personalizado, pero puede utilizar cualquiera de los CAE perfiles.
Obtenga las credenciales de cliente para la API de perfiles de ingesta
- Inicie sesión en Studio y vaya al Sección de autenticación de API en Admin (debe ser un administrador o tener un administrador en la cuenta para hacer esto)
- Hacer clic Registrar nueva aplicación para crear un nuevo conjunto de credenciales de cliente.
- Seleccione las cuentas adecuadas y por lo menos estos permisos para las credenciales:
- Salva el Identificación del cliente y Secreto del cliente ya que los necesitará para pasos posteriores.
Crea el JSON para el perfil personalizado
- Copie el JSON a continuación (para el multiplataforma-estándar-dinámica perfil) en un editor de texto:
{ "name": "multi-platform-standard-dynamic", "display_name": "Multiplatform Standard (CAE)", "description": "Deliver a wide range of content types across a variety of platforms on mobile and desktop.", "account_id": YOUR_ACCOUNT_ID, "digital_master": { "rendition": "passthrough", "distribute": false }, "renditions": [], "packages": [], "dynamic_origin": { "renditions": [ "default/audio64", "default/audio128", "default/audio96" ], "images": [ { "label": "thumbnail", "height": 90, "width": 160 }, { "label": "poster", "height": 720, "width": 1280 } ], "dynamic_profile_options": { "min_renditions": 2, "max_renditions": 6, "min_resolution": { "width": 320, "height": 180 }, "max_resolution": { "width": 1280, "height": 720 }, "max_frame_rate": 30, "max_bitrate": 2400, "max_first_rendition_bitrate": 250, "keyframe_rate": 0.5, "select_baseline_profile_configuration": true } } }
- Cambie los siguientes valores:
name
: "multiplataforma-estándar-dinámico-rápido-publicar"display_name
: "Estándar de publicación rápida (CAE)"account_id
: "YOUR_ACCOUNT_ID"
- Después de la
dynamic_origin>renditions
matriz, agregue la siguiente matriz:"temporary_renditions": [ {"name": "default/video450"}, {"name": "default/video700"}, {"name": "default/video900"} ]
- El JSON completo para su perfil personalizado ahora debería verse así:
{ "name": "multi-platform-standard-dynamic-fast-publish", "display_name": "Fast Publish Standard (CAE)", "description": "Deliver a wide range of content types across a variety of platforms on mobile and desktop.", "account_id": "account_id", "digital_master": { "rendition": "passthrough", "distribute": false }, "renditions": [], "packages": [], "dynamic_origin": { "renditions": [ "default/audio64", "default/audio128", "default/audio96" ], "temporary_renditions": [ {"name": "default/video450"}, {"name": "default/video700"}, {"name": "default/video900"} ], "images": [ { "label": "thumbnail", "height": 90, "width": 160 }, { "label": "poster", "height": 720, "width": 1280 } ], "dynamic_profile_options": { "min_renditions": 2, "max_renditions": 6, "min_resolution": { "width": 320, "height": 180 }, "max_resolution": { "width": 1280, "height": 720 }, "max_frame_rate": 30, "max_bitrate": 2400, "max_first_rendition_bitrate": 250, "keyframe_rate": 0.5, "select_baseline_profile_configuration": true } } }
Agregue el perfil personalizado a su cuenta
Ahora usaremos la API de Ingest Profiles para agregar el perfil personalizado a su cuenta.
Obteniendo tokens de acceso
Cada solicitud de API debe autenticarse mediante un token de acceso (verá exactamente cómo en pasos posteriores).
- Necesitaras obtener un token de acceso de:
https://oauth.brightcove.com/v4/access_token
- Si estás usando Insomnio o Cartero , luego puede configurar la autenticación OAuth2 siguiendo las instrucciones en los documentos vinculados para que obtengan los tokens de acceso por usted.
- Si está usando cURL, aquí hay un comando cURL que puede usar para obtener un token de acceso; deberá reemplazar el
ENCODED_AUTHENTICATION_STRING
con una cadena codificada en Base64 que consta de suclient_id:client_secret:
curl --request POST \ --url 'https://oauth.brightcove.com/v4/access_token?grant_type=client_credentials' \ --header 'Authorization: Basic ENCODED_AUTHENTICATION_STRING' \ --header 'Content-Type: application/x-www-form-urlencoded'
- Tenga en cuenta que los tokens de acceso caducan después de 5 minutos; si eso sucede, simplemente obtenga uno nuevo (Insomnia obtendrá uno para usted automáticamente cuando sea necesario).
Agregar el perfil de ingesta personalizado
- Si estás usando Insomnio o Cartero , configure una nueva solicitud POST para:
https://ingestion.api.brightcove.com/v1/accounts/account_id/profiles
El cuerpo de la solicitud será el JSON del perfil personalizado que creó anteriormente.
Incluir un
Content-Type: application/json
encabezamientoConfigure la autenticación OAuth2 de acuerdo con las instrucciones de las guías para usar Insomnia o Postman.
- Si está usando cURL, puede usar la siguiente solicitud, reemplazando el account_id y los valores del token de acceso por los suyos:
curl --request POST \ --url https://ingestion.api.brightcove.com/v1/accounts/57838016001/profiles \ --header 'authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'content-type: application/json' \ --data '{ "name": "multi-platform-standard-dynamic-fast-publish", "display_name": "Fast Publish Standard (CAE)", "description": "Deliver a wide range of content types across a variety of platforms on mobile and desktop.", "account_id": "YOUR_ACCOUNT_ID", "digital_master": { "rendition": "passthrough", "distribute": false }, "renditions": [], "packages": [], "dynamic_origin": { "renditions": [ "default/audio64", "default/audio128", "default/audio96" ], "temporary_renditions": [ {"name": "default/video450"}, {"name": "default/video700"}, {"name": "default/video900"} ], "images": [ { "label": "thumbnail", "height": 90, "width": 160 }, { "label": "poster", "height": 720, "width": 1280 } ], "dynamic_profile_options": { "min_renditions": 2, "max_renditions": 6, "min_resolution": { "width": 320, "height": 180 }, "max_resolution": { "width": 1280, "height": 720 }, "max_frame_rate": 30, "max_bitrate": 2400, "max_first_rendition_bitrate": 250, "keyframe_rate": 0.5, "select_baseline_profile_configuration": true } } }'
- Después de enviar la solicitud, debería ver el eco de su nuevo perfil en la respuesta.
Notificaciones
Cuando se crean representaciones temporales de publicación rápida, recibirá DYNAMIC_RENDITION
"CREAR" notificaciones tal como lo hace con las representaciones habituales:
{
"entity": "contextAwareEncoding5",
"entityType": "DYNAMIC_RENDITION",
"version": "1",
"action": "CREATE",
"jobId": "413a9938-6d73-478c-b4d9-fdeb45927a4b",
"videoId": "5600255921001",
"dynamicRenditionId": "contextAwareEncoding5",
"bitrate": 364,
"width": 512,
"height": 384,
"accountId": "1910141566001",
"status": "SUCCESS"
}
Se enviará una nueva notificación cuando se elimine una copia temporal:
{
"entity": "fastpublishRendition1",
"entityType": "DYNAMIC_RENDITION",
"version": "1",
"action": "DELETE",
"jobId": "413a9938-6d73-478c-b4d9-fdeb45927a4b",
"videoId": "5600255921001",
"dynamicRenditionId": "fastpublishRendition1",
"accountId": "1910141566001",
"status": "SUCCESS"
}