Übersicht über die Transcoder API

Diese Seite bietet einen technischen Überblick über die Transcoder API, einschließlich Funktionen, Terminologie und nützliche Konzepte. Die Transcoder API implementiert eine REST und RPC API, mit der Sie Transcodierungsjobs in Google Cloud senden, überwachen und verwalten können. Wenn Sie Jobs mit der Transcoder API senden möchten, müssen Sie zuerst Medien-Assets in Cloud Storage hochladen. Nach der Verarbeitung eines Jobs speichert die Transcoder API die resultierenden Medien wieder in Cloud Storage.

Features

Die Transcoder API unterstützt die folgenden Funktionen:

  • Anzeigen-Keyframes einfügen, damit Videoplayer von Clients Anzeigen einfügen können
  • Miniaturansichten aus einem generierten Sprite Sheet erstellen
  • Jobvorlagen erstellen, um benutzerdefinierte oder komplexe Konfigurationen für Transcodierungsjobs zu speichern und wiederzuverwenden
  • Weitere Informationen zu den Standards MP4 und MPEG-DASH finden Sie auf der Website The Moving Picture Experts Group. Weitere Informationen zum HLS-Standard finden Sie unter HTTP-Livestreaming.

    Unterstützte Ein- und Ausgaben

    In der folgenden Tabelle sind die unterstützten Eingabe- und Ausgabeformate für die Transcoder API aufgeführt.

    Unterstützte Ein- und Ausgabeformate
    Eingaben
    ContainerAVI, GXF, MKV (Matroska), MOV, MPEG2-TS, MP4, MXF (nur OP1A), WMV
    Video-CodecsDNxHD, DV/DVCProHD, DV25, DV50, H.261, H.262, H.263, H.264 (AVC), H.265 (HEVC), MPEG-1, MPEG-2, MPEG-4 Teil 2, ProRes, Theora, VC-1, VP8, VP9, XDCAM
    Audio-CodecsAAC, AC3, AIFF, E-AC3, MP3, Opus, PCM, WAV, WMA, WMA2, Vorbis
    UntertitelSCC, SRT, VTT
    OverlaysJPG
    Ausgaben
    ContainerApple HLS (mit MPEG2-TS, fMP4), MPEG-DASH (mit fMP4), eigenständige MP4
    Video-CodecsH.264 (AVC), H.265 (HEVC), VP9
    Audio-CodecsAAC-HE, AAC-HEv2, AAC-LC, AC3, E-AC3, MP3
    UntertitelCEA-608/708, WebVTT
    ImagesJPG-Kacheln, einzelne Bilder

    Zugriffssteuerung

    Das Zugriffssteuerungsmodell der Transcoder API basiert auf der Identitäts- und Zugriffsverwaltung von Google. Die fein abgestuften Berechtigungen von IAM geben Ihnen die Kontrolle darüber, was mit Mediendaten und wer ausgeführt werden kann.

    Limits

    Die folgende Tabelle enthält die Limits pro Transcodierungsjob.

    Job limits
    Gesamtgröße der Eingabe400 GB
    Gesamtgröße der Ausgabe400 GB
    Maximale Dauer von EditList24 Stunden
    Maximale Anzahl von Videostreams30
    Maximale Anzahl von Audiostreams50
    Maximale Anzahl an Textstreams50
    Maximale Anzahl an Mux-Streams100
    Maximale Anzahl von Manifesten100
    Maximale Anzahl von Sprite Sheets10

    Konzepte und Begriffe

    Dieser Abschnitt enthält ein Glossar mit nützlichen Begriffen zum Arbeiten mit der Transcoder API.

    Werbeunterbrechung

    Eine Werbeunterbrechung ist eine kurze Werbeanzeige, die vor oder während der Medienwiedergabe wiedergegeben wird. Die Transcoder API unterstützt einen Werbeunterbrechungs-Keyframe in der Jobkonfiguration. Die Transcoder API kann keine Anzeigen einfügen oder abspielen oder die Medienwiedergabe der Videoplayer-Clients beenden, die für die Verarbeitung des Keyframes verantwortlich sind.

    Atom

    Ein Atom ist eine grundlegende Datenstruktur, um die Metadaten und den Speicherort eines Videos zu definieren. Ein Video kann eine komplexe verschachtelte Hierarchie verschiedener Atomartypen enthalten, einschließlich Audio, Bearbeitung und Text-Atom.

    Audio-Atom

    Ein Audio-Atom ordnet das Audio eines Elementstreams einer Bearbeitungsliste zu.

    Codec-Typ und -Profil

    Wenn Sie den Codec für einen Videostream auswählen, geben Sie den Codec-Typ an, z. B. H.264, und das Profil, z. B. das Standardprofil high.

    Container

    Ein Container ist ein Wrapper, der die Beziehung zwischen den verschiedenen Komponenten in einem Multiplex-Stream beschreibt, einschließlich Mediendateien und Metadaten. Die Transcoder API unterstützt die Containerformate MP4, MPEG-DASH und HLS.

    Atom bearbeiten

    Mit einem Bearbeitungsatom werden die Start- und Endversätze für die einzelnen Segmente eines Streams definiert, die Sie in einer Bearbeitungsliste kombinieren möchten.

    Liste bearbeiten

    Eine Bearbeitungsliste definiert eine Sequenz von Änderungen als Zeitachse für die resultierende Datei oder das zugehörige Manifest aus einem Transcodierungsjob.

    Elementarstream

    Ein Elementar-Stream ist eine Codierung einer Eingabedatei, z. B. einer Audio-, Video- oder Untertitel-Textspur. Bevor Sie den Stream in verschiedenen Ausgabeformaten zuordnen und freigeben, müssen Sie Elementar-Stream-Pakete packen.

    Entropy-Codierung

    Die Entropy-Codierung ist eine verlustfreie Komprimierung, die von der Transcoder API unterstützt wird. Beim Konfigurieren von Jobs können Sie das Context-Adaptive Variable-Length Coding (CAVLC) oder das Context-Adaptive Binary Arithmetic Coding (CABAC) angeben.

    Job

    Ein Job ist die Basiseinheit zum Verwalten von Arbeiten mit der Transcoder API. Wenn Sie einen Job an die Transcoder API senden, wird er asynchron an einem als Region bekannten geografischen Standort verarbeitet. Sie können alle Jobs für eine Region auflisten und verwalten.

    Der Lebenszyklus eines Jobs umfasst drei Schritte: Vorbereitung, Transcodierung und Paket.

    • Vorbereiten
      • Eingaben aus Cloud Storage herunterladen
      • Eingaben analysieren
      • Eingaben validieren
    • Transcodierung
      • Transcodierungsvorgänge für Eingaben ausführen
    • Paket
      • Eingaben zusammenfügen
      • Multiplex-Eingaben
      • Ausgaben in Cloud Storage hochladen

    Ein Job hat einen aktualisierten Status. Der Dienst meldet Fehler mit dem Feld error.

    Jobkonfiguration

    Eine Jobkonfiguration stellt viele der verschiedenen Einstellungen dar, die Sie beim Erstellen und Senden eines Jobs an die Transcoder API anpassen können. Sie können auch Konfigurationseinstellungen angeben, z. B. Bearbeitungslisten und wo Sie Anzeigen-Tags in ein Ausgabemanifest einfügen möchten. Sie können wiederverwendbare Jobkonfigurationen als Jobvorlagen für die Verwendung in einer Google Cloud-Region erstellen.

    Jobvorlage

    Standardmäßig wendet die Transcoder API eine voreingestellte Vorlage mit dem Namen preset/web-hd zur Bearbeitung einer Jobkonfiguration an. Diese Jobkonfiguration generiert die folgenden Ausgabedateien:

    • manifest.m3u8: Die primäre Playlist für einen HLS-Medienstream. Diese Datei enthält Verweise auf Playlists für die HD-Variante (High Definition) und die Standardauflösung (SD) der Ausgabe.
      • media-hd.m3u8: Playlist für die HD-Variante
        • media-hd0000000000.ts: HD-Videosegmentdatei
      • media-sd.m3u8: Playlist für die Standarddefinitionsvariante
        • media-sd0000000000.ts: Standardsegment-Videosegmentdatei
    • manifest.mpd: Die Playlist für einen MPEG-DASH-Mediastream. Diese Datei enthält Verweise auf Nur-Video- und Nur-Audio-Segmentdateien.
      • audio-only0000000000.m4s: Nur-Audio-Segmentdatei
      • video-only-hd0000000000.m4s: Nur-Video-Segmentdatei mit hoher Auflösung
      • video-only-sd0000000000.m4s: Nur-Video-Segmentdatei mit Standarddefinition
    • sd.mp4: Eigenständige Videodatei in Standardauflösung
    • hd.mp4: Eigenständige HD-Videodatei

    Sie können Ihre eigenen benutzerdefinierten Jobvorlagen erstellen und verwalten und sie beim Erstellen von Jobs angeben.

    Vorverarbeitung

    Die Vorverarbeitung ist die Phase eines Jobs, der vor der primären Transcodierung stattfindet. Beim Konfigurieren der Vorverarbeitungsphase können Sie Filter wie Farbe, Markierung und Blockierung anwenden. Durch das Blockieren können Blockartefakte infolge der Komprimierung verringert werden.

    Vorverarbeitungskonfiguration

    Eine Vorverarbeitungskonfiguration stellt die Einstellungen für Filter dar, die Sie vor der Transcodierung eines Jobs auf ein Video anwenden können. Sie können eine Vielzahl von Filtern anwenden, darunter Farbsättigung, -entfernung und -bereinigung.

    Geschwindigkeitsmodus

    Mit dem Geschwindigkeitsmodus können Sie festlegen, ob ein Job mit dem VTC-Modus (Constant Rate factors, CRF) oder variable Bitrate (VBR) verarbeitet werden soll. CRF garantiert eine konsistente Qualität während der gesamten Medieninhalte. VBR optimiert den Codierungsprozess, um die Dateigröße der verarbeiteten Medien-Assets zu reduzieren. Wählen Sie für Streaming-Anwendungsfälle den VBR-Steuerungsmodus aus. Wählen Sie zum Archivieren den CRF-Steuerungsmodus aus.

    Manifest

    Ein Manifest ist eine Beschreibung der verfügbaren Inhalte und Metadaten eines adaptiven Medienstreams für einen Client. In der Transcoder API können Sie einen Job so konfigurieren, dass ein Manifest mit einem Dateinamen, einer Liste mit mehreren Streams sowie dem Typ des Manifests ausgegeben wird. Dieser muss entweder HLS- oder MPEG-DASH sein.

    Text-Atom

    Ein Textschema ordnet den Text aus einem Element-Stream einer Bearbeitungsliste zu.

    Textstream

    Ein Textstream codiert die mit einem Video verknüpften Textdaten wie etwa Untertitel.

    Nächste Schritte