Publication rapide de CAE

Context Aware Encoding (CAE) donne des rendus exceptionnels, mais l'analyse de la vidéo source ajoute du temps au traitement. Si la mise en ligne de nouvelles vidéos le plus rapidement possible est une priorité pour vous, l'option de publication rapide décrite dans ce document vous permet de publier des vidéos rapidement tout en profitant de la CAE.

Introduction

La publication rapide vous permet d'utiliser CAE et continuez à mettre des vidéos en ligne le plus rapidement possible en créant un ou plusieurs rendus temporaires qui peuvent être lus immédiatement. Les conditions suivantes s'appliquent alors :

  • Dès que les rendus dynamiques seront disponibles, ils seront utilisés plutôt que les rendus temporaires pour la lecture
  • À un moment donné, une fois tous les rendus dynamiques traités, le ou les rendus temporaires seront automatiquement supprimés

Exigences

Pour utiliser la publication rapide, vous devez :

  1. Avoir un compte activé pour Livraison dynamique
  2. Avoir le compte activé pour CAE
  3. Créez un profil d'ingestion CAE personnalisé à l'aide du Ingérer l'API des profils (instructions au dessous de)

Profil personnalisé pour une publication rapide

La création d'un profil personnalisé activé pour une publication rapide est simple. Il ressemble à un profil CAE classique, à une différence près : en plus d'un renditions tableau, l' dynamic_origin objet contiendra un temporary_renditions tableau contenant un ou plusieurs rendus de publication rapide.

Les rendus de publication rapide sont spécifiés par nom et doit proviennent de la liste ci-dessous (le numéro suivant vidéo ou audio est le débit cible pour le rendu). Vous pouvez inclure des rendus audio uniquement en plus des rendus vidéo si vous le souhaitez.

Étant donné que le but de la publication rapide est de rendre un rendu disponible pour la lecture le plus rapidement possible, il est probablement logique d'utiliser un débit binaire faible à moyen pour au moins un des rendus temporaires.

Étapes pour créer un profil personnalisé

Voici les étapes pour créer un profil de publication rapide personnalisé avec un rendu temporaire. Dans les étapes ci-dessous, nous utiliserons le multi-platform-standard-dynamic profil standard comme base du profil personnalisé, mais vous pouvez utiliser l'un des CAE profils.

Obtenir les informations d'identification du client pour l'API Ingest Profiles

  1. Connectez-vous à Studio et accédez au Section Authentification API sous Admin (vous devez être un administrateur ou obtenir un administrateur sur le compte pour le faire)
  2. Cliquez sur Enregistrer une nouvelle demande pour créer un nouvel ensemble d'informations d'identification client.
  3. Sélectionnez le (s) compte (s) approprié (s) et au moins les autorisations suivantes pour les informations d'identification :
    Autorisations des profils d'ingestion
    Autorisations des profils d'ingestion
  4. Sauver la identité du client et Secret du client car vous en aurez besoin pour les étapes ultérieures.

Créer le JSON pour le profil personnalisé

  1. Copiez le JSON ci-dessous (pour le multi-plateforme-standard-dynamique profile) dans un éditeur de texte :
    {
      "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. Modifiez les valeurs suivantes :
    • name: « publication rapide dynamique et multiplateforme standard »
    • :display_name "Norme de publication rapide (CAE)"
    • :account_id "YOUR_ACCOUNT_ID"
  3. Après le dynamic_origin>renditions tableau, ajoutez le tableau suivant :
    "temporary_renditions": [
      {"name": "default/video450"},
      {"name": "default/video700"},
      {"name": "default/video900"}
    ]
  4. Le JSON complet de votre profil personnalisé devrait maintenant ressembler à ceci :
    {
      "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
        }
      }
    }

Ajouter le profil personnalisé à votre compte

Nous allons maintenant utiliser l'API Ingest Profiles pour ajouter le profil personnalisé à votre compte.

Obtenir des jetons d'accès

Chaque demande d'API doit être authentifiée à l'aide d'un jeton d'accès (vous verrez exactement comment dans les étapes ultérieures).

  1. Vous devrez obtenir un jeton d'accès auprès de :
        https://oauth.brightcove.com/v4/access_token
  2. Si vous utilisez Insomnia ou Postman, vous pouvez configurer l'authentification OAuth2 en suivant les instructions figurant dans les documents liés pour qu'ils puissent récupérer les jetons d'accès pour vous.
  3. Si vous utilisez cURL, voici une commande cURL que vous pouvez utiliser pour obtenir un jeton d'accès. Vous devrez le ENCODED_AUTHENTICATION_STRING remplacer par une chaîne codée en Base64 composée de votre 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. Notez que les jetons d'accès expirent au bout de 5 minutes. Dans ce cas, il vous suffit d'en obtenir un nouveau (Insomnia vous en obtiendra un automatiquement en cas de besoin).
Ajouter le profil d'ingestion personnalisé
  1. Si vous utilisez Insomnia ou Postman, configurez une nouvelle requête POST pour :
        https://ingestion.api.brightcove.com/v1/accounts/account_id/profiles

    Le corps de la demande sera le JSON du profil personnalisé que vous avez créé précédemment.

    Inclure un Content-Type: application/json entête

    Configurez l'authentification OAuth2 conformément aux instructions des guides d'utilisation d'Insomnia ou de Postman.

  2. Si vous utilisez cURL, vous pouvez utiliser la requête suivante, en remplaçant les valeurs account_id et access token par les vôtres :
        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. Après avoir envoyé la demande, vous devriez voir votre nouveau profil vous être renvoyé dans la réponse.

Notifications

Lorsque des rendus temporaires à publication rapide sont créés, vous recevrez DYNAMIC_RENDITION Notifications « CRÉER » comme vous le faites pour les rendus normaux :

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

Une nouvelle notification sera envoyée lorsqu'un rendu temporaire a été supprimé :

    {
      "entity": "fastpublishRendition1",
      "entityType": "DYNAMIC_RENDITION",
      "version": "1",
      "action": "DELETE",
      "jobId": "413a9938-6d73-478c-b4d9-fdeb45927a4b",
      "videoId": "5600255921001",
      "dynamicRenditionId": "fastpublishRendition1",
      "accountId": "1910141566001",
      "status": "SUCCESS"
    }