Support Kontakt Support | Systemstatus Systemstatus
Seiteninhalt

    Überblick: Dynamic Ingest API

    In diesem Thema lernen Sie, wie Sie das Dynamic Ingest API Videos aufnehmen, damit sie de sein könnenliverot durch Dynamic Delivery. Beachten Sie, dass diese Anleitung für die meisten ist Video Cloud Konten, die sich auf dem Dynamic De befindenlivery Ingest-System. 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 werden und bestimmte Wiedergabeversionen der Quelldateien erstellt werden. (Es gibt auch eine Option zu Lade deine Quelldateien hoch zu einem temporären Standort, an dem Dynamic Ingest auf sie zugreifen kann.) Die Plattform ist Cloud-zentriert, global verteilt und basiert auf modernen Verfahren, um bestmögliche Konsistenz und Geschwindigkeit zu gewährleisten.

    Siehe auch die API-Referenz.

    Workflow-Übersicht

    Bei der gesamten Transkodierung und Speicherung von Medien werden eine Reihe von Systemen / Technologien verwendet. Sie sind:

    • CMS API: Erstellt ein Videoobjekt zur Verwendung in der DI-API
    • Zencoder: Transcodiert das Video und erstellt mehrere Wiedergabeversionen
    • Amazon S3: Verschiebt den Master und die Wiedergabe basierend auf den Profileinstellungen in den Speicher
    • Alle Produkte: Speichert erforderliche Informationen zu dem Video

    Nach der ersten Transkodierung haben Sie folgende Aktionen, die Sie auf dem Medium ausführen können:

    Operations

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

      • 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

    Verwenden Sie Studio, um Client-Anmeldeinformationen zu erhalten Admin-Tools oder sehen Sie eines der folgenden Dokumente:

    Best Practices

    [VORLÄUFIGE VOLLAUTOMATISCHE TEXTÜBERSETZUNG - muss noch überarbeitet werden. Wir bitten um Ihr Verständnis.] Für eine detailliertere Anleitung gehen Sie bitte auf: Dynamic Ingest API: Best Practices.

    Gültige Quellspeicherorte

    Pull-basierte Einnahme

    Dynamic Ingest kann Quellvideodateien von 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: //mein-bucket/video.mp4
    • ftp://server/file.mp4

    Hinweise zu S3

    Wenn sich deine Videos in einem geschützten S3-Bucket befinden, siehe Verwenden von Dynamic Ingest mit S3 Weitere Informationen zum Einrichten von Berechtigungen für Dynamic Ingest zum 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 für die URL wie folgt:

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

    Upload der Quelldatei

    Sie können Ihre Dateien auch an einen sicheren, temporären Speicherort hochladen, von dem Dynamic Ingest sie abrufen kann. Für Details, siehe Quelldatei hochladen.

    Spezielle Charaktere

    Wenn Sie eine URL für angeben Video Cloud um Ihre Videos abzurufen, und Sie senden Anmeldeinformationen als Teil der URL, Sie brauchen, um Prozent-Kodierung bestimmte reservierte Sonderzeichen:

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

    Beispielsweise:

        
            /* 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
          

    Quelldateinamen

    Alle Eingabe-URLs müssen ordnungsgemäß entsprechend codiert sein RFC 3986 wenn an Brightcove gesendet. Dies bedeutet, dass keine reservierte Charaktere gefunden im Pfad der URL sind Prozent codiert (Räume, zu denen codiert wird %20), und alle reservierten Zeichen, die in der Abfrage der URL gefunden werden, sind in Prozent kodiert (Räume, zu denen kodiert wird) + or %20, und + codiert werden %2B).

    A vor-signiert S3 (v2 enthält Unterschrift, Läuft ab und AWSAccessKeyId, und v4 enthält X-Amz-Algorithmus, X-Amz-Anmeldeinformation, X-Amz-Datum, X-Amz-läuft ab, X-Amz-signierte Header, und X-Amz-Signatur) oder GCS (enthält Unterschrift, Läuft ab, und GoogleAccessId) url sollte schon richtig codiert sein und kann wie es ist verwendet werden.

    Beispiel-Assets

    Brightcove Learning Services bietet einige Beispielelemente, mit denen Sie experimentieren können, um mit Dynamic Ingest zu beginnen. Diese Elemente umfassen kurze Videos, Bilder und WebVTT-Untertitel in mehreren Sprachen:

    Profil einlesen

    Spezielle Ingest-Profile sind erforderlich, um dynamische Liefervideos zu erstellen. Sie werden ein paar finden Standard-Aufnahmeprofile in Ihrem Konto, wenn die dynamische Zustellung aktiviert ist, und diese werden empfohlen.

    Sie können auch ein benutzerdefiniertes Dynamic Delivery-Profil zu Ihren Aufnahmeprofilen im Admin-Bereich von Studio hinzufügen - siehe Ingest-Profile für dynamische Lieferung erstellen für weitere Einzelheiten.

    Beispiel für ein Dynamic Delivery-Profil

    Im Folgenden finden Sie ein Beispiel für ein Dynamic Delivery-Profil, mit dem Sie beginnen 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 Aufnahmeprofileditor 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
              }
            ]
          }
        }
        

    Details zu den Standard-Dynamic Delivery-Profilen und -Darstellungen finden Sie unter Standard-Ingest-Profile für dynamische Lieferung

    Videos aufnehmen

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

    1. Ruf den CMS API um ein Videoobjekt in der Video Cloud System und erhalte seine ID
    2. Ruf den Dynamic Ingest API Geben Sie die URL für die Videoquelldatei an und geben Sie bei Bedarf weitere Dateien und Einstellungen für die Aufnahme an

    Ein Beispielsatz für grundlegende Anforderungen würde wie folgt aussehen:

    CMS API Anforderung

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

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

    API-Anfrage einlesen

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

    Einschränkungen

    • Wenn Sie das nicht einschließen profile In diesem Feld wird das Standardprofil dieses Kontos verwendet. Wir empfehlen, die Konto-Standardeinstellung zu verwenden, es sei denn, Sie müssen für verschiedene Arten von Videos unterschiedliche Profile verwenden. Stellen Sie sicher, dass der Kontostandard auf das Profil festgelegt ist, das Sie (am häufigsten) verwenden möchten.
    • Der callbacks Das Feld ist optional, aber wir empfehlen dringend, es als den besten Weg zu verwenden, um den Fortschritt von Aufnahme-Aufträgen zu verfolgen. Sehen unten Weitere Informationen zu Benachrichtigungen

    Wiedergabeversionen anzeigen

    Sie können die Wiedergabeversionen für Ihr Video anzeigen, indem Sie auf die Schaltfläche klicken Medienmodul im Studio.

    Um die vollständigen Eigenschaften der Wiedergabeversionen anzuzeigen, können Sie die CMS API Anfrage siehe unten.

    Um URLs für die Wiedergabe abzurufen, können Sie die Playback API Anfrage siehe unten.

    Ersetzen Sie ein Video

    Um ein Video durch eine neue Version oder einen neuen Satz von Wiedergabeversionen zu ersetzen, muss der Dynamic Ingest API Anruf ist genau das gleiche wie es wäre neue Videos aufnehmen - Der einzige Unterschied besteht darin, dass Sie keinen vorherigen Anruf bei der CMS API um das Videoobjekt in der Video Cloud System und bekomme eine ID dafür. 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 den vorhandenen Wiedergabeversionen spielbar, bis die erneute Transkodierung abgeschlossen ist.

    Siehe die Arbeitsprobe hier.

    Video erneut umcodieren

    Wenn Sie gewählt haben Archiviere einen Master wenn du das Video durch die aufgenommen hast Dynamic Ingest API oder das Studio-Upload-Modul, dann können Sie das Video auch vom Master neu übertragen. Auch hier ist die URL für die Ingest-Anfrage gleich, aber der Anfragetext enthält Folgendes:

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

    Bild aufnehmen

    Statt Poster- und Thumbnail-Bilder während der Transkodierung aufzunehmen, können Sie Ihre eigenen Bilder mit der Aufnahmeanforderung aufnehmen oder später in einer separaten Anfrage hinzufügen.

    Beispiel für einen Anfragetext

        {
          "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 Bild-Assets

    Im Folgenden finden Sie Beispiele für die 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"
        }
        
        

    Untertitel aufnehmen

    Untertitel im WebVTT-Format können Ihrem Video mit der ersten Aufnahme oder einer späteren Anfrage hinzugefügt werden.

    Beispiel für einen Anfragetext

        {
          "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-Text-Tracks werden in CMS- oder Playback-Antworten genauso angezeigt wie bei nicht-dynamischen Delivery-Videos:

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

    Text-Tracks 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"
        
        

    DASH

        <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 Text-Track-Assets

    Im Folgenden finden Sie Beispiele für Benachrichtigungen, die sich auf die Aufnahme von Textdateien beziehen.

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

    Beispielplayer mit Textspuren (Englisch und Spanisch)

    Dynamic Delivery Video Player

    Sidecar-Untertitel in einer iOS-App

    Dynamic Delivery Sidecar-Beschriftungen
    Dynamic Delivery Sidecar-Beschriftungen

    Dynamic Delivery Renditionen abrufen

    Wenn Sie Informationen zu den dynamischen Wiedergabeversionen für ein Video abrufen möchten, senden Sie eine GET-Anforderung an Folgendes:

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

    Beispielantwort

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

    Abrufen von URLs für die Wiedergabe

    Wenn Sie Informationen zu den dynamischen Wiedergabeversionen für ein Video abrufen möchten, senden Sie eine GET-Anforderung an Folgendes:

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

    Beispielantwort

        {
          "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 aber anders als beim normalen Video-Ingest. Sie machen müssen die Verpackung im Aufnahmeprofil angeben. Stattdessen basiert die Verpackung automatisch auf den DRM-Einstellungen für Ihr Konto. Wenden Sie sich an den Brightcove-Support Festlegen der Standardeinstellungen für das DRM-Packen Ihrer Videos

    Für weitere Einzelheiten siehe Inhalt mit DRM aufnehmen.

    Mit Wasserzeichen versehene Darstellungen

    Mit Wasserzeichen versehene Darstellungen 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 mit Wasserzeichen versehene Wiedergaben für statische Dynamic Delivery-Profile hinzugefügt werden können für CAE-Profile (Context Aware Encoding).

    Status einlesen

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

    Rückrufe

    In Ihrer Ingest-Anforderung können Sie eine oder mehrere Callback-URLs angeben, um Benachrichtigungen über die Ergebnisse des Ingest-Prozesses zu erhalten. Die von Ihnen angegebenen URLs sollten für Apps gelten, die POST-Anfragen akzeptieren können. Benachrichtigungen werden im JSON-Format gesendet.

    Details zum Empfangen und Dolmetschen von Benachrichtigungen finden Sie in Benachrichtigungen

    Status-API

    Sie können den aktuellen Status von Ingest-Jobs auch mithilfe der Status-API abrufen. Statusmeldungen sind nur für Ingest-Jobs 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

    Im Folgenden 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 : der Status des Jobs ( processing | publishing | finished | failed - Wenn dieser Job abgeschlossen und das Video spielbereit ist, state wird sein finished )
    • error_code und error_message Für einen erfolgreichen Job werden das sein null ; Bei fehlgeschlagenen Jobs erhalten Sie einen Fehlercode und eine erklärende Nachricht

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

    Context Aware Encoding

    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 zum Verwenden von CAE-Profilen finden Sie unter Context Aware Encoding.

    Mehrere Audiospuren

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

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

    • Wiedergabe des gleichen Videos in verschiedenen Sprachen für eine größere globale Reichweite 
    • Bereitstellung von Audio mit Beschreibungen für Sehbehinderte

    Einzelheiten zur Verwendung dieser Funktion finden Sie unter Mehrere Audiospuren.

    Beispielcode

    Lerndienste bieten mehrere Beispiel-Apps, die eine Webschnittstelle bereitstellen und senden Dynamic Ingest API Anfragen über einen PHP-Proxy. Sehen Sie sich die Beispiel-Apps an.

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

    Einschränkungen

    • Für segmentierte Videotypen (HLS und DASH) einige players behandeln nicht den Fall, in dem sich die Audio- und Videostreamlängen um mehr als die Dauer eines Segments unterscheiden. Versuchen Sie in diesem Fall, eine kürzere Segmentlänge zu verwenden.

    Seite zuletzt aktualisiert am 24. Oktober 2020