Überblick
Zencoder unterstützt verschiedene Formen des adaptiven und segmentierten Streamings.
- HTTP Live (segmentiert) Streaming und Wiedergabelisten
- Microsoft Reibungsloses Streaming
- Hochwind SMIL
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
undtype
. - 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 einzelneSegmentTemplate
für jedesAdaptationSet
. Für DRM wird es eine 8-Byte-IV verwenden und fürPlayReady
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ürPlayReady
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