Support Kontaktieren Sie Support | Systemstatus Systemstatus
Inhalt der Seite

    Implementierung mehrerer Audiospuren

    In diesem Thema wird erläutert, wie Sie mithilfe der Dynamic Ingest- und CMS-APIs mehrere Audiotracks für Videos hinzufügen und verwalten.

    Einführung

    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

    Beachten Sie, dass das Hinzufügen von Audiospuren auch in Studio erfolgen kann - siehe Hinzufügen von Audiospuren zu Videos mithilfe des Medienmoduls für mehr Details.

    Videoformate werden unterstützt

    Es werden mehrere Audiospuren unterstützt HLS V4+ und DASH - mit und ohne DRM Schutz.

    Sample

    Unten finden Sie ein einfaches Beispiel für ein Video mit mehreren Audiospuren.

    Setup

    Das Setup für Dynamic Ingest Anforderungen ist die gleiche, ob Sie ein Video, Bilder, Audiospuren aufnehmen, WebVTT Dateien oder alle diese:

    Anfrage-URL
          https://ingest.api.brightcove.com/v1/accounts/{account_id}/videos/{video_id}/ingest-requests
    Authentifizierung
    Die Authentifizierung erfordert ein Zugriffstoken, das als Bearer Token in einem Authorization Header übergeben wird:
          Authorization: Bearer {access_token}

    Um Zugriffstoken zu erhalten, benötigen Sie Client-Anmeldeinformationen (siehe unten). Informationen zum Abrufen eines Zugriffstokens finden Sie unter Zugriffstoken abrufen.

    Hinweis zu S3

    Wenn Ihre Quelldateien aus einem geschützten S3-Bucket abgerufen werden, müssen Sie eine Bucket-Richtlinie festlegen, um dies zuzulassen Video Cloud um auf die Dateien zuzugreifen. Sehen Verwenden von Dynamic Ingest mit S3 für Details.

    Anmeldeinformationen

    Um ein client_id und zu erhalten client_secret , müssen Sie zur OAuth-Benutzeroberfläche gehen und diese App registrieren:

    Dies sind die Berechtigungen, die Sie benötigen:

    Dynamische Ingest-Berechtigungen
    Dynamic Ingest Berechtigungen

    Sie können Ihre Anmeldeinformationen auch über erhalten CURL oder Postman - sehen:

    Wenn Sie Anmeldeinformationen direkt von der API erhalten, benötigen Sie diese Berechtigungen:

          [
            "video-cloud/video/all",
            "video-cloud/ingest-profiles/profile/read",
            "video-cloud/ingest-profiles/account/read",
            "video-cloud/upload-urls/read"
          ]

    Workflow

    Es gibt zwei Hauptanwendungsfälle:

    • Nehmen Sie ein neues Video mit mehreren Audiospuren auf
      Neuer Video-Workflow
      Neuer Video-Workflow
    • Fügen Sie einem vorhandenen Video mehrere Audiospuren hinzu
      Bestehender Videoworkflow
      Bestehender Videoworkflow

    Wir werden uns die Details der API-Anforderungen in einem Abschnitt unten ansehen.

    Audiospur-Metadaten

    Es gibt einige Metadatenfelder, die an Audiospuren angehängt sind. Einige davon werden festgelegt, wenn Sie die Spuren aufnehmen, während andere von erstellt werden Video Cloud. Einige dieser Felder sind schreibgeschützt, andere können von Ihnen aktualisiert werden. Die Metadatenfelder werden im Folgenden im Zusammenhang mit den relevanten API-Anforderungen detailliert beschrieben. Zwei bestimmte Felder müssen jedoch hier erläutert werden, da sie für die Bestimmung des Umgangs des Brightcove-Players mit mehreren Audiospuren von entscheidender Bedeutung sind.

    language

    Das language Das Feld, das für jede Spur während der Aufnahme festgelegt wird, gibt die Sprache für die Spur an. Dies ist wichtig, wenn es sich bei dem Titel um eine Synchronisation gesprochener Wörter im Video handelt. Der Wert dieses Feldes ist ein aus zwei Buchstaben bestehender Code en oder hi. Eine vollständige Liste der Sprachcodes finden Sie in der Subtag Werte in http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry.

    variant

    Das variant Feld beschreibt die Art der Audiospur. Die möglichen Werte mit Standardbedeutungen sind:

    • main- die Hauptspur, normalerweise die in die Videodatei gemixte
    • alternate- eine alternative Audiospur
    • commentary- eine Audiospur, die die Videospur kommentiert
    • dub- Ein Titel, der eine synchronisierte Version gesprochener Wörter in einer anderen Sprache enthält
    • descriptive- Track beschreibt in irgendeiner Weise den Videoinhalt

    Standardeinstellungen des Kontos

    Sie können die Standardeinstellungen für festlegen language und variant um zu bestimmen, welche Audiospur vom Brightcove-Player als Standard behandelt wird (die Standardeinstellung kann auch durch Aktualisieren der Spur-Metadaten überschrieben werden, wie in einem Abschnitt unten gezeigt wird). Um die Standardeinstellungen für Ihr Konto festzulegen, Wenden Sie sich an den Brightcove-Support.

    Audiospuren aufnehmen

    Jetzt werden wir uns die API-Aufrufe ansehen, um Audiospuren für die beiden zuvor beschriebenen Anwendungsfälle aufzunehmen.

    Neues Video mit mehreren Audiospuren

    Erstellen Sie das Videoobjekt (CMS API)

    1. Sie können beim Erstellen des Videoobjekts mehrere Elemente von Videometadaten hinzufügen. Hier fügen wir jedoch nur das Minimum hinzu: a name für das Video:
            {
                "name": "YOUR_VIDEO_NAME"
            }
    2. Senden Sie den obigen JSON (wobei der Platzhaltertext durch Ihren Videonamen ersetzt wird) als Anforderungshauptteil für POST Anfrage zu https://cms.api.brightcove.com/v1/accounts/YOUR_ACCOUNT_ID/videos
    3. Sie erhalten viele Video-Metadaten in der Antwort zurück, aber das wichtige Stück hier ist das id (die Video-ID), die Sie für den nächsten Schritt benötigen.

    Nehmen Sie die Video- und Audiospuren auf

    Als nächstes werden wir die Video- und Audiospuren aufnehmen (wir könnten andere Elemente wie Bilder und Textspuren hinzufügen, aber wir werden es hier einfach halten). Das einzige, was Sie vielleicht etwas verwirrend finden, ist das audio_tracks erscheint zweimal im JSON für den Anforderungshauptteil:

    • Ein audio_tracks Objekt innerhalb der master Das Objekt enthält Metadaten für die in der Videodatei enthaltene Audiospur (falls vorhanden - dies wird auch als Muxed in Audio bezeichnet). Dies umfasst nur Metadaten ohne URL für die Audiodatei, da die Audiospur bereits in enthalten ist die Videodatei
    • Eine Top-Ebene audio_tracks Objekt, das die zusätzlichen Audiospuren beschreibt, die Sie aufnehmen - diese enthalten eine URL für die Audiodatei sowie andere Metadaten
    1. Die im Anforderungshauptteil zu sendenden JSON-Daten lauten wie folgt:
            {
              "master": {
                  "url": "https://learning-services-media.brightcove.com/videos/Great_Blue_Heron.mp4",
                  "audio_tracks": [
                      {
                          "language": "en",
                          "variant": "main"
                      }
                  ]
              },
              "audio_tracks": {
                  "merge_with_existing": true,
                  "masters": [
                      {
                          "url": "http://learning-services-media.brightcove.com/audio/celtic_lullaby.m4a",
                          "language": "en",
                          "variant": "alternate"
                      },
                      {
                          "url": "http://learning-services-media.brightcove.com/audio/audio1.m4a",
                          "language": "en",
                          "variant": "commentary"
                      }
                  ]
              },
                "profile": "BoltIngestProfile",
                "capture-images": true,
                "callbacks": [
                    "http://solutions.brightcove.com/bcls/di-api/di-callbacks.php"
                ]
            }
    2. Senden Sie den obigen JSON, ersetzen Sie die Platzhalter durch Ihre eigenen URLs und passen Sie die an language und variant Werte, in a POST Anfrage zu https://ingest.api.brightcove.com/v1/accounts/ACCOUNT_ID/videos/ID/ingest-requests (das ID Hier ist die Video-ID, die von der Anforderung zum Erstellen des Videoobjekts zurückgegeben wurde.

    Fügen Sie einem vorhandenen Video Audiospuren hinzu

    Um einem vorhandenen Video zusätzliche Audiospuren hinzuzufügen, ist die Vorgehensweise dieselbe, außer dass Sie die Anforderung nicht an das senden müssen CMS API um das Video zu erstellen, da es bereits vorhanden ist. Und in der Anfrage an die Dynamic Ingest API müssen Sie weder die URL für die Videodatei noch die angeben audio_tracks unter master Bereitstellung der Metadaten für die in Audio gemuxten. Sie möchten jedoch die Metadaten für die Mux-In-Audiospur in das vorhandene Video aufnehmen. Der JSON für die Ingest-Anforderung sieht also folgendermaßen aus:

          {
            "audio_tracks": {
                "merge_with_existing": true,
                "masters": [
                    {
                        "url": "http://learning-services-media.brightcove.com/audio/celtic_lullaby.m4a",
                        "language": "en",
                        "variant": "alternate"
                    },
                    {
                        "url": "http://learning-services-media.brightcove.com/audio/audio1.m4a",
                        "language": "en",
                        "variant": "commentary"
                    }
                ]
            },
              "profile": "BoltIngestProfile",
              "capture-images": true,
              "callbacks": [
                  "http://solutions.brightcove.com/bcls/di-api/di-callbacks.php"
              ]
          }

    Audiospurfelder für die Aufnahme

    Audiospurfelder
    Feld Art Beschreibung
    master.audio_tracks Objekt [] Metadaten für die in Audio gemuxten
    master.audio_tracks.language String Sprachcode für das Muxed-In-Audio aus den Subtags in http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
    master.audio_tracks.variant String Die Art der Audiospur: main|alternate|dub|commentary|descriptive(main würde im Allgemeinen für das Muxed in Audio verwendet werden)
    audio_tracks Objekt Informationen zu den zusätzlichen Audiospuren
    audio_tracks.merge_with_existing Boolesch Gibt an, ob diese Tracks in vorhandene eingefügt oder ersetzt werden sollen
    audio_tracks.masters Objekt [] Informationen zu den einzelnen Audiospuren
    audio_tracks.masters.url String URL für die Audio-Track-Datei
    audio_tracks.masters.language String Sprachcode für die Audiospur aus den Subtags in http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
    audio_tracks.masters.variant String Die Art der Audiospur: main|alternate|dub|commentary|descriptive(main würde im Allgemeinen für das Muxed in Audio verwendet werden)

    Benachrichtigungen

    Wenn Sie eine oder mehrere angeben zurückrufen URLs (wie im obigen JSON-Beispiel für die Ingest-Anforderung oben), Video Cloud sendet eine Benachrichtigung für jede der aufgenommenen Audiospuren. Benachrichtigungen sehen folgendermaßen aus:

          {
            "entity": "default/audio128",
            "entityType": "DYNAMIC_RENDITION",
            "version": "1",
            "action": "CREATE",
            "jobId": "0f703adb-0f17-4a35-8395-21c7fcdd2649",
            "videoId": "5298468208001",
            "dynamicRenditionId": "default/audio128",
            "accountId": "1910141565001",
            "status": "SUCCESS",
            "language" : "en",
            "variant" : "alternate"
          }

    Um Benachrichtigungen für Audiospuren zu identifizieren, suchen Sie nach language und variant Felder in der Benachrichtigung. Das "action": "CREATE" und "status": "SUCCESS" Felder zeigen an, dass die Spur erfolgreich aufgenommen wurde.

    Audiospuren verwalten

    Sobald Sie die Audiospuren aufgenommen haben, können Sie sie über das verwalten CMS API.

    Holen Sie sich alle Audio-Track-Metadaten für ein Video

    Erstellen Sie a, um die Metadaten für alle mit einem Video verknüpften Audiospuren abzurufen GET Anfrage zu:

          https://cms.api.brightcove.com/v1/accounts/account_id/videos/video id/audio_tracks

    Die Antwort ist ein Array von Objekten, die Metadaten für jede Audiospur enthalten. Weitere Informationen finden Sie in der Tabelle der Antwortfelder unten.

          [
            {
              "id": "en_alternate",
              "language": "en",
              "variant": "alternate",
              "duration": 86100,
              "encoding_rates": [
                64000,
                96000,
                127000
              ]
            },
            {
              "id": "en_commentary",
              "language": "en",
              "variant": "commentary",
              "duration": 34203,
              "encoding_rates": [
                10000,
                13000,
                15000
              ]
            },
            {
              "id": "en_main",
              "language": "en",
              "variant": "main",
              "duration": 31488,
              "encoding_rates": [
                62000,
                94000,
                125000
              ]
            }
          ]

    Sie können diese Informationen auch in Studio anzeigen, indem Sie das Video im Medienmodul anzeigen:

    Audiospurinformationen im Studio
    Audiospurinformationen im Studio

    Holen Sie sich Metadaten für eine Audiospur

    Erstellen Sie a, um die Metadaten für eine mit einem Video verknüpfte Audiospur abzurufen GET Anfrage zu:

          https://cms.api.brightcove.com/v1/accounts/account_id/videos/video id/audio_tracks/audio_track_id

    Die Antwort ist ein Objekt, das Metadaten für jede Audiospur enthält. Weitere Informationen finden Sie in der Tabelle der Antwortfelder unten.

    Aktualisieren von Audiospur-Metadaten

    Sie können jedes beschreibbare Metadatenfeld für eine Audiospur aktualisieren, indem Sie a erstellen PATCH Anfrage zu:

          https://cms.api.brightcove.com/v1/accounts/account_id/videos/video id/audio_tracks/audio_track_id

    Fügen Sie dem Anforderungshauptteil die Felder hinzu, die Sie ändern möchten - zum Beispiel:

          {
              "language": "es",
              "is_default": true
          }

    Löschen Sie eine Audiospur

    Um eine Audiospur zu löschen, senden Sie eine DELETE-Anfrage an:

          https://cms.api.brightcove.com/v1/accounts/account_id/videos/video id/audio_tracks/audio_track_id

    Beachten Sie, dass der Erfolgsantwortcode möglicherweise 202 (Akzeptiert) und nicht 204 (Kein Inhalt) lautet, da der Löschvorgang asynchron ist und möglicherweise nicht sofort abgeschlossen wird.

    Audiospur-Metadatenfelder
    Feld Art Nur lesen Beschreibung
    id String yes ID für die Spur, gebildet als language_variant - Beachten Sie, dass sich die ID ändern kann, wenn diese Werte geändert werden
    language String Nein Sprachcode für die Audiospur aus den Subtags in http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
    variant String Nein Die Art der Audiospur: main|alternate|dub|commentary|descriptive(main würde im Allgemeinen für das Muxed in Audio verwendet werden)
    duration Number Ja Die Länge der Spur in Millisekunden
    encoding_rates Nummer[] Ja Eine Liste der verfügbaren Codierungen dieser Spur in Bit / s
    is_default Boolesch Nein Wenn true, wird dies als Standardspur für die Wiedergabe verwendet (wobei alle Standardeinstellungen auf Kontoebene überschrieben werden).

    Playback

    Informationen dazu, wie die Brightcove-Web- und SDK-Player mit mehreren Audiospuren umgehen, finden Sie unter:

    Bekannte Probleme

    Audiomaster nicht gespeichert
    • Video Cloud werden nicht Audio-Master speichern
    • Wenn Sie das Video vom Video-Master neu transkodieren, gehen die zusätzlichen Audiospuren verloren und müssen mithilfe von neu hinzugefügt werden Fügen Sie einem vorhandenen Video Audiospuren hinzu oben beschriebenes Verfahren
    Nur-Audiodateien müssen verwendet werden
    Audiospuren müssen Nur-Audiodateien ohne Videospuren sein
    HLSv3, HLS mit Audio und Video im selben Segment
    • Die Wiedergabe-API wird nicht zurückgegeben HLSv3 manifestiert sich
    • Alle HLS Manifeste enthalten de-muxed Video / Audio
    Smooth Streaming
    Smooth-Streaming-URLs sind nicht verfügbar.
    Soziale Verteilung
    Es ist nicht möglich auszuwählen, welche Audiospur für die Verteilung verwendet wird. Der in der Videoquelle enthaltene Titel (der in Audio gemuxte) wird immer verwendet.
    Studio
    • Studio zeigt Informationen zu Audiospuren an
    • Informationen zum Hinzufügen von Audiospuren mit Studio finden Sie unter Mehrere Audiospuren
    Anordnung von Audiospuren außerhalb der einen „Standard“ -Spur
    • Sie können eine Standard-Audiospur mit CMS API pro Titel auswählen, indem Sie das is_default Feld auf true
    • Es gibt auch einen Kontostandardwert, der vom Support festgelegt werden kann
    • Dies wirkt sich nur auf die „Standardspur“ in HLS-Manifesten aus
    • Keine andere Bestellung ist möglich
    Aufnahme von mehr als einer Audiospur aus einer Hand
    Wir unterstützen nur eine Audiospur pro aufgenommener Quelle. Jede Audiospur muss separat aufgenommen werden.
    DRM-Schutz für Videos, die nur Audio enthalten
    Sobald eine Videospur hinzugefügt wird, wird der DRM-Schutz aktiviert.
    Endbenutzer-freundliche Etiketten
    Wir unterstützen keine benutzerdefinierten Labels für Audiospuren. Wenn Sie dies benötigen, müssen Sie die Änderung auf der Clientseite über die Player-API vornehmen.
    In einigen Fällen kann das Wechseln von Tracks dazu führen, dass der Brightcove Player instabil wird
    • Track-Wechsel, bevor alle Audio-Segmente heruntergeladen wurden
    • Wenn das Video mit dem Silverlight-Plugin wiedergegeben wird (in Versionen von IE unter 10 oder einer anderen Version von IE in Versionen von Windows unter 8), werden mehrere Audiospuren in Silverlight nicht unterstützt.
    • Wenn Audio und Video unterschiedlich dauern, stoppt der Player möglicherweise, wenn der kürzere ausläuft.
    Video "duration""
    Das von der Katalog/Playback-API duration gemeldete Video ist möglicherweise falsch, wenn die Audiospuren unterschiedliche Laufzeiten haben.

    Seite zuletzt aktualisiert am 25 Okt. 2020