assistance Contacter le support | Étatétat du système du système
Contenu de la page

    Publier rapide 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 en ligne le plus rapidement possible est une priorité élevée pour vous, l'option de publication rapide décrite dans ce document vous permet de publier des vidéos rapidement tout en profitant de CAE.

    Introduction

    La publication rapide vous permet d'utiliser CAE et de toujours obtenir 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 formats associés dynamiques sont disponibles, ils seront utilisés plutôt que les formats associés temporaires pour la lecture
    • À un moment donné après le traitement de tous les formats associés dynamiques, le ou les formats associés temporaires seront automatiquement supprimés

    Exigences

    Pour utiliser la publication rapide, vous devez :

    1. Avoir un compte activé pour la livraison dynamique
    2. Avoir le compte activé pour CAE
    3. Créer un profil d'ingest CAE personnalisé à l'aide de l' API Ingest Profiles (instructions ci-dessous)

    Profil personnalisé pour une publication rapide

    La création d'un profil personnalisé activé pour la publication rapide est simple. Il ressemble à un profil CAE régulier, avec une différence : en plus d'un renditions tableau, l' dynamic_origin objet contiendra un temporary_renditions tableau contenant une ou plusieurs publications rapides formats associés.

    Les formats associés de publication rapide sont spécifiés par leur nom et doivent provenir de la liste ci-dessous (le nombre suivant la vidéo ou l'audio est le débit cible pour le rendu). Vous pouvez inclure des formats associés audio uniquement en plus des rendus vidéo si vous le souhaitez.

    Comme 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 de faible à milieu de gamme pour au moins un des rendus temporaires.

    Étapes de création d'un profil personnalisé

    Voici les étapes de création d'un profil de publication rapide personnalisé avec un format associé temporaire. Dans les étapes ci-dessous, nous utiliserons le profil multi-platform-standard-dynamic standard comme base pour le profil personnalisé, mais vous pouvez utiliser n'importe lequel des profils CAE.

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

    1. Connectez-vous à Studio et accédez à la section Authentification API sous Admin (vous devez être administrateur ou obtenir un administrateur sur le compte pour le faire)
    2. Cliquez sur Enregistrer une nouvelle application 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. Enregistrez l' ID client et le secret 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 profil multi-plates-forme-standard-dynamique ) 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: « multi-plates-forme-standard-dynamic-fast-publication »
      • display_name: « Standard de publication rapide (CAE) »
      • account_id: « VOTRE_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 pour 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

    Maintenant, nous allons 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 à partir de :
          https://oauth.brightcove.com/v4/access_token
    2. Si vous utilisez Insomnia ou Postman , vous pouvez configurer l'authentification OAuth2 en utilisant les instructions contenues dans les documents liés pour qu'ils récupèrent 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 remplacer le par ENCODED_AUTHENTICATION_STRING 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 après 5 minutes - si cela se produit, il suffit d'en obtenir un nouveau (l'insomnie en obtiendra un pour vous automatiquement quand c'est nécessaire).
    Ajouter le profil d'ingest 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 requête sera le JSON pour le profil personnalisé que vous avez créé précédemment.

      Inclure un Content-Type: application/json en-tête

      Configurez l'authentification OAuth2 selon les instructions des guides d'utilisation d'Insomnia ou Postman.

    2. Si vous utilisez cURL, vous pouvez utiliser la requête suivante, en remplaçant les valeurs account_id et les jetons d'accès 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 écho dans la réponse.

    Notifications

    Lorsque des formats associés temporaires de publication rapide sont créés, vous recevrez des notifications DYNAMIC_RENDITION « CREATE » comme vous le faites pour les formats associés réguliers :

        {
          "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 format associé 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"
        }