Zencoder supports various forms of adaptive and segmented streaming.
Each streaming format uses a different subset of the API options listed below. Refer to the guides for each streaming type for more information.
|streaming_delivery_format||none||Sets the format/protocol configuration for a streamable output.|
|streaming_delivery_profile||live||Sets the specific profile of a streaming delivery format.|
|playlist_format||none||Sets the format for a playlist output.|
|segment_seconds||10||Sets the maximum duration of each segment a segmented output|
|streams||none||Provides a list of stream info to be reformatted as a playlist|
|path||none||Specifies the path to a stream manifest file|
|bandwidth||none||Specifies the bandwidth of a playlist stream|
|resolution||none||Specifies the resolution of a playlist stream|
|codecs||none||Specifies the codecs used in a playlist stream|
|segment_image_url||none||An image to display on audio-only segments|
|segment_video_snapshots||false||When segmenting a video file into audio-only segments, take snapshots of the video as thumbnails for each segment.|
|source||none||Specifies the source media for a playlist stream|
|max_hls_protocol_version||3 for Live outputs, 5 for sample AES encryption; otherwise, 2.||The maximum HLS protocol to use.|
|hls_optimized_ts||true||Optimize TS segment files for HTTP Live Streaming on iOS.|
|prepare_for_segmenting||none||Include captions and keyframe timing for segmenting.|
|smil_base_url||none||Add <meta base="smil_base_url_value"/> to the <head> section of an SMIL playlist.|
|byte_range_segmenting||false||Configures HLS segmenting to produce a single output file rather than one file per segment.|
|generate_keyframe_manifest||false||Generates an HLS keyframe (I-frame) manifest which is required for fast-forward and reverse playback.|
|keyframe_manifest_filename||iframe_index.m3u8||Override the default filename for the HLS keyframe manifest.|
|allow_skipped_sources||false||Ignore sources that are conditional outputs which have been skipped.|
- A job must have at least one standard or segmented output; creating jobs with only playlist outputs will not work.
- Playlist outputs will ignore most output options, except for url, base_url, filename, streams, public, and type.
- If a segmented output is uploaded to temporary storage, it will be uploaded as a ZIP archive.