CAE-Schnellveröffentlichung

Mit Context Aware Encoding (CAE) lassen sich großartige Wiedergaben erzielen, aber die Analyse des Quellvideos erfordert zusätzliche Zeit für die Verarbeitung. Wenn es für Sie eine hohe Priorität hat, neue Videos so schnell wie möglich online zu stellen, können Sie mit der in diesem Dokument beschriebenen Option für die schnelle Veröffentlichung Videos schnell veröffentlichen und gleichzeitig CAE nutzen.

Einleitung

Schnelle Veröffentlichung ermöglicht die Verwendung von CAE und trotzdem Videos so schnell wie möglich online stellen, indem Sie eine oder mehrere temporäre Wiedergaben erstellen, die sofort abgespielt werden können. Es gelten dann folgende Bedingungen:

  • Sobald dynamische Wiedergaben verfügbar sind, werden diese anstelle der temporären Wiedergabe(n) für die Wiedergabe verwendet
  • Irgendwann, nachdem alle dynamischen Wiedergaben verarbeitet wurden, werden die temporären Wiedergaben automatisch gelöscht

Voraussetzungen

Um Fast Publish verwenden zu können, müssen Sie:

  1. Habe ein Konto aktiviert für Dynamische Lieferung
  2. Habe das Konto aktiviert für CAE
  3. Erstellen Sie ein benutzerdefiniertes CAE-Aufnahmeprofil mit dem Ingest Profiles API (Anweisungen unter)

Benutzerdefiniertes Profil für schnelle Veröffentlichung

Das Erstellen eines benutzerdefinierten Profils, das für die schnelle Veröffentlichung aktiviert ist, ist einfach. Es sieht aus wie ein normales CAE-Profil, mit einem Unterschied: zusätzlich zu a renditions Array, das dynamic_origin Objekt enthält a temporary_renditions Array, das eine oder mehrere schnelle Veröffentlichungsversionen enthält.

Die Fast Publish-Formatvarianten sind namentlich angegeben und müssen aus der folgenden Liste stammen (die Zahl hinter Video oder Audio ist die Zielbitrate für die Wiedergabeversion). Wenn Sie möchten, können Sie zusätzlich zu den Videowiedergaben auch reine Audiowiedergaben einschließen.

Da es beim schnellen Veröffentlichen darum geht, eine Wiedergabe so schnell wie möglich für die Wiedergabe bereitzustellen, ist es wahrscheinlich sinnvoll, für mindestens eine der temporären Wiedergaben eine niedrige bis mittlere Bitrate zu verwenden.

Schritte zum Erstellen eines benutzerdefinierten Profils

Hier sind die Schritte zum Erstellen eines benutzerdefinierten Schnellveröffentlichungsprofils mit einer temporären Wiedergabe. In den folgenden Schritten verwenden wir die multi-platform-standard-dynamic Standardprofil als Basis für das benutzerdefinierte Profil, Sie können jedoch jedes der CAE Profile.

Client-Anmeldeinformationen für die Ingest Profiles API abrufen

  1. Melden Sie sich bei Studio an und gehen Sie zum Abschnitt API-Authentifizierung unter Admin (Sie müssen ein Admin sein oder einen Admin für das Konto haben, um dies zu tun)
  2. Klicken Neue Anwendung registrieren um einen neuen Satz von Client-Anmeldeinformationen zu erstellen.
  3. Wählen Sie die entsprechenden Konten und aus mindestens diese Berechtigungen für die Anmeldeinformationen:
    Berechtigungen für Aufnahmeprofile
    Berechtigungen für Aufnahmeprofile
  4. Speichern Sie die Client-ID und das Client-Geheimnis, da Sie sie für spätere Schritte benötigen.

JSON für das benutzerdefinierte Profil erstellen

  1. Kopieren Sie die JSON unten (für die plattformübergreifend-standard-dynamisch Profil) in einen Texteditor:
    {
      "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. Ändern Sie die folgenden Werte:
    • name: "Multi-Plattform-Standard-dynamische-schnelle-Veröffentlichung"
    • :display_name "Schnellveröffentlichungsstandard (CAE)"
    • :account_id "YOUR_ACCOUNT_ID"
  3. Nach dem dynamic_origin>renditions Array, fügen Sie das folgende Array hinzu:
    "temporary_renditions": [
      {"name": "default/video450"},
      {"name": "default/video700"},
      {"name": "default/video900"}
    ]
  4. Die vollständige JSON für Ihr benutzerdefiniertes Profil sollte nun so aussehen:
    {
      "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
        }
      }
    }

Fügen Sie das benutzerdefinierte Profil zu Ihrem Konto hinzu

Jetzt verwenden wir die Ingest Profiles API, um das benutzerdefinierte Profil zu Ihrem Konto hinzuzufügen.

Zugriffstoken erhalten

Jede API-Anfrage muss mit einem Zugriffstoken authentifiziert werden (Sie werden in späteren Schritten genau sehen, wie es geht).

  1. Du wirst brauchen ein Zugriffstoken erhalten von:
        https://oauth.brightcove.com/v4/access_token
  2. Wenn Sie Insomnia oder Postman verwenden, können Sie die OAuth2-Authentifizierung mithilfe der Anweisungen in den verlinkten Dokumenten einrichten, damit sie die Zugriffstoken für Sie abrufen.
  3. Wenn Sie cURL verwenden, können Sie hier einen cURL-Befehl verwenden, um ein Zugriffstoken zu erhalten ENCODED_AUTHENTICATION_STRING mit einem Base64-codierten String bestehend aus Ihrem 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. Beachten Sie, dass Zugriffstoken nach 5 Minuten ablaufen – wenn dies passiert, besorgen Sie sich einfach einen neuen (Insomnia wird automatisch einen für Sie erhalten, wenn er benötigt wird).
Benutzerdefiniertes Aufnahmeprofil hinzufügen
  1. Wenn Sie Insomnia oder Postman verwenden, richten Sie eine neue POST-Anfrage an:
        https://ingestion.api.brightcove.com/v1/accounts/account_id/profiles

    Der Anfragetext ist die JSON für das benutzerdefinierte Profil, das Sie zuvor erstellt haben.

    Einschließen Content-Type: application/json Header

    Richten Sie die OAuth2-Authentifizierung gemäß den Anweisungen in den Anleitungen zur Verwendung von Insomnia oder Postman ein.

  2. Wenn Sie cURL verwenden, können Sie die folgende Anfrage verwenden und die Werte für account_id und Zugriffstoken durch Ihre eigenen Werte ersetzen:
        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. Nachdem Sie die Anfrage gesendet haben, sollte Ihr neues Profil in der Antwort an Sie zurückgesendet werden.

Benachrichtigungen

Wenn temporäre Wiedergabeversionen für die schnelle Veröffentlichung erstellt werden, erhalten Sie DYNAMIC_RENDITION "CREATE"-Benachrichtigungen wie bei den regulären Wiedergaben:

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

Wenn eine temporäre Wiedergabe gelöscht wurde, wird eine neue Benachrichtigung gesendet:

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