Support Kontakt Support | Systemstatus Systemstatus
Seiteninhalt

    Implementieren mehrerer Audiospuren

    In diesem Thema wird das Hinzufügen und Verwalten mehrerer Audiotracks für Videos mit Dynamic Ingest und CMS APIs.

    Einführung

    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 Reichweite weltweit
    • Bereitstellung von Audio mit Beschreibungen für Sehbehinderte

    Beachten Sie, dass das Hinzufügen von Audiotracks auch in Studio möglich ist - siehe Hinzufügen von Audiospuren zu Videos mit dem Medienmodul für weitere Informationen kontaktieren.

    Videoformate unterstützt

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

    Probe

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

    Setup

    Das Setup für Dynamic Ingest Anfragen sind die gleichen, ob Sie ein Video, Bilder, Audiospuren aufnehmen, WebVTT Dateien oder alle von diesen:

    URL anfragen
          https://ingest.api.brightcove.com/v1/accounts/{account_id}/videos/{video_id}/ingest-requests
    Beglaubigung
    Für die Authentifizierung ist ein Zugriffstoken erforderlich, das als a übergeben wird Bearer Token in einem Authorization Header:
          Authorization: Bearer {access_token}

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

    Hinweis zu S3

    Wenn Ihre Quelldateien aus einem geschützten S3-Bucket abgerufen werden, müssen Sie eine Bucket-Richtlinie festlegen, die zulässig ist Video Cloud um auf die Dateien zuzugreifen. Sehen Es ist recht schwierig viele Produkte gleichzeitig zu verwenden und auch hintereinander aufzutragen. Die Wirkstoffe können nicht alle gleichzeitig aufgenommen werden und die Haut ist schließlich überfordert. Die Folge könnten Hautrötungen und Unverträglichkeiten sein. Dynamic Ingest mit S3 für weitere Einzelheiten.

    Anmeldeinformationen erhalten

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

    Dies sind die Berechtigungen, die Sie benötigen:

    <span class =Berechtigungen für dynamische Aufnahme "src =" / assets / images / dynamic-ingest / codebeispiele / di-permissions.png "/>
    Dynamic Ingest Berechtigungen

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

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

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

    Automatisierung von Prozessen:

    Es gibt zwei primäre Anwendungsfä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
      Vorhandener Video-Workflow
      Vorhandener Video-Workflow

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

    Audiotrack-Metadaten

    An Audiotracks sind einige Metadatenfelder angehängt - einige davon werden beim Aufnehmen der Tracks festgelegt, andere werden von erstellt Video Cloud. Einige dieser Felder sind schreibgeschützt und andere können von Ihnen aktualisiert werden. Die Metadatenfelder werden im Folgenden im Zusammenhang mit den relevanten API-Anfragen beschrieben, aber zwei besondere erfordern hier einige Erklärungen, da sie entscheidend dafür sind, wie die Brightcove Player wird mit den mehreren Audiospuren umgehen.

    language

    Das language Feld, das für jede Spur während der Aufnahme festgelegt wird, gibt die Sprache für die Spur an. Dies ist wichtig, wenn die Spur ein Dub von gesprochenen Wörtern im Video ist. Der Wert dieses Feldes ist ein aus zwei Buchstaben bestehender Code en or 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 der Videodatei gemuxte
    • alternate - eine alternative Audiospur
    • commentary - eine Audiospur, die Kommentare zur Videospur liefert
    • dub - ein Track, der eine synchronisierte Version von gesprochenen Wörtern in einer anderen Sprache enthält
    • descriptive - Der Track beschreibt den Videoinhalt in irgendeiner Weise

    Kontostandardwerte

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

    Audiotracks aufnehmen

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

    Neues Video mit mehreren Audiospuren

    Erstelle das Videoobjekt (CMS API)

    1. Sie können beim Erstellen des Videoobjekts mehrere Elemente von Video-Metadaten hinzufügen, aber hier fügen Sie einfach das Minimum hinzu: a name für das Video:
            {
                "name": "YOUR_VIDEO_NAME"
            }
    2. Senden Sie den JSON oben (mit dem Platzhaltertext, der durch Ihren Videonamen ersetzt wurde) als den Anfragetext für POST Anfrage zu https://cms.api.brightcove.com/v1/accounts/YOUR_ACCOUNT_ID/videos
    3. Sie werden eine Menge Videometadaten zurück in der Antwort erhalten, 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 Inhalte wie Bilder und Textspuren hinzufügen, aber wir werden es hier einfach halten). Die eine Sache, die Sie vielleicht ein wenig verwirrend finden, ist das audio_tracks erscheint zweimal im JSON für den Anfragetext:

    • An audio_tracks Objekt innerhalb der master Objekt enthält Metadaten für die Audiospur, die in der Videodatei enthalten ist (falls vorhanden - dies wird in Audio auch als Muxed bezeichnet) - dies beinhaltet nur Metadaten, ohne eine URL für die Audiodatei, da die Audiospur bereits enthalten ist die Videodatei
    • Ein Top-Level audio_tracks Objekt, das die zusätzlichen Audiotracks beschreibt, die Sie aufnehmen - diese enthalten eine URL für die Audiodatei sowie weitere Metadaten
    1. Die JSON-Daten, die im Anfragetext gesendet werden sollen, 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 das JSON oben, ersetzen Sie Ihre Platzhalter durch Ihre eigenen URLs und passen Sie die URL 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 zurückgegeben wurde, um das Videoobjekt zu erstellen.

    Fügen Sie Audiotracks zu einem vorhandenen Video hinzu

    Wenn Sie einem vorhandenen Video zusätzliche Audiotracks hinzufügen möchten, ist die Vorgehensweise die gleiche, mit der Ausnahme, dass Sie die Anforderung nicht an das CMS API um das Video zu erstellen, weil es bereits existiert. Und in der Bitte an die Dynamic Ingest API müssen Sie die URL für die Videodatei oder die URL nicht einfügen audio_tracks für master Bereitstellen der Metadaten für das Muxed in Audio. Sie möchten jedoch die Metadaten für das Muxed in Audiospur in das vorhandene Video einfügen. Der JSON für die Aufnahmeanforderung wird also so aussehen:

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

    Audio-Track-Felder für die Aufnahme

    Audio-Track-Felder
    Feld Typ Beschreibung
    master.audio_tracks Objekt[] Metadaten für das Audio muxed
    master.audio_tracks.language Schnur Sprachcode für den Audio-Muxed von den Untertags in http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
    master.audio_tracks.variant Schnur Die Art der Audiospur: main|alternate|dub|commentary|descriptive (main würde in der Regel für die Muxed in Audio verwendet werden)
    audio_tracks Objekt Informationen für die zusätzlichen Audiospuren
    audio_tracks.merge_with_existing Boolean Ob diese Tracks in bestehende Tracks zusammengeführt oder ersetzt werden sollen
    audio_tracks.masters Objekt[] Informationen zu den einzelnen Audiospuren
    audio_tracks.masters.url Schnur URL für die Audio-Track-Datei
    audio_tracks.masters.language Schnur Sprachcode für die Audiospur von den Untertags in http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
    audio_tracks.masters.variant Schnur Die Art der Audiospur: main|alternate|dub|commentary|descriptive (main würde in der Regel für die Muxed in Audio verwendet werden)

    Benachrichtigungen

    Wenn Sie eine oder mehrere angeben callback URLs (wie in der Beispiel-JSON für die Aufnahmeanforderung oben), Video Cloud sendet eine Benachrichtigung für jede aufgenommene Audiospur. Benachrichtigungen werden wie folgt aussehen:

          {
            "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 Audiotracks zu finden, suchen Sie nach dem language und variant Felder in der Benachrichtigung. Das "action": "CREATE" und "status": "SUCCESS" Felder zeigen an, dass der Track erfolgreich aufgenommen wurde.

    Audiospuren verwalten

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

    Erhalten Sie alle Audiotrack-Metadaten für ein Video

    Um die Metadaten für alle mit einem Video verknüpften Audiospuren abzurufen, wählen Sie a GET Anfrage zu:

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

    Die Antwort wird ein Array von Objekten sein, die Metadaten für jede Audiospur enthalten. Einzelheiten 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 in Studio
    Audiospurinformationen in Studio

    Ruft Metadaten für eine Audiospur ab

    Um die Metadaten für eine mit einem Video verknüpfte Audiospur abzurufen, wählen Sie a GET Anfrage zu:

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

    Die Antwort wird ein Objekt sein, das Metadaten für jede Audiospur enthält. Einzelheiten finden Sie in der Tabelle der Antwortfelder unten.

    Aktualisieren von Audiotrack-Metadaten

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

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

    Fügen Sie im Anforderungstext die Felder ein, die Sie ändern möchten. 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 (Accepted) und nicht 204 (No content) lautet, da der Löschprozess asynchron ist und möglicherweise nicht sofort abgeschlossen wird.

    Audio Track Metadatenfelder
    Feld Typ Nur-Lese- Beschreibung
    id Schnur ja Id für die Spur, gebildet als Sprache_variant - Beachten Sie, dass sich die ID ändern kann, wenn diese Werte geändert werden
    language Schnur Nein Sprachcode für die Audiospur von den Untertags in http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
    variant Schnur Nein Die Art der Audiospur: main|alternate|dub|commentary|descriptive (main würde in der Regel für die Muxed in Audio verwendet werden)
    duration Nummer Ja Die Länge der Spur in Millisekunden
    encoding_rates Nummer[] Ja Eine Liste der verfügbaren Codierungen dieses Tracks in bps
    is_default Boolean Nein Wenn true, wird dies als Standardspur für die Wiedergabe verwendet (wobei alle Standardeinstellungen auf Kontoebene überschrieben werden).

    Playback

    Informationen zum Brightcove-Web und zum SDK players mehrere Audiospuren verarbeiten siehe:

    Bekannte Probleme

    Audiomaster werden nicht gespeichert
    • Video Cloud werden nicht Speichern Sie Audio-Master
    • 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 Audiotracks zu einem vorhandenen Video hinzu oben beschriebene Methode
    Nur-Audio-Dateien müssen verwendet werden
    Audiospuren müssen Nur-Audio-Dateien ohne Videospuren sein
    HLSv3, HLS mit Audio und Video im selben Segment
    • Die Wiedergabe-API wird nicht zurückgegeben HLSv3 manifestiert
    • Alle HLS Manifeste beinhalten das De-muxed Video / Audio
    Glattes Streaming
    Smooth Streaming URLs sind nicht verfügbar.
    Social Vertrieb
    Es kann nicht ausgewählt werden, welche Audiospur für die Verteilung verwendet wird. Die in der Videoquelle enthaltene Spur (die im Audio gemuxte Spur) wird immer verwendet.
    Studio
    • Studio zeigt Informationen über Audiospuren an
    • Informationen zum Hinzufügen von Audiotracks mit Studio finden Sie unter Mehrere Audiospuren
    Sortierung von Audiospuren über die eine "Standardspur" hinaus
    • Sie können eine Standard-Audiospur mit auswählen CMS API pro Titel durch Setzen der is_default Feld zu true
    • Es gibt auch einen Account-Standard, der vom Support festgelegt werden kann
    • Dies betrifft nur die "Standard" -Spur in HLS-Manifesten
    • Keine andere Bestellung ist möglich
    Mehr als eine Audiospur von einer einzigen Quelle aufnehmen
    Wir unterstützen eine Audiospur von der Quelle, die in ".master"und eine für jede Quelle unter ".audio_tracks.masters".
    DRM-Schutz für Videos, die nur Audio enthalten
    Sobald eine Videospur hinzugefügt wird, wird der DRM-Schutz aktiviert.
    Endbenutzerfreundliche Etiketten
    Wir unterstützen keine benutzerdefinierten Beschriftungen für Audiospuren. Wenn Sie dies benötigen, müssen Sie die Änderung auf der Clientseite über das vornehmen Player API.
    In einigen Fällen kann das Umschalten von Spuren das verursachen Brightcove Player instabil werden
    • Verfolgen Sie die Umschaltung, bevor alle Audiosegmente heruntergeladen wurden
    • Wenn das Video mit dem Silverlight-Plug-in wiedergegeben wird (in Versionen von IE kleiner als 10 oder einer beliebigen Version von IE in Windows-Versionen kleiner als 8), sind mehrere Audio-Tracks vorhanden nicht in Silverlight unterstützt.
    • Wenn Audio und Video unterschiedliche Dauer haben, wird die player Der Wille kann aufhören, wenn der kürzere ausgeht.
    Video "duration"
    Das Video duration vom Katalog gemeldet /Playback API Ist möglicherweise falsch, wenn die Audiospuren unterschiedliche Dauer haben.

    Seite zuletzt aktualisiert am 10. August 2020