Support Kontaktieren Sie Support | Systemstatus Systemstatus
Inhalt der Seite

    Übersicht: Dynamic Ingest-API

    In diesem Thema erfahren Sie, wie Sie das verwenden Dynamic Ingest API Videos aufnehmen, damit sie über Dynamic Delivery bereitgestellt werden können. Beachten Sie, dass dieser Leitfaden für die meisten Video Cloud-Konten gilt, die sich auf dem Dynamic Delivery Ingest-System befinden. Personen mit älteren Konten, die sich noch im Legacy-Ingest-System befinden, sollten sich an wenden Dynamic Ingest API Vermächtnis stattdessen.

    Einführung

    Brightcove's Dynamic Ingest API basiert auf Funktionen, bei denen Videoquelldateien vom Speicherort des Kunden heruntergeladen und bestimmte Wiedergaben der Quelldateien erstellt werden. (Es gibt auch eine Option zum Hochladen Ihrer Quelldateien an einen temporären Speicherort, an dem Dynamic Ingest-Zugriff darauf haben kann.) Die Plattform ist Cloud-zentrisch, global verteilt und basiert auf modernen Praktiken, um erstklassige Konsistenz und Geschwindigkeit zu erzielen.

    Siehe auch die API-Referenz.

    Überblick über Workflow

    Eine Reihe von Systemen/Technologien wird bei der gesamten Transkodierung und Speicherung von Medien verwendet. Diese lauten:

    • CMS API:: Erstellt ein Video-Objekt zur Verwendung in der DI-API
    • Zencoder: Transkodiert das Video und erstellt mehrere Wiedergaben
    • Amazon S3: Verschiebt den Master und die Formatvarianten basierend auf den Profileinstellungen in den Speicher
    • katalog: Speichert die mit dem Video verbundenen erforderlichen Informationen

    Nach der anfänglichen Transkodierung haben Sie die folgenden Aktionen, die Sie auf den Medien ausführen können:

    Betrieb

    Wenn Sie die DI-API verwenden, führen Sie verschiedene Vorgänge durch, z. B. das Lesen eines Aufgaufprofils und das Schreiben von Ingest-Informationen in Ihr Konto. Im Folgenden finden Sie eine vollständige Liste der Vorgänge, die für DI-Aufgaben erforderlich sind:

      • video-cloud/video/create
      • video-cloud/video/read
      • video-cloud/video/update
      • video-cloud/ingest-profiles/profile/read
      • video-cloud/ingest-profiles/account/read
      • video-cloud/ingest-profiles/account/write
      • video-cloud/ingest-profiles/profile/write
      • video-cloud/upload-urls/read

    Um Client-Anmeldeinformationen zu erhalten, verwenden Sie die Studio-Admin-Tools oder sehen Sie sich eines der folgenden Dokumente an

    Best-Practices

    Sehen Dynamische Aufnahme-API: Empfohlene Vorgehensweise.

    Gültige Quellstandorte

    Pull-basierte Einnahme

    Dynamic Ingest kann Quellvideodateien aus folgenden Quellen abrufen: HTTP / HTTPS, S3 und FTP - mit oder ohne Authentifizierung

    Beispiele:

    • http://example.com/path/to/input.avi
    • https://dl.dropboxusercontent.com/u/3641457/Bird_Titmouse.mp4
    • s3: //my-bucket/video.mp4
    • ftp: //server/file.mp4

    Hinweise zu S3

    Wenn sich Ihre Videos in einem geschützten S3-Bucket befinden, finden Sie unter Verwenden von Dynamic Ingest-Einnahmen mit S3 weitere Informationen zum Einrichten von Berechtigungen für den Zugriff auf Ihre Dateien.

    Hinweise zu FTP

    Wenn sich Ihre Videos auf einem geschützten FTP-Server befinden, verwenden Sie die Standardmethode zum Übergeben des Benutzernamens und des Kennworts an die URL wie folgt:

        ftp://username:password@server/file.mp4

    Hochladen der Quelldatei

    Sie können Ihre Dateien auch an einen sicheren, temporären Speicherort hochladen, von dem Dynamic Ingest sie abrufen kann. Einzelheiten finden Sie unter Hochladen der Quelldatei.

    Besondere Charaktere

    Wenn Sie eine URL für Video Cloud zum Abrufen Ihrer Videos bereitstellen und Anmeldeinformationen als Teil der URL senden , du brauchst Prozent-Codierung bestimmte reservierte Sonderzeichen:

    Spezielle Charaktere
    Zeichen Prozentkodiert
    ] %5B
    [ %5D
    ? %3F
    / %2F
    < %3C
    ~ %7E
    # %23
    ` %6T
    ! %21
    @ %40
    $ %24
    % %25
    ^ %5E
    und %26
    * %2A
    ( %28
    ) %29
    + %2B
    = %3T
    } %7D
    | %7C
    : %3A
    %22
    ; %3B
    ' %27
    , %2C
    > %3E
    { %7B
    Platz %20

    Beispiel:

        
            /* unencoded */
            ftp://user@example.com:pass!word@example.com/path/to/input.mp3
    
            /* encoded */
            ftp://user%40example.com:pass%21word@example.com/path/to/input.mp3
          

    Namen von Quelldateien

    Alle Eingangs-URLs müssen ordnungsgemäß gemäß RFC 3986 codiert sein, wenn sie an Brightcove gesendet werden. Dies bedeutet, dass alle im Pfad der URL gefundenen reservierten Zeichen in Prozent codiert sind (Leerzeichen, in die codiert werden %20 und alle in der Abfrage der URL gefundenen reservierten Zeichen in Prozent codiert sind (Leerzeichen, die in + oder %20 , und + wird in codiert %2B).

    Ein vorsigniertes S3 (v2 enthält Signature , Expires und awsAccessKeyId und v4 enthält X-Amz-Algorithmus, X-Amz-Credential, X-Amz-Date, X-Amz-Expires, x-amz-SignedHeaders und X-Amz-Signature) oder GCS(enthält Signature, Expires und GoogleAccessId) url sollte bereits ordnungsgemäß codiert sein und kann unversehrt verwendet werden.

    Beispiel Assets

    Brightcove Learning Services bietet einige Beispiel-Assets, mit denen Sie bei den ersten Schritten mit Dynamic Ingest experimentieren können. Zu diesen Assets gehören kurze Videos, Bilder und WebVTT-Untertitel in mehreren Sprachen:

    Ingest-Profil

    Zum Erstellen von Dynamic Delivery-Videos sind spezielle Aufnahmeprofile erforderlich. Sie werden ein paar finden Standard-Aufnahmeprofile in Ihrem Konto, wenn Dynamic Delivery aktiviert ist, und diese werden empfohlen.

    Sie können Ihren Aufnahmeprofilen auch ein benutzerdefiniertes Dynamic Delivery-Profil im Abschnitt "Admin" von Studio hinzufügen - siehe Erstellen von Aufnahmeprofilen für die dynamische Zustellung für Details.

    Beispiel für ein dynamisches Übermittlungsprofil

    Unten finden Sie ein Beispiel für ein Dynamic Delivery-Profil, mit dem Sie loslegen können. Alles was Sie tun müssen, ist zu ersetzen YOUR_ACCOUNT_ID mit Ihrer Konto-ID, und dann können Sie das Profil kopieren und in den Aufnahme-Profil-Editor einfügen.

        {
          "name": "DynamicDeliveryIngestProfile",
          "description": "Dynamic Delivery ingest profile.",
          "account_id": "YOUR_ACCOUNT_ID",
          "digital_master": {
            "rendition": "passthrough",
            "distribute": false
          },
          "dynamic_origin": {
            "renditions": [
              "default/audio64",
              "default/audio96",
              "default/audio128",
              "default/video450",
              "default/video700",
              "default/video900",
              "default/video1200",
              "default/video1700",
              "default/video2000"
            ],
            "images": [
              {
                "label": "poster",
                "height": 720,
                "width": 1280
              },
              {
                "label": "thumbnail",
                "height": 90,
                "width": 160
              }
            ]
          }
        }
        

    Einzelheiten zu dynamischen Standardlieferprofilen und -wiedergaben finden Sie unter Standard-Aufnahmeprofile für die dynamische Zustellung

    Aufnahme von Videos

    Für die Aufnahme von Videos sind zwei API-Anforderungen erforderlich:

    1. Rufen Sie den CMS API auf, um ein Video-Objekt im Video Cloud-System zu erstellen und seine ID zu erhalten
    2. Ruf den Dynamic Ingest API um die URL für die Videoquelldatei bereitzustellen und bei Bedarf andere Dateien und Einstellungen für die Aufnahme anzugeben

    Ein Beispielsatz von grundlegenden Anfragen würde wie folgt aussehen:

    CMS-API-Anfrage

    HTTP-Methode
    POST
    Anfrage-URL
    https://cms.api.brightcove.com/v1/accounts/{account_id}/videos
    Anfrage Body
        {
        "name": "My First Dynamic Delivery Video"
        }
        
        

    Die Antwortdaten enthalten das Video id , das bei der nächsten Anfrage verwendet wird.

    Erstelle API Anfrage

    HTTP-Methode
    POST
    Anfrage-URL
    https://ingest.api.brightcove.com/v1/accounts/{account_id}/videos/{video_id}/ingest-requests
    Anfrage Body
        {
          "master": {
            "url": "https://host/master.mp4"
          },
          "profile": "DynamicDeliverIngestProfile",
          "callbacks": [
            "https://mydomain.com/di-callbacks.php"
          ]
        }
        

    Hinweise

    • Wenn Sie das nicht einschließen profile In diesem Feld wird das Standardprofil des Kontos verwendet. Wir empfehlen die Verwendung des Kontostandards, es sei denn, Sie müssen unterschiedliche Profile für verschiedene Arten von Videos verwenden. Stellen Sie sicher, dass der Kontostandard auf das Profil festgelegt ist, das Sie (am häufigsten) verwenden möchten.
    • Das callbacks Das Feld ist optional, es wird jedoch dringend empfohlen, es als beste Methode zur Verfolgung des Fortschritts von Aufnahmejobs zu verwenden. Sehen unten Weitere Informationen zu Benachrichtigungen.

    Anzeigen von Wiedergaben

    Sie können die Wiedergaben für Ihr Video anzeigen, indem Sie auf die Seite gehen Medienmodul in Studio.

    Um die vollständigen Eigenschaften der Wiedergaben anzuzeigen, können Sie die verwenden CMS-API-Anforderung unten aufgeführt.

    Um URLs für die Wiedergabe abzurufen, können Sie die verwenden Playback-API-Anfrage unten aufgeführt.

    Ersetzen Sie ein Video

    Um ein Video durch eine neue Version oder eine neue Reihe von Wiedergabeversionen zu ersetzen, ist der Dynamic Ingest API Aufruf genau derselbe wie für die Aufnahme neuer Videos - der einzige Unterschied besteht darin, dass Sie keinen vorherigen Anruf bei der CMS API um das Video-Objekt im Video Cloud-System zu erstellen und eine ID dafür zu erhalten. Wenn die Quellvideodatei unter der angegebenen URL dieselbe ist, die ursprünglich aufgenommen wurde, erhalten Sie einfach einen neuen Satz von Wiedergabeversionen. Wenn die Quelldatei neu ist, ersetzen Sie das vorhandene Video. Alle Videos bleiben mit vorhandenen Darstellungen abspielbar, bis die Retranscodierung abgeschlossen ist.

    Sehen Sie das Arbeitsbeispiel hier.

    Retranscodieren Sie ein Video

    Wenn Sie möchten Archiviere einen Meister wenn Sie das Video über die aufgenommen haben Dynamic Ingest API oder das Studio-Upload-Modul, dann können Sie das Video auch vom Master erneut transkodieren. Auch hier ist die URL für die Aufgabeanfrage dieselbe, aber der Anfragetext hat Folgendes:

        // request
        POST /v1/accounts/{account_id}/videos/{video_id}/ingest-requests
        // request body
        {
          "master": { "use_archived_master": true },
          "profile": "multi-platform-extended-static"
        }
        
        

    Bildaufnahme

    Anstatt Poster- und Miniaturbilder während der Transcodierung erfassen zu lassen, können Sie der Aufnahmeanforderung eigene Bilder hinzufügen oder sie später in einer separaten Anforderung hinzufügen.

    Muster-Anfrage

        {
          "profile": "multi-platform-extended-static",
          "poster": {
            "url": "https://bcls@solutions.brightcove.com/bcls/assets/images/great-blue-heron-poster.png",
            "width": 1280,
            "height": 720
          },
          "thumbnail": {
            "url": "https://bcls@solutions.brightcove.com/bcls/assets/images/great-blue-heron-thumbnail.png",
            "width": 160,
            "height": 90
          },
          "callbacks": [
            "https://solutions.brightcove.com/bcls/di-api/di-callbacks.php"
          ]
        }
        

    Benachrichtigungen für die Aufnahme von Image-Assets

    Im Folgenden finden Sie Beispiele für Benachrichtigungen, die Sie speziell für Bildaufnahmen erhalten.

        {
            "entity": "thumbnail",
            "entityType": "ASSET",
            "version": "1",
            "action": "CREATE",
            "jobId": "0c2767c1-19ea-479d-b371-a0f5f3d154f5",
            "videoId": "5209530177001",
            "accountId": "57838016001",
            "status": "SUCCESS"
          }
          {
            "entity": "poster",
            "entityType": "ASSET",
            "version": "1",
            "action": "CREATE",
            "jobId": "0c2767c1-19ea-479d-b371-a0f5f3d154f5",
            "videoId": "5209530177001",
            "accountId": "57838016001",
            "status": "SUCCESS"
        }
        
        

    Bildunterschriften aufnehmen

    Untertitel im WebVTT-Format können Ihrem Video bei der ersten Aufnahmeanforderung oder bei einer späteren Anforderung hinzugefügt werden.

    Muster-Anfrage

        {
          "text_tracks": [
            {
              "url": "https://solutions.brightcove.com/bcls/assets/vtt/sample.vtt",
              "srclang": "en",
              "kind": "captions",
              "label": "EN",
              "default": true
            },
            {
              "url": "https://solutions.brightcove.com/bcls/assets/vtt/sample-es.vtt",
              "srclang": "es",
              "kind": "captions",
              "label": "ES",
              "default": false
            }
          ],
          "callbacks": [
            "https://solutions.brightcove.com/bcls/di-api/di-callbacks.php"
          ]
        }
        

    Sidecar-Textspuren werden in CMS- oder Wiedergabeantworten angezeigt, wie dies bei nicht dynamischen Bereitstellungsvideos der Fall ist:

        "text_tracks": [
            {
            "id": null,
            "src": "https://bcbolt446c5271-a.akamaihd.net/media/v1/text/vtt/clear/57838016001/3de8c552-74e8-4c53-aa11-2a4375edf658/bce0d3dc-11d9-4ca4-ae1b-a39cb7b88a1c/text.vtt?akamai_token=exp=1479236791~acl=/media/v1/text/vtt/clear/57838016001/3de8c552-74e8-4c53-aa11-2a4375edf658/bce0d3dc-11d9-4ca4-ae1b-a39cb7b88a1c/text.vtt*~hmac=df5b4ba1ef2549a7572346dd36a761534ffafe4b8cfbdf92d89013ec2f95699c",
            "srclang": "en",
            "label": "EN",
            "kind": "captions",
            "mime_type": "text/webvtt",
            "asset_id": null,
            "sources": [
              {
              "src": "https://bcbolt446c5271-a.akamaihd.net/media/v1/text/vtt/clear/57838016001/3de8c552-74e8-4c53-aa11-2a4375edf658/bce0d3dc-11d9-4ca4-ae1b-a39cb7b88a1c/text.vtt?akamai_token=exp=1479236791~acl=/media/v1/text/vtt/clear/57838016001/3de8c552-74e8-4c53-aa11-2a4375edf658/bce0d3dc-11d9-4ca4-ae1b-a39cb7b88a1c/text.vtt*~hmac=df5b4ba1ef2549a7572346dd36a761534ffafe4b8cfbdf92d89013ec2f95699c"
              }
            ],
            "in_band_metadata_track_dispatch_type": "",
            "default": false
          ]
        }
        

    Textspuren werden auch in HLS- und DASH-Manifesten angezeigt:

    HLS

        #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subtitles-0",NAME="Captions",DEFAULT=NO,AUTOSELECT=YES,LANGUAGE="es",URI="https://manifest.prod.boltdns.net/manifest/v1/hls/v5/clear/57838016001/1bd49b7b-df40-414f-bb05-8840624663e1/de8144f4-b7d7-46ca-848f-dd2f7fa453d7/rendition.m3u8?fastly_token=NTg0ZjA5MWZfMzU1N2VhY2Y2MDA3NzkzYWM0ZjU2ZWQwNWE2NTYzMmI4MzMzMmJkZWM5Y2JmNzQ1MjRjM2QxYjI0NTYzODA5Zg%3D%3D"
        #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subtitles-0",NAME="Captions",DEFAULT=NO,AUTOSELECT=YES,LANGUAGE="en",URI="https://manifest.prod.boltdns.net/manifest/v1/hls/v5/clear/57838016001/1bd49b7b-df40-414f-bb05-8840624663e1/6399fcf2-cd27-4d97-ad30-e443f13563bd/rendition.m3u8?fastly_token=NTg0ZjA5MWZfYWMxYjllNDlkYzVlOTJkZWQ3ODk2YjE3MGI5NDlhYTlkOGQ1YzI5ZmI4ZjRlOWMzMzU5YmM1YzZkNTA4MTFmNQ%3D%3D"
        
        

    STRICH

        <AdaptationSet mimeType="text/vtt" lang="en">
          <Representation bandwidth="256" id="2f4bb3fb-1a7d-4f4c-bf44-00ef0e611131">
          <BaseURL>https://bcbolt446c5271-a.akamaihd.net/media/v1/dash/live/clear/57838016001/785d5ddf-6672-4ece-9191-d105445b2557/2f4bb3fb-1a7d-4f4c-bf44-00ef0e611131.vtt?akamai_token=exp=1484784452~acl=/media/v1/dash/live/clear/57838016001/785d5ddf-6672-4ece-9191-d105445b2557*~hmac=ae568ea5294280968de0a2766afd82922ea9aa83fe23a81b3379a46b8ef13284</BaseURL>
          </Representation>
          </AdaptationSet>
          <AdaptationSet mimeType="text/vtt" lang="hi">
          <Representation bandwidth="256" id="f5875617-40f4-4991-bc5b-7152c6e2a93a">
          <BaseURL>https://bcbolt446c5271-a.akamaihd.net/media/v1/dash/live/clear/57838016001/785d5ddf-6672-4ece-9191-d105445b2557/f5875617-40f4-4991-bc5b-7152c6e2a93a.vtt?akamai_token=exp=1484784452~acl=/media/v1/dash/live/clear/57838016001/785d5ddf-6672-4ece-9191-d105445b2557*~hmac=ae568ea5294280968de0a2766afd82922ea9aa83fe23a81b3379a46b8ef13284</BaseURL>
          </Representation>
        </AdaptationSet>
        
        

    Benachrichtigungen für Textverfolgungsressourcen

    Im Folgenden finden Sie Beispiele für Benachrichtigungen, die für die Aufnahme von Textspuren spezifisch sind.

        {
          "entity": "en-captions-EN",
          "entityType": "ASSET",
          "version": "1",
          "action": "CREATE",
          "jobId": "ed429284-77c9-4905-a700-4c8edb77be3e",
          "videoId": "5209530177001",
          "accountId": "57838016001",
          "status": "SUCCESS"
        }
        {
          "entity": "es-captions-ES",
          "entityType": "ASSET",
          "version": "1",
          "action": "CREATE",
          "jobId": "ed429284-77c9-4905-a700-4c8edb77be3e",
          "videoId": "5209530177001",
          "accountId": "57838016001",
          "status": "SUCCESS"
        }
        
        

    Beispiel-Player mit Textspuren (Englisch und Spanisch)

    Dynamic Delivery Video Player

    Beiwagen-Untertitel in einer iOS-App

    Dynamische Lieferung Beiwagen Beschriftungen
    Dynamische Lieferung Beiwagen Beschriftungen

    Dynamische Wiedergaben abrufen

    Um Informationen über die dynamischen Darstellungen für ein Video abzurufen, senden Sie eine GET-Anfrage an:

        https://cms.api.brightcove.com/v1/accounts/account_id/videos/video_id/assets/dynamic_renditions
        
        

    Sample-Antwort

        [
          {
            "rendition_id": "default/audio128",
            "frame_height": null,
            "frame_width": null,
            "media_type": "audio",
            "size": 506818,
            "created_at": "2016-11-14T15:05:56.209214859Z",
            "updated_at": "2016-11-14T15:05:56.209214859Z",
            "encoding_rate": 125,
            "duration": 31488,
            "audio_configuration": "L_R",
            "language": "en"
          },
          {
            "rendition_id": "default/audio64",
            "frame_height": null,
            "frame_width": null,
            "media_type": "audio",
            "size": 261129,
            "created_at": "2016-11-14T15:05:53.926747456Z",
            "updated_at": "2016-11-14T15:05:53.926747456Z",
            "encoding_rate": 62,
            "duration": 31488,
            "audio_configuration": "L_R",
            "language": "en"
          },
          {
            "rendition_id": "default/audio96",
            "frame_height": null,
            "frame_width": null,
            "media_type": "audio",
            "size": 384568,
            "created_at": "2016-11-14T15:05:59.023381448Z",
            "updated_at": "2016-11-14T15:05:59.023381448Z",
            "encoding_rate": 94,
            "duration": 31488,
            "audio_configuration": "L_R",
            "language": "en"
          },
          {
            "rendition_id": "default/video1200",
            "frame_height": 540,
            "frame_width": 960,
            "media_type": "video",
            "size": 4761241,
            "created_at": "2016-11-14T15:06:10.410020728Z",
            "updated_at": "2016-11-14T15:06:10.410020728Z",
            "encoding_rate": 1206,
            "duration": 31465
          },
          {
            "rendition_id": "default/video1700",
            "frame_height": 540,
            "frame_width": 960,
            "media_type": "video",
            "size": 6712422,
            "created_at": "2016-11-14T15:06:15.593063021Z",
            "updated_at": "2016-11-14T15:06:15.593063021Z",
            "encoding_rate": 1703,
            "duration": 31465
          },
          {
            "rendition_id": "default/video2500",
            "frame_height": 720,
            "frame_width": 1280,
            "media_type": "video",
            "size": 9795721,
            "created_at": "2016-11-14T15:06:12.148783841Z",
            "updated_at": "2016-11-14T15:06:12.148783841Z",
            "encoding_rate": 2486,
            "duration": 31465
          },
          {
            "rendition_id": "default/video4000",
            "frame_height": 1080,
            "frame_width": 1920,
            "media_type": "video",
            "size": 15718943,
            "created_at": "2016-11-14T15:06:15.463012005Z",
            "updated_at": "2016-11-14T15:06:15.463012005Z",
            "encoding_rate": 3992,
            "duration": 31465
          },
          {
            "rendition_id": "default/video450",
            "frame_height": 270,
            "frame_width": 480,
            "media_type": "video",
            "size": 1784858,
            "created_at": "2016-11-14T15:06:20.719400854Z",
            "updated_at": "2016-11-14T15:06:20.719400854Z",
            "encoding_rate": 451,
            "duration": 31465
          },
          {
            "rendition_id": "default/video700",
            "frame_height": 360,
            "frame_width": 640,
            "media_type": "video",
            "size": 2746520,
            "created_at": "2016-11-14T15:06:10.918331816Z",
            "updated_at": "2016-11-14T15:06:10.918331816Z",
            "encoding_rate": 695,
            "duration": 31465
          },
          {
            "rendition_id": "default/video900",
            "frame_height": 360,
            "frame_width": 640,
            "media_type": "video",
            "size": 3561912,
            "created_at": "2016-11-14T15:06:17.295871425Z",
            "updated_at": "2016-11-14T15:06:17.295871425Z",
            "encoding_rate": 902,
            "duration": 31465
          }
        ]
        

    URLs zur Wiedergabe abrufen

    Um Informationen über die dynamischen Darstellungen für ein Video abzurufen, senden Sie eine GET-Anfrage an:

        https://edge.api.brightcove.com/playback/v1/accounts/account_id/videos/video_id
        
        

    Sample-Antwort

        {
          "description": null,
          "poster_sources": [
          {
            "src": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/main/1280x720/24s816ms/match/image.jpg"
          }
          ],
          "tags": [
            "dd-static"
          ],
          "cue_points": [],
          "custom_fields": {},
          "account_id": "57838016001",
          "sources": [
            {
              "ext_x_version": "4",
              "type": "application/x-mpegURL",
              "src": "https://manifest.prod.boltdns.net/manifest/v1/hls/v4/clear/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/10s/master.m3u8?fastly_token=NTk1YmE0ZmZfOGU5Njg0NGU1OWQ3NjI3ZDhmY2FhZTVmNGE0YzI1MWM1NjMyNTZkNzMzZmExMzRkN2ZmYzU0YWU5NzUyZTM2YQ%3D%3D"
            },
            {
              "ext_x_version": "5",
              "type": "application/x-mpegURL",
              "src": "https://manifest.prod.boltdns.net/manifest/v1/hls/v5/clear/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/10s/master.m3u8?fastly_token=NTk1YmE0ZmZfOTBkOThhYmQ5MWM0MmQwYmQwYTM4MGEzMjAzZTgyNDVlMDYzYzNhMzQ1ZWQ3MTMyMzVmM2Q1YjM2N2VlMjM0Yg%3D%3D"
            },
            {
              "type": "application/dash+xml",
              "src": "https://manifest.prod.boltdns.net/manifest/v1/dash/live-baseurl/clear/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/2s/manifest.mpd?fastly_token=NTk1YmE0ZmZfYzQyOWJiOTEzMGJmNGIyMjM1NmMwMzZmNGZkZjlkYjEzMzNmNzFlYmQxODg0Y2YzZDk3ZTljNzVhODg1YzRjMQ%3D%3D",
              "profiles": "urn:mpeg:dash:profile:isoff-live:2011"
            },
            {
              "avg_bitrate": 2129000,
              "width": 1280,
              "src": "https://bcbolt446c5271-a.akamaihd.net/media/v1/pmp4/static/clear/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/high.mp4?akamai_token=exp=1499178239~acl=/media/v1/pmp4/static/clear/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/high.mp4*~hmac=5880698556297bbe2f2f43ac8904c659c61fb9510db1a9bb106037eaea393339",
              "size": 13242064,
              "height": 720,
              "duration": 49690,
              "container": "MP4",
              "codec": "H264"
            },
            {
              "avg_bitrate": 574000,
              "width": 480,
              "src": "https://bcbolt446c5271-a.akamaihd.net/media/v1/pmp4/static/clear/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/mid.mp4?akamai_token=exp=1499178239~acl=/media/v1/pmp4/static/clear/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/mid.mp4*~hmac=75e51439623a41b93d2a234c25683e76d43656f97a9dfb8efe61a5342d5ff2da",
              "size": 3586929,
              "height": 270,
              "duration": 49690,
              "container": "MP4",
              "codec": "H264"
            }
          ],
          "name": "Canada_Geese_Family",
          "reference_id": null,
          "long_description": null,
          "duration": 49633,
          "economics": "AD_SUPPORTED",
          "published_at": "2017-06-05T11:20:52.412Z",
          "text_tracks": [],
          "updated_at": "2017-06-05T12:06:55.121Z",
          "thumbnail": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/main/160x90/24s816ms/match/image.jpg",
          "poster": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/main/1280x720/24s816ms/match/image.jpg",
          "offline_enabled": false,
          "link": null,
          "id": "5459968909001",
          "ad_keys": null,
          "thumbnail_sources": [
            {
              "src": "https://cf-images.us-east-1.prod.boltdns.net/v1/jit/57838016001/853641cb-d66b-4f08-bb02-8489b5fba897/main/160x90/24s816ms/match/image.jpg"
            }
          ],
          "created_at": "2017-06-05T11:20:52.412Z"
        }
        
        

    DRM

    DRM wird unterstützt, funktioniert jedoch anders als bei der normalen Videoaufnahme. Sie machen nicht Die Verpackung muss im Aufnahmeprofil angegeben werden. Stattdessen erfolgt das Verpacken automatisch basierend auf den DRM-Einstellungen für Ihr Konto. Wenden Sie sich an den Brightcove-Support um Standardeinstellungen für die DRM-Verpackung Ihrer Videos festzulegen.

    Weitere Einzelheiten finden Sie unter Inhalte mit DRM aufnehmen.

    Wiedergaben mit Wasserzeichen

    Wiedergaben mit Wasserzeichen sind unterstützt. Wenn Sie einigen oder allen Ihrer Videos Wasserzeichen hinzufügen möchten, wenden Sie sich an den Brightcove-Support.

    Beachten Sie, dass für statische Dynamic Delivery-Profile Wiedergaben mit Wasserzeichen hinzugefügt werden können nicht für CAE-Profile (Context Aware Encoding).

    Aufnahmestatus

    Sie können Informationen zur Verarbeitung Ihrer Dynamic Delivery-Aufnahme erhalten, indem Sie Rückrufe abonnieren und / oder eine Status-API abfragen, um den Status des Jobs abzurufen.

    Rückrufe

    In Ihrer Aufnahmeanforderung können Sie eine oder mehrere Rückruf-URLs angeben, um Benachrichtigungen über die Ergebnisse des Aufnahmevorgangs zu erhalten. Die von Ihnen angegebenen URLs sollten für Apps sein, die POST-Anfragen annehmen können. Benachrichtigungen werden im JSON-Format gesendet.

    Details zum Empfangen und Interpretieren von Benachrichtigungen finden Sie in Benachrichtigungen

    Status-API

    Sie können den aktuellen Status von Ingest-Jobs auch über die Status-API abrufen. Statusmeldungen sind nur für Aufnahmejobs verfügbar, die innerhalb der letzten 7 Tage gesendet wurden.

    Endpunkte

    Alle Statusmeldungen für ein Video
        https://cms.api.brightcove.com/v1/accounts/:account_id/videos/:video_id/ingest_jobs
        
        
    Beispiel
        https://cms.api.brightcove.com/v1/accounts/57838016001/videos/5128433746001/ingest_jobs
        
        
    Statusmeldung für einen bestimmten Job
        https://cms.api.brightcove.com/v1/accounts/:account_id/videos/:video_id/ingest_jobs/:job_id
        
        
    Beispiel

    Antworten

    Unten finden Sie eine Beispielantwort für einen Job, der gerade verarbeitet wird.

        {
        "id": "7a196557-56ba-4218-ada5-e107ed554555",
        "state": "processing",
        "account_id": "57838016001",
        "video_id": "5128433746001",
        "error_code": null,
        "error_message": null,
        "updated_at": "2016-09-16T16:51:46.313Z",
        "started_at": "2016-09-16T16:51:22.258Z"
        }
        
        

    Die wichtigsten Punkte hier sind:

    • state : den Status des Jobs ( processing | publishing | finished | failed - Wenn dieser Auftrag abgeschlossen ist und das Video wiedergegeben werden kann, wird die state wird sein finished )
    • error_code und error_message : für einen erfolgreichen Job werden diese sein null ;; Bei fehlgeschlagenen Jobs erhalten Sie einen Fehlercode und eine Erläuterung

    Hier ist ein Beispiel für eine Statusmeldung für einen fehlgeschlagenen Job zum Vergleich:

        {
        "id": "bc9dfb58-d502-43d5-97e4-41f3dcd44265",
        "state": "failed",
        "account_id": "57838016001",
        "video_id": "5128710227001",
        "error_code": "NoMediaError",
        "error_message": "Audio-only output was requested on a file that only contains video.",
        "updated_at": "2016-09-16T20:30:58.016Z",
        "started_at": "2016-09-16T20:29:14.139Z"
        }
        
        

    Kontextbezogenes Codieren

    Context Aware Encoding (CAE) ist eine von Brightcove entwickelte Technologie zur Analyse des Quellvideos während der Transcodierung und zur Erzeugung eines optimalen Satzes von Wiedergaben und Bitraten basierend auf der Komplexität des Videos und einer Reihe von bereitgestellten Begrenzungsparametern (minimale Anzahl von Wiedergaben, maximale Bitrate) , usw.).

    Informationen zur Verwendung von CAE-Profilen finden Sie unter Kontextbewusste Codierung.

    Mehrere Audiospuren

    Für Dynamic Delivery eingerichtete Konten können aktiviert werden, um mehrere Audiospuren für Videos zuzulassen.

    Die Möglichkeit, mehrere Audiospuren mit einem einzelnen Titel zu verknüpfen, kann in einigen wichtigen Szenarien nützlich sein:

    • Wiedergeben des gleichen Videos in verschiedenen Sprachen für eine größere Reichweite weltweit 
    • Bereitstellen von Audio mit Beschreibungen für visuell herausgeforderte

    Einzelheiten zur Verwendung dieser Funktion finden Sie unter Mehrere Audiospuren.

    Beispielcode.

    Learning Services bietet mehrere Beispiel-Apps, die eine Weboberfläche bereitstellen und senden Dynamic Ingest API Anfragen über einen PHP-Proxy. Zeigen Sie die Beispiel-Apps an.

    Darüber hinaus enthalten die folgenden GitHub-Repositorys Beispielcode in Java, Python und C #. Beachten Sie, dass dieser Beispielcode lautet nicht unterstützt von Brightcove:

    Einschränkungen

    • Bei segmentierten Videotypen (HLS und DASH) behandeln einige Player den Fall nicht, dass sich die Audio- und Videostreamlängen um mehr als die Dauer eines Segments unterscheiden. Wenn dies auftritt, versuchen Sie es mit einer kürzeren Segmentlänge.

    Seite zuletzt aktualisiert am 24 Okt. 2020