Introducción
El uso compartido de medios es una función de Video Cloud que permite a los editores compartir videos con otros editores, lo que le permite administrar videos más fácilmente en varias cuentas. Por ejemplo, los editores pueden mantener una cuenta principal de contenido de video y luego compartir videos con otras divisiones o subsidiarias de la organización.
Tenga en cuenta que todas las operaciones de uso compartido de medios también se pueden realizar en Studio. Ver Administrar la configuración de uso compartido de medios.
Medios compartidos y facturación
Para obtener información sobre cómo funciona la facturación para medios compartidos, consulte Uso compartido de medios mediante el módulo de medios.
Terminología
En el intercambio de medios, existe una relación entre una cuenta maestra (que comparte videos) y una o más cuentas de afiliados (que reciben videos compartidos) involucradas:
Cuenta | Descripción |
---|---|
Maestría | La cuenta que creó el video original.
El Maestro es propietario del contenido y es responsable de configurar, administrar y proporcionar contenido a los afiliados. |
Afiliado | La cuenta que recibe el video.
El Afiliado puede aceptar contenido compartido de un Máster. |
Canal | Un canal a través del cual se comparte contenido de un Master a cualquier número de Afiliados. Cuando el uso compartido de medios está habilitado default El canal se creará en su cuenta. |
Relación | Describe la interacción entre un Máster y un Afiliado.
Una relación se compone de un Maestro para compartir contenido, un Canal a través del cual se comparte contenido, un Contrato para aceptar contenido y un Afiliado para recibir contenido. |
Contrato | Describe la relación de intercambio entre un Master y un Afiliado.
El maestro crea un contrato y luego debe aceptarse para que se habilite el uso compartido. El Afiliado también puede especificar si los videos compartidos se aceptan automáticamente o deben aprobarse uno por uno. |
URL base
Como para todos CMS API solicitudes, la URL base para las operaciones que se describen a continuación es:
https://cms.api.brightcove.com/v1
Todos los puntos finales que se describen a continuación se agregarán a la URL base cuando realice solicitudes.
Autenticación
La autenticación para solicitudes requiere un encabezado de autorización:
Authorization: Bearer {access_token}
access_token
Es un token de acceso temporal de OAuth2 que debe obtenerse del servicio OAuth de Brightcove. Para obtener detalles sobre cómo obtener credenciales de cliente y usarlas para recuperar tokens de acceso, consulte la Descripción general de Brightcove OAuth.
Tenga en cuenta que todas las operaciones alrededor relaciones nuevos permisos requeridos:
video-cloud/video/all
video-cloud/sharing-relationships/read
video-cloud/sharing-relationships/create
video-cloud/sharing-relationships/update
video-cloud/sharing-relationships/delete
Alternativamente, puede usar:
video-cloud/sharing-relationships/all
En la página de administración de autenticación de la API de Studio, se muestran dos permisos:
- Compartir lectura (equivalente a
video-cloud/sharing-relationships/read
) - Compartir lectura / escritura (equivalente a
video-cloud/sharing-relationships/all
)
Restricciones para compartir
De forma predeterminada, todos los videos se pueden compartir. Sin embargo, puede evitar compartir si:
- La cuenta de afiliado no tiene un campo personalizado para el cual se establece un valor en el video en la cuenta maestra.
- La cuenta maestra tiene habilitado el filtrado geográfico, pero la cuenta de afiliado no
Coincidencia de campos personalizados
Puede aplicar la coincidencia de campos personalizados para un canal, lo que significa que los videos compartidos fallarán si el video tiene valores para campos personalizados que no están presentes en la cuenta de afiliado. Los videos se seguirán compartiendo correctamente si el video no tiene valores para ningún campo personalizado que no coincida.
De forma predeterminada, la coincidencia de campos personalizados es no en vigor.
Si un video compartido falla debido a campos personalizados que no coinciden, verá un error como este en la respuesta:
{
"video_id": "5691312273001",
"affiliate_id": "47509719001",
"affiliate_video_id": null,
"status": "PROCESSING",
"error_message": [{"error_code":"MISSING_CUSTOM_FIELDS","error_message":"Affiliate account is missing custom fields: [subject]"}],
"shared_at": "2018-01-03T16:29:19.080Z",
"updated_at": "2018-01-03T16:29:19.080Z"
}
Coincidencia de filtrado geográfico
Si la coincidencia de filtrado geográfico está habilitada para un canal, los videos no se pueden compartir si la cuenta principal tiene habilitado el filtrado geográfico y la cuenta de afiliado no.
De forma predeterminada, la coincidencia de filtrado geográfico es en vigor.
El error se verá así:
{
"video_id": "5691312273001",
"affiliate_id": "47509719001",
"affiliate_video_id": null,
"status": "PROCESSING",
"error_message": [{"error_code":"CONFLICT","error_message":"Affiliate account is not configured for geo restriction."}],
"shared_at": "2018-01-03T16:29:19.080Z",
"updated_at": "2018-01-03T16:29:19.080Z"
Ver Actualizar canal a continuación para ver cómo se actualiza un canal para aplicar campos personalizados y / o coincidencias de filtrado geográfico.
¿Qué se comparte?
Esta sección explica qué se comparte y cómo se manejan los cambios posteriores en el video.
Cuando se comparte el video
La mayoría de los campos de metadatos de video se copian del Master a la cuenta de Afiliado cuando se comparte el video. Las excepciones notables son:
id
- el video tendrá su propia identificación única en la cuenta de afiliado- campos de fecha como
created_at
yupdated_at
Todos los activos de video (representaciones, imágenes, text_tracks, etc.) son utilizados por las cuentas de afiliados para su reproducción.
Después de que se comparta el video
Una vez que se ha compartido el video, algunos cambios en el video en la cuenta maestra son heredados automáticamente por las cuentas de afiliados, y otros no.
Activos de video
A excepción de las imágenes , Los cambios maestros a los activos de video son siempre heredado por los afiliados. Afiliados no puede cambiar activos como interpretaciones, manifiestos, pistas de texto o el maestro digital.
Los cambios en las imágenes por parte del Maestro son heredados por el Afiliado a menos que el Afiliado haya reemplazado la (s) imagen (s). Una vez que un Afiliado cambia una imagen, esa imagen ya no se heredará del Maestro.
Metadatos de video
El Afiliado puede modificar los metadatos del video (como el nombre, la descripción y la identificación de referencia), y los cambios realizados en el video maestro son no heredado por el Afiliado.
Compartiendo videos
Tenga en cuenta, sin embargo, que si el Maestro re-comparte el video (esto solo se puede hacer a través de la API de CMS, no en Studio), todos los activos y metadatos (aparte de los campos de datos / tiempo) se compartirán con los Afiliados, sobrescribir cualquier cambio que los afiliados hayan realizado.
Descripción general de los pasos para compartir medios
Establecer una relación
A continuación se muestra un resumen de las operaciones para establecer una relación (haga clic en el nombre de la operación para obtener más detalles):
Operaciones maestras | ||
---|---|---|
Operación | Método / criterio de valoración | Descripción |
Lista de canales | GET /accounts/ master_account_id/channels |
Obtenga una lista de canales para la cuenta |
Obtener detalles del canal | GET /accounts/ master_account_id/channels/ channel_name [2-1] |
Obtener detalles de un canal |
Actualizar canal | POST /accounts/ master_account_id/channels/ channel_name |
Actualizar la configuración de los canales |
Lista de afiliados del canal | GET /accounts/ master_account_id/channels/default/members |
Obtenga los afiliados para un canal |
Agregar afiliados | PUT /accounts/ master_account_id/channels/default/members |
Agregar afiliados a un canal |
Eliminar afiliado | DELETE /accounts/ master_account_id/channels/default/members/ affiliate_account_id |
Elimina un afiliado de un canal |
Operaciones afiliadas | ||
Operación | Método / criterio de valoración | Descripción |
Lista de contratos disponibles | GET /accounts/ affiliate_account_id/contracts |
Obtiene todos los contratos disponibles para la cuenta |
Obtenga un contrato para una cuenta específica | GET /accounts/ affiliate_account_id/contracts/ master_account_id |
Obtiene un contrato, si lo hay, de una cuenta específica |
Aprobar un contrato | PATCH /accounts/ affiliate_account_id/contracts/ master_account_id |
Aceptar y configurar las condiciones de aceptación del contrato |
Notas
- [2-1] Actualmente solo hay un canal llamado
default
Compartir vídeos
Las operaciones para compartir videos las realiza la cuenta maestra. La cuenta de Afiliado puede aceptar la participación (si auto_accept
se establece en false
) y puede actualizar metadatos e imágenes de video compartidos usando el estándar Actualizar vídeo operación.
Estas son las operaciones de uso compartido que se pueden realizar una vez que se establece una relación (haga clic en el nombre de una operación para obtener más detalles):
Operaciones maestras | ||
---|---|---|
Operación | Método / criterio de valoración | Descripción |
Listar recursos compartidos existentes | GET /accounts/ master_account_id/videos/ video_id/shares |
Obtenga una lista de recursos compartidos existentes para un video: esto es importante por las consecuencias de volver a compartir un video cuando ya se ha compartido |
Compartir un video | POST /accounts/ master_account_id/videos/ video_id/shares |
Comparta un video con uno o más afiliados; tenga en cuenta que si el video ya se ha compartido, esta operación volver a compartirlo - eso es probablemente no que quieres hacer |
Dejar de compartir un video para un afiliado | DELETE /accounts/ master_account_id/videos/ video_id/shares |
Dejar de compartir un video para un Afiliado específico: tenga en cuenta que si no se comparte y se vuelve a compartir, el video compartido tendrá una nueva identificación de video en la cuenta de Afiliado |
Operaciones afiliadas | ||
Operación | Método / criterio de valoración | Descripción |
Aceptar un video compartido | PATCH /accounts/ affiliate_account_id/videos/ video_id |
Acepta un video compartido (si auto_accept esta apagado) |
Nota: para identificar los videos compartidos que esperan ser aceptados, busque videos que tengan state:pending
:
https://cms.api.brightcove.com/v1/accounts/{account_id}/videos?q=state:pending
o
https://cms.api.brightcove.com/v1/accounts/{account_id}/videos?query=state:PENDING
Solicitudes de API de CMS: configuración
Esta sección enumera los CMS API operaciones involucradas en la configuración del uso compartido de medios.
Operaciones maestras
Lista de canales
Método | GET |
---|---|
Punto final | /accounts/ master_account_id/channels |
Cuerpo de la solicitud | |
Respuesta de muestra |
|
Obtener detalles del canal
Método | GET |
---|---|
Punto final | https://cms.api.brightcove.com/v1/accounts/ master_account_id/channels/ channel_name [5-1] |
Cuerpo de la solicitud | |
Respuesta de muestra |
|
Notas
- [5-1] Actualmente solo hay un canal llamado
default
Actualizar canal
Método | PATCH |
---|---|
Punto final | /accounts/ master_account_id/channels/ channel_name [6-1] |
Cuerpo de la solicitud |
|
Respuesta de muestra |
|
Notas
- [6-1] Actualmente solo hay un canal llamado
default
Lista de afiliados para el canal
Método | GET |
---|---|
Punto final | /accounts/ master_account_id/channels/default/members |
Cuerpo de la solicitud | |
Respuesta de muestra |
|
El valor de la approved
El campo indica si el Afiliado ha aprobado el contrato.
Agregar afiliado al canal
Método | PUT |
---|---|
Punto final | /accounts/ master_account_id/channels/default/members/ affiliate_account_id |
Cuerpo de la solicitud |
|
Respuesta de muestra |
|
Eliminar afiliado del canal
Método | DELETE |
---|---|
Punto final | /accounts/ master_account_id/channels/default/members/ affiliate_account_id |
Cuerpo de la solicitud | |
Respuesta de muestra | 204 NO CONTENT (cuerpo de respuesta vacío) |
Operaciones afiliadas
Lista de contratos disponibles
Método | GET |
---|---|
Punto final | /accounts/ affiliate_account_id/contracts |
Cuerpo de la solicitud | |
Respuesta de muestra |
|
Los dos campos esenciales de la respuesta son:
approved
- cuando se establece en verdadero, el afiliado acepta el contratoauto-accept
- cuando se establece en verdadero, los videos compartidos a través de este contrato serán automáticamente aceptados por el Afiliado; de lo contrario, deben ser aprobados uno por uno
Veremos cómo actualizar el contrato a continuación.
Obtenga un contrato para una cuenta específica
Método | GET |
---|---|
Punto final | /accounts/ affiliate_account_id/contracts/ master_account_id |
Cuerpo de la solicitud | |
Respuesta de muestra |
|
Aprobar contrato
Método | PATCH |
---|---|
Punto final | /accounts/ affiliate_account_id/contracts/ master_account_id |
Cuerpo de la solicitud |
|
Respuesta de muestra |
|
Si incluyes solo "approved":true
, cada video tendrá que ser aprobado individualmente.
Solicitudes de API de CMS: compartir
Esta sección detalla el CMS API solicitudes utilizadas para compartir videos. Las operaciones de uso compartido de medios las realiza la cuenta principal. La cuenta de afiliado puede aceptar acciones si auto_accept
esta apagado.
Operaciones maestras
Listar recursos compartidos existentes
Para saber si un video ya se ha compartido con otras cuentas, puede utilizar la solicitud a continuación.
Método | GET |
---|---|
Punto final | /accounts/ master_account_id/videos/ video_id/shares |
Cuerpo de la solicitud | |
Respuesta de muestra |
|
Compartir (o volver a compartir) un video
La solicitud que se describe a continuación compartirá un video con una o más cuentas de afiliados.
Método | POST |
---|---|
Punto final | /accounts/ master_account_id/videos/ video_id/shares |
Cuerpo de la solicitud |
|
Respuesta de muestra |
Respuesta de éxito
Respuesta de falla
|
Compartir creará un nuevo video en la cuenta del afiliado. La state
del video compartido será PROCESSING
hasta que se complete la acción y el video se crea en la cuenta de afiliado. Es posible que el afiliado deba aceptar el video (si auto_accept
se establece en false
en el contrato del Afiliado; consulte la sección anterior sobre cómo configurar el uso compartido).
Dejar de compartir un video para un afiliado
Método | DELETE |
---|---|
Punto final | /accounts/ master_account_id/videos/ video_id/shares/ affiliate_account_id |
Cuerpo de la solicitud | |
Respuesta de muestra | 202 ACCEPTED (cuerpo de respuesta vacío): la respuesta indica que la solicitud ha sido aceptada para su procesamiento, pero es posible que la operación no se complete hasta dentro de un par de minutos. |
Operaciones afiliadas
Aceptar video compartido
Para aceptar un video compartido, el Afiliado actualiza el video compartido, configurando su state
a ACTIVE
. (Configurando el state
a INACTIVE
rechaza la acción.)
Método | PATCH |
---|---|
Punto final | /accounts/ affiliate_account_id/videos/ affiliate_video_id |
Cuerpo de la solicitud |
|
Respuesta de muestra |
|
Selecciona el state
a INACTIVE
rechazar la acción.
Tenga en cuenta que no hay ninguna notificación especial que indique que se ha compartido un video en su cuenta. Sin embargo, si usted buscar videos para state:pending
, que encontrará las acciones no aceptadas. Alternativamente, puede usar la lista de recursos compartidos pendientes en el módulo de Studio Media para ver y aceptar / rechazar los recursos compartidos pendientes:
Errores
Los errores de uso compartido de medios no se devuelven como una respuesta de error separada a la solicitud de la API, sino en una error_message
campo en la respuesta normal:
[
{
"video_id" : "1239817239128",
"affiliate_id" : "32871239",
"affiliate_video_id" : "30308254055202",
"status" : "COMPLETE",
"shared_at" : "2017-12-11T17:57:45.530Z",
"updated_at" : "2017-12-11T18:03:32.789Z",
"error_message" : "[{"error_code":"MISSING_CUSTOM_FIELDS","error_message":"Affiliate account is missing custom fields: [whisky]"}]"
}
]
Ver la CMS API Referencia de error para más detalles.
Limitaciones
Actualmente, el uso compartido de medios tiene las siguientes limitaciones:
- DRM: uso compartido de medios a través del CMS API actualmente no es compatible con cuentas habilitadas para DRM. Se admite compartir videos de una cuenta que no está habilitada para DRM a una cuenta que sí está habilitada para DRM, pero los videos compartidos no ser empaquetado para DRM.
-
Si el canal definido por la cuenta maestra se ha establecido
enforce_custom_fields
atrue
y luego comparte un video que tiene un campo personalizado con un valor que no está permitido por la cuenta de afiliado, ese intento de compartir fallará. El estado del recurso compartido se actualizará con un mensaje de error similar a este:[{"error_code": "ILLEGAL_CUSTOM_FIELD_VALUE", "error_message": "Illegal value for custom fields: [topic]"}]
Si el canal definido por la cuenta maestra se ha establecido
enforce_custom_fields
afalse
y luego comparte un video que tiene un campo personalizado con un valor que no está permitido por la cuenta de afiliado, entonces el intento de compartir funcionará, pero el campo con el valor incorrecto no se incluirá en la copia de afiliado del video. -
Al reproducir un video compartido con SSAI, el reemplazo de macro SSAI usará los metadatos del video principal en lugar del video secundario. SSAI también omitirá la búsqueda de anuncios si el vídeo principal está marcado como
Advertising='Free'
, incluso si el vídeo secundario está etiquetado comoAd Supported
.