Segmentierte Streaming-Einstellungen

Dieses Thema enthält Details zu den Codierungseinstellungen für das segmentierte Streaming.

Überblick

Zencoder unterstützt verschiedene Formen des adaptiven und segmentierten Streamings.

Jedes Streaming-Format verwendet eine andere Teilmenge der unten aufgeführten API-Optionen. Weitere Informationen finden Sie in den Anleitungen für jeden Streaming-Typ.

ANMERKUNGEN

  • Ein Job muss mindestens eine Standard- oder segmentierte Ausgabe haben. Das Erstellen von Jobs mit nur Wiedergabelistenausgaben funktioniert nicht.
  • Playlist-Ausgaben ignorieren die meisten Ausgabeoptionen, mit Ausnahme der URL base_url, filename, streams, public und type.
  • Wenn eine segmentierte Ausgabe in einen temporären Speicher hochgeladen wird, wird sie als hochgeladen ZIP-Archiv.

streaming_delivery_format

streaming_delivery_format:String

API-Versionen: V2

Elternteil: outputs

Gültige Werte: Strich

Kompatible Auftragstypen: VOD

Beispiel: Strich

Beschreibung:

Legt das Format / Protokoll für eine Ausgabe fest, die unter Verwendung einer bestimmten Streaming-Konfiguration bereitgestellt wird, einschließlich der erforderlichen Manifeste, Verzeichnisstrukturen oder anderer Pakete.

Bei 'Dash'-Ausgaben wird dadurch auch die Standardeinstellung für segment_seconds auf 2 geändert, feste Keyframe-Intervalle erzwungen, ein MPD-Manifest eingefügt und eine Verzeichnisstruktur mit Initialisierungs- und Segmentdateien erstellt.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "streaming_delivery_format": "dash"
    }
  ]
}

Siehe auch: Streaming_Delivery_profile

streaming_delivery_profile

streaming_delivery_profile:String

API-Versionen: V2

Elternteil: outputs

Standard: wohnen

Gültige Werte: live, hbbtv_1.5, on_demand

Kompatible Auftragstypen: VOD

Beispiel: wohnen

Beschreibung:

Legt das Profil des Streaming-Bereitstellungsformats fest und stellt sicher, dass Optionen für die Kompatibilität mit dem Profil ausgewählt werden. Gültige Optionen hängen von der ausgewählten ab streaming_delivery_format.

Zum dash Ausgänge, die derzeit unterstützten Profile sind:

  • live - Wird das einstellen DASH Profil zu "Urne: mpeg: Strich: Profil: isoff-live: 2011" und verwenden Sie eine einzelne SegmentTemplate für jedes AdaptationSet. Für DRM wird es eine 8-Byte-IV verwenden und für PlayReady Version 1.1 verwenden, einschließlich eines PSSH-Atoms in den Medien.
  • hbbtv_1.5 - Setzt die DASH Profil zu "urn: hbbtv: dash: profile: isoff-live: 2012" und enthält die erforderlichen Attribute für Audio- und Videodarstellungen. Für DRM wird es eine 16-Byte-IV verwenden und für PlayReady Version 1.0 mit Ausnahme von PSSH-Atomen verwenden.
  • on_demand - Setzt die DASH Profil zu "urn: mpeg: dash: profile: isoff-on-demand: 2011" und codieren Sie Medien als einzelne fragmentierte Dateien für jeden Stream, anstatt sie zu segmentieren. Ansonsten das gleiche wie Live-Profil.
{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "streaming_delivery_format": "dash",
      "streaming_delivery_profile": "hbbtv_1.5"
    }
  ]
}

Siehe auch: streaming_delivery_format

playlist_format

playlist_format:String

API-Versionen: V2

Elternteil: outputs

Gültige Werte: dash, mpd, hls, m3u, m3u8, ism, mss, highwinds

Kompatible Auftragstypen: VOD

Beispiel: Strich

Beschreibung:

Legt das Format für eine Wiedergabelistenausgabe (Wiedergabemanifest) fest.


  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "playlist",
      "playlist_format": "dash"
    }
  ]
}

segment_seconds

segment_seconds:Float

API-Versionen: V2

Elternteil: outputs

Standard: 10

Gültige Werte: Zahlen zwischen 1,0 und 3600,0; Werte unter 2,0 sind nur zulässig, wenn byte_range_segmenting aktiviert. Da festgestellt wurde, dass sehr kurze Segmente Wiedergabeprobleme verursachen, kann das endgültige Segment länger als der angegebene Wert sein.

Kompatible Auftragstypen: VOD

Beispiel: 8

Beschreibung:

Legt die maximale Dauer jedes Segments in einer segmentierten Ausgabe fest.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "segment_seconds": 8
    }
  ]
}

alternate_audio

alternate_audio:Hash

API-Versionen: V2

Elternteil: outputs

Gültige Werte: Hash von alternativen Audiogruppen, von denen jede ein Array von Audio-Stream-Wiedergabe-Hashes ist

Kompatible Auftragstypen: VOD

Beschreibung:

Bietet eine Reihe von alternativen Audio-Streams für HLS Wiedergabelisten. Benötigt max_hls_protocol_version 4 oder höher sein.

Diese Option wird eingefügt EXT-X-MEDIA Tags in die Wiedergabeliste. Wenn name Wird dies nicht festgelegt, wird ein Name basierend auf dem angegebenen Wert generiert language.

Gültige Optionen für alternative Audio-Wiedergaben

  • language:: Der ISO 639-Code für die Sprache der Audiospur, z. B. "en", "es" oder "zh".
  • name (Optional): Der Name der alternativen Audiogruppe. Wenn der Name nicht festgelegt ist, wird standardmäßig der Sprachname verwendet.
  • path (Optional): Ein optionaler Pfad zur M3U8-Wiedergabeliste für diese Audiowiedergabe. Wenn der Pfad nicht festgelegt ist, beschreibt dieser alternative Audiostream das im Quelldatenstrom enthaltene Audio.
  • source (Optional): Das Etikett auf einer Medienausgabe desselben Jobs. Dies kann verwendet werden, um den Codec für Wiedergaben festzulegen, die diesen Audiostream verwenden.
{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "playlist",
      "alternate_audio": {
        "custom_audio_group": [
          {
            "source": "english-audio",
            "path": "alternate-audio-en.m3u8",
            "language": "en"
          },
          {
            "source": "french-audio",
            "path": "alternate-audio-fr.m3u8",
            "language": "fr"
          }
        ],
        "secondary_audio_group": {
          "path": "path/to/secondary-audio-group.m3u8",
          "language": "en",
          "name": "Secondary English Audio Track",
          "source": "secondary-english-audio"
        }
      }
    }
  ]
}

streams

streams:Array

API-Versionen: V2

Elternteil: outputs

Gültige Werte: Array von Hashes mit Informationen zum Playlist-Stream

Kompatible Auftragstypen: VOD

Beschreibung:

Bietet eine Liste mit Stream-Informationen, die als Wiedergabeliste neu formatiert werden sollen.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "playlist",
      "streams": [
        {
          "path": "low/index.m3u8",
          "source": "low-hls-rendition"
        },
        {
          "path": "high/index.m3u8",
          "source": "high-hls-rendition"
        }
      ]
    }
  ]
}

path

path:String

API-Versionen: V2

Elternteil: outputs /. Streams

Gültige Werte: Zeichenfolge, die einen absoluten oder relativen Pfad zu einer Manifestdatei enthält

Kompatible Auftragstypen: VOD

Beschreibung:

Gibt den Pfad zu einer Stream-Manifest-Datei an.

Hinweis: Erforderlich für jeden Stream für HLS , Microsoft Smooth Streaming , und Highwinds SMIL Wiedergabelisten.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "playlist",
      "streams": [
        {
          "path": "low/index.m3u8",
          "source": "low-hls-rendition"
        },
        {
          "path": "http://example.com/video/high/index.m3u8",
          "source": "high-hls-rendition"
        }
      ]
    }
  ]
}

bandwidth

bandwidth:Integer

API-Versionen: V2

Elternteil: outputs /. Streams

Gültige Werte: Positive ganzzahlige Werte in Kbit / s

Kompatible Auftragstypen: VOD

Beispiel: 500

Beschreibung:

Gibt die Bandbreite eines Wiedergabelisten-Streams an. Überschreibt die aus a Quelle.

Hinweis: Erforderlich für jeden Stream für HLS und Highwinds SMIL Wiedergabelisten, es sei denn, a Quelle wird gestellt.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "playlist",
      "streams": [
        {
          "path": "low/index.m3u8",
          "bandwidth": 240
        },
        {
          "path": "high/index.m3u8",
          "bandwidth": 640
        }
      ]
    }
  ]
}

resolution

resolution:String

API-Versionen: V2

Elternteil: outputs /. Streams

Gültige Werte: Zeichenfolge mit Breite und Höhe wie folgt: 800 x 600

Kompatible Auftragstypen: VOD

Beschreibung:

Gibt die Auflösung eines Wiedergabelisten-Streams an. Überschreibt die Auflösung, die aus a ermittelt wurde source.


  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "playlist",
      "streams": [
        {
          "path": "low/index.m3u8",
          "bandwidth": 240,
          "resolution": "320x180"
        },
        {
          "path": "high/index.m3u8",
          "bandwidth": 640,
          "resolution": "640x360"
        }
      ]
    }
  ]
}

codecs

codecs:String

API-Versionen: V2

Elternteil: outputs /. Streams

Gültige Werte: Zeichenfolge mit Codecs im HTML5-Format, z. B.: Mp4a.40.2

Kompatible Auftragstypen: VOD

Beschreibung:

Gibt die Codecs an, die in einem Wiedergabelisten-Stream verwendet werden. Überschreibt Codecs, die aus a ermittelt wurden source.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "playlist",
      "streams": [
        {
          "path": "low/index.m3u8",
          "bandwidth": 240,
          "codecs": "avc1.42001e, mp4a.40.2"
        },
        {
          "path": "audio/index.m3u8",
          "bandwidth": 64,
          "codecs": "mp4a.40.2"
        }
      ]
    }
  ]
}

audio

audio:String

API-Versionen: V2

Elternteil: outputs /. Streams

Gültige Werte: Zeichenfolge, die den Namen der zu verwendenden Audio-GROUP-ID enthält. Dieser Wert muss als definiert worden sein alternatives_audio Gruppierung. Das Codecs Die Einstellung sollte alle Codecs der alternativen Audiogruppe widerspiegeln.

Kompatible Auftragstypen: VOD

Beschreibung:

Gibt eine alternative Audiospur für die Wiedergabeliste an.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "playlist",
      "alternate_audio": {
        "ac3_audio": {
          "path": "path/to/ac3-audio.m3u8",
          "language": "en",
          "default": true,
          "source": "ac3-audio-rendition"
        },
        "source_audio": {
          "language": "en",
          "default": true
        }
      },
      "streams": [
        {
          "path": "low/index.m3u8",
          "source": "low-hls-rendition",
          "audio": "ac3_audio"
        },
        {
          "path": "low/index.m3u8",
          "source": "low-hls-rendition",
          "audio": "source_audio"
        }
      ]
    }
  ]
}

segment_image_url

segment_image_url:String (URL)

API-Versionen: V2

Elternteil: outputs

Kompatible Auftragstypen: VOD

Beschreibung:

Verwenden Sie beim Erstellen von Nur-Audio-Segmenten die angegebene Bilddatei als Miniaturansicht für jedes Segment.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "segment_image_url": "http://example.com/thumb.png"
    }
  ]
}

segment_video_snapshots

segment_video_snapshots:Boolean

API-Versionen: V2

Elternteil: outputs

Standard: falsch

Gültige Werte: richtig oder falsch

Kompatible Auftragstypen: VOD

Beispiel: wahr

Beschreibung:

Wenn Sie eine Videodatei in reine Audiosegmente segmentieren, machen Sie Schnappschüsse des Videos als Miniaturansichten für jedes Segment.

Diese Option hat keine Auswirkung, wenn segment_image_file festgelegt ist.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "segment_video_snapshots": true
    }
  ]
}

Siehe auch: segment_image_url

source

source:String

API-Versionen: V2

Elternteil: outputs /. Streams

Kompatible Auftragstypen: VOD

Beschreibung:

Verweist auf ein Etikett auf einer Medienausgabe desselben Jobs, um die entsprechenden Daten in die Wiedergabeliste einzufügen.

Für HLS die Bandbreite, Codecs und Auflösungswerte werden standardmäßig von der Quelle abgeleitet. Irgendein Bandbreite , Codecs , oder Auflösung Werte, die für denselben Stream angegeben sind, überschreiben die abgeleiteten Werte.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "playlist",
      "streams": [
        {
          "path": "low/index.m3u8",
          "source": "low-hls-rendition"
        },
        {
          "path": "high/index.m3u8",
          "source": "high-hls-rendition"
        }
      ]
    }
  ]
}

max_hls_protocol_version

max_hls_protocol_version:Integer

API-Versionen: V2

Elternteil: outputs /. Streams

Standard: 5 für Beispiel-AES-Verschlüsselung; ansonsten 2.

Gültige Werte: 2-5

Kompatible Auftragstypen: VOD

Beispiel: 4

Beschreibung:

Legt das Maximum fest HLS zu verwendende Protokollversion. Sonderfunktionen werden nach Verfügbarkeit verwendet.

Diese Option sollte größer oder gleich sein hls_protocol_version wenn vorgesehen.

Hinweis: Gilt nur für HTTP Live Streaming Ausgänge.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "path": "file-240k.m3u8",
      "bandwidth": 240,
      "max_hls_protocol_version": 4
    },
    {
      "type": "segmented",
      "path": "file-64k.m3u8",
      "bandwidth": 64,
      "max_hls_protocol_version": 4
    },
    {
         "filename":"playlist.m3u8",
         "public":1,
         "max_hls_protocol_version":4,
         "streams":[
            {
               "path":"file-240k.m3u8"
            },
            {
               "path":"file-64k.m3u8"
            }
         ],
         "type":"playlist"
    }
  ]
}

Siehe auch: hls_protocol_version

hls_protocol_version

hls_protocol_version:Integer

API-Versionen: V2

Elternteil: outputs /. Streams

Standard: Automatisch nach max_hls_protocol_version Rahmen

Gültige Werte: 2-5

Kompatible Auftragstypen: VOD

Beispiel: 3

Beschreibung:

Legt die zu verwendende HLS-Protokollversion fest. Sonderfunktionen werden nach Verfügbarkeit verwendet.

Hinweis: Gilt nur für HTTP Live Streaming Ausgänge.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "hls_protocol_version": 3
    }
  ]
}

Siehe auch: max_hls_protocol_version

hls_optimized_ts

hls_optimized_ts:Boolean

API-Versionen: V2

Elternteil: outputs /. Streams

Standard: true

Gültige Werte: true oder false

Kompatible Auftragstypen: VOD

Beschreibung:

Optimiert TS-Segmentdateien für HTTP Live Streaming auf iOS-Geräten.

Hinweis: Gilt nur für HTTP Live Streaming Ausgänge.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "hls_optimized_ts": false
    }
  ]
}

prepare_for_segmenting

prepare_for_segmenting:String or Array

API-Versionen: V2

Elternteil: outputs

Gültige Werte: hls, mss, dash

Kompatible Auftragstypen: VOD

Beispiel: hls,dash

Beschreibung:

Wenn Sie vorhaben, eine Ausgabe in HLS, MSS und/oder DASH nachdem Sie sie mit Beschriftungen in MP4 codiert haben, umwandeln möchten, setzen Sie diese Option auf true, um Beschriftungen einzuschließen und Keyframe-Timing für die Segmentierung. Dies ermöglicht es den segmentierten Versionen, trotz Transmuxing HLS-kompatible Beschriftungen einzuschließen, und ermöglicht die Segmentierung in konsistenten Zeitintervallen.

Geben Sie den Typ der segmentierten Ausgabe (n) an, für deren Erstellung diese Ausgabe später übertragen wird, damit Zencoder die Beschriftungen und Keyframes nach Bedarf vorbereiten kann.

Hinweis: Bildunterschriften können derzeit nicht hinzugefügt werden HLS Ausgänge beim Transmuxen.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "prepare_for_segmenting": "hls,dash"
    }
  ]
}

Siehe auch: caption_url und skip_captions

smil-base-url

smil_base_url:String

API-Versionen: V2

Elternteil: outputs

Kompatible Auftragstypen: VOD

Beispiel: rtmp: //127.0.0.1/base/path/

Beschreibung:

Dadurch wird das Tag <meta base = "smil_base_url_value" /> zum Abschnitt <head> einer SMIL-Wiedergabeliste hinzugefügt.

In diesem Beispiel wird eine Wiedergabeliste ausgegeben, die folgendermaßen aussieht:

  <smil>
    <head>
      <meta base = "rtmp: //123.456.123.123/path/to/videos/" />
    </ head>
    <body>
      <Schalter>
        <video src = "mp4: test.mp4" system-bitrate = "500000" />
      </ switch>
    </ body>
  </ smil>

Hinweis: Funktionen nur für eine Ausgabe vom Typ Playlist mit einem Format von Highwinds.

{
  "input": "s3://zencodertesting/test.mov",
  "output": [
    {
      "filename": "test.mp4",
      "video_bitrate": 400,
      "audio_bitrate": 96
    },
    {
      "type": "playlist",
      "format": "highwinds",
      "smil_base_url": "rtmp://123.456.123.123/path/to/videos/",
      "url": "ftp://my.server/playlist.smil",
      "streams": [
        {
          "path": "test.mp4",
          "bandwidth": 500
        }
      ]
    }
  ]
}

byte_range_segmenting

byte_range_segmenting:Boolean

API-Versionen: V2

Elternteil: outputs

Standard: false

Gültige Werte: true oder false

Kompatible Auftragstypen: VOD

Beispiel: wahr

Beschreibung:

Konfiguriert HLS Segmentierung, um eine einzelne Ausgabedatei anstelle einer Datei pro Segment zu erstellen.

Benötigt max_hls_protocol_version oder hls_protocol_version auf 4 oder höher eingestellt.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "format": "ts",
      "byte_range_segmenting": true
    }
  ]
}

Siehe auch: max_hls_protocol_version

generate_keyframe_manifest

generate_keyframe_manifest:Boolean

API-Versionen: V2

Elternteil: outputs

Standard: false

Gültige Werte: true oder false

Kompatible Auftragstypen: VOD

Beispiel: true

Beschreibung:

Erzeugt eine HLS Keyframe-Manifest (I-Frame), das für die schnelle Vorwärts- und Rückwärtswiedergabe erforderlich ist.

Der Standard-Dateiname des Keyframe-Manifests ist der gleiche wie der Dateiname der Wiedergabeliste, jedoch mit '-iframe-index' hinzugefügt (für eine Wiedergabeliste 'master.m3u8' wäre das Keyframe-Manifest also 'master-iframe-index.m3u8'). Der Dateiname des Keyframe-Manifests kann mit überschrieben werden keyframe_manifest_filename.

Standardmäßig aktiviert, wenn max_hls_protocol_version oder hls_protocol_version ist auf 4 oder höher eingestellt.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "format": "ts",
      "generate_keyframe_manifest": true,
      "keyframe_manifest_filename": "my_iframe_index.m3u8"
    }
  ]
}

Siehe auch: keyframe_manifest_filename

keyframe_manifest_filename

keyframe_manifest_filename:String

API-Versionen: V2

Elternteil: outputs

Standard: iframe_index.m3u8

Kompatible Auftragstypen: VOD

Beispiel: my_iframe_index.m3u8

Beschreibung:

Sofern nicht anders angegeben, ist der für das Keyframe-Manifest verwendete Dateiname mit dem Dateinamen der Wiedergabeliste identisch, jedoch mit dem Anhang "-iframe-index". Für die Wiedergabeliste 'master.m3u8' wäre das Keyframe-Manifest beispielsweise 'master-iframe-index.m3u8'.

Diese Option erfordert dies generate_keyframe_manifest ist wahr, oder hls_protocol_version ist 4 oder höher.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "format": "ts",
      "generate_keyframe_manifest": true,
      "keyframe_manifest_filename": "my_iframe_index.m3u8"
    }
  ]
}

Siehe auch: generate_keyframe_manifest

allow_skipped_sources

allow_skipped_sources:Boolean

API-Versionen: V2

Elternteil: outputs

Standard: false

Gültige Werte: true oder false

Kompatible Auftragstypen: VOD

Beispiel: true

Beschreibung:

Anstatt beim Generieren der Wiedergabeliste die Ausgabe fehlzuschlagen, wenn einer der referenzierten Streams übersprungen wurde (als Teil der bedingte Ausgaben Funktionalität), lassen Sie sie einfach aus der Playlist.

Um übersprungene Quellen richtig zu ignorieren, müssen die Streams für die Wiedergabeliste eine haben source definiert.

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "playlist",
      "allow_skipped_sources": true,
      "streams": [
        {
          "path": "low/index.m3u8",
          "source": "low-hls-rendition"
        },
        {
          "path": "high/index.m3u8",
          "source": "high-hls-rendition"
        }
      ]
    }
  ]
}

Siehe auch: source