Publicación rápida CAE

La codificación contextual (CAE) produce excelentes representaciones, pero el análisis del video fuente agrega tiempo al procesamiento. Si obtener nuevos videos en línea lo más rápido posible es una alta prioridad para usted, la opción de publicación rápida descrita en este documento le permite publicar videos rápidamente sin dejar de aprovechar CAE.

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:

  1. Tener una cuenta habilitada para Entrega dinámica
  2. Tener la cuenta habilitada para CAE
  3. 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

  1. 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)
  2. Hacer clic Registrar nueva aplicación para crear un nuevo conjunto de credenciales de cliente.
  3. Seleccione las cuentas adecuadas y por lo menos estos permisos para las credenciales:
    Permisos de perfiles de ingestión
    Permisos de perfiles de ingestión
  4. Salva el Identificación del cliente y Secreto del cliente ya que los necesitará para pasos posteriores.

Crea el JSON para el perfil personalizado

  1. 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
        }
      }
    }
  2. 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"
  3. Después de la dynamic_origin>renditions matriz, agregue la siguiente matriz:
    "temporary_renditions": [
      {"name": "default/video450"},
      {"name": "default/video700"},
      {"name": "default/video900"}
    ]
  4. 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).

  1. Necesitaras obtener un token de acceso de:
        https://oauth.brightcove.com/v4/access_token
  2. 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.
  3. 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 su client_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'
  4. 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
  1. 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 encabezamiento

    Configure la autenticación OAuth2 de acuerdo con las instrucciones de las guías para usar Insomnia o Postman.

  2. 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
            }
          }
        }'
  3. 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"
    }