概覽
Zencoder支持各種形式的自適應流和分段流。
每種流格式都使用下面列出的API選項的不同子集。有關更多信息,請參閱每種流類型的指南。
注意事項
streaming_delivery_format
streaming_delivery_format:String
API 版本:V2
上級:outputs
有效值:短跑
兼容的工作類型:VOD
例:短跑
描述:
設置將使用特定的流配置(包括必需的清單,目錄結構或其他打包)傳遞的輸出的格式/協議。
對於“破折號”輸出,這還將默認的segment_seconds更改為2,強制固定的關鍵幀間隔,包括MPD清單,並創建帶有初始化文件和段文件的目錄結構。
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"streaming_delivery_format": "dash"
}
]
}
也可以看看: stream_delivery_profile
streaming_delivery_profile
streaming_delivery_profile:String
API 版本:V2
上級:outputs
默認:生活
有效值:直播,hbbtv_1.5,on_demand
兼容的工作類型:VOD
例:生活
描述:
設定串流傳送格式的設定檔,確保選取了與設定檔相容的選項。有效選項取決於所選的streaming_delivery_format
。
對於dash
輸出,當前支持的配置文件是:
- 直播-將設置
DASH
配置文件為“ urn:mpeg:dash:profile:isoff-live:2011”並使用一個SegmentTemplate
每個AdaptationSet
。對於DRM,它將使用8字節的IV,對於PlayReady
將使用1.1版,包括媒體中的PSSH原子。 - hbbtv_1.5-將設置
DASH
配置文件到“ urn:hbbtv:dash:profile:isoff-live:2012”,並包含音頻和視頻表示形式的必需屬性。對於DRM,它將使用16字節的IV,對於PlayReady
將使用1.0版,但不包括PSSH原子。 - on_demand-將設置
DASH
配置文件為“ urn:mpeg:dash:profile:isoff-on-demand:2011”,並將媒體編碼為每個流的單個碎片文件,而不是對其進行分段。否則與實時配置文件相同。
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"streaming_delivery_format": "dash",
"streaming_delivery_profile": "hbbtv_1.5"
}
]
}
playlist_format
playlist_format:String
API 版本:V2
上級:outputs
有效值:dash
,mpd
,hls
,m3u
,m3u8
,ism
,mss
,highwinds
兼容的工作類型:VOD
例:短跑
描述:
設置播放列表(清單清單)輸出的格式。
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "playlist",
"playlist_format": "dash"
}
]
}
segment_seconds
segment_seconds:Float
API 版本:V2
上級:outputs
默認:+10
有效值:1.0到3600.0之間的數字;值小於2.0僅在以下情況下允許byte_range_segmenting
已啟用。因為發現很短的段會導致播放問題,所以最終段可能比指定的值長。
兼容的工作類型:VOD
例:8
描述:
設置分段輸出中每個分段的最大持續時間。
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"segment_seconds": 8
}
]
}
alternate_audio
alternate_audio:Hash
API 版本:V2
上級:outputs
有效值:備用音頻組的哈希,每個哈希組是音頻流再現哈希的數組
兼容的工作類型:VOD
描述:
提供一組備用音頻流,用於HLS
播放列表。需要max_hls_protocol_version
等於或大於4。
此選項將插入EXT-X-MEDIA
標記到播放列表中。如果name
未設置,則將根據給定的名稱生成language
。
備用音頻再現的有效選項
language
:音軌語言的ISO 639代碼,例如“ en”,“ es”或“ zh”。name
(可選的):備用音頻組的名稱。如果未設置名稱,則默認為語言名稱。path
(可選的):此音頻呈現的M3U8播放列表的可選路徑。如果未設置路徑,則此替代音頻流將描述源流中包含的音頻。source
(可選的):同一作業的媒體輸出上的標籤。這可用於為使用此音頻流的音效設置編解碼器。
{
"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 版本:V2
上級:outputs
有效值:包含播放列表流信息的哈希數組
兼容的工作類型:VOD
描述:
提供要重新格式化為播放列表的流信息列表。
{
"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 版本:V2
有效值:包含清單文件的絕對或相對路徑的字符串
兼容的工作類型:VOD
描述:
指定流清單文件的路徑。
注意:每個流都需要HLS
, Microsoft流暢串流和高風SMIL播放列表。
{
"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 版本:V2
有效值:正整數值(Kbps)
兼容的工作類型:VOD
例:500
描述:
指定播放列表流的帶寬。覆蓋從資源。
注意:每個流都需要HLS
和高風SMIL播放列表,除非資源提供。
{
"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 版本:V2
有效值:包含寬度和高度的字符串為:800x600
兼容的工作類型:VOD
描述:
指定播放列表流的分辨率。覆蓋從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 版本:V2
有效值:包含HTML5格式的編解碼器的字符串,例如:mp4a.40.2
兼容的工作類型:VOD
描述:
指定播放列表流中使用的編解碼器。覆蓋從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 版本:V2
有效值:包含要使用的音頻GROUP-ID名稱的字符串。此值必須已定義為alter_audio分組。的編解碼器設置應反映備用音頻組的所有編解碼器。
兼容的工作類型:VOD
描述:
指定播放列表的備用音軌。
{
"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 版本:V2
上級:outputs
兼容的工作類型:VOD
描述:
創建僅音頻片段時,請使用指定的圖像文件作為每個片段的縮略圖。
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"segment_image_url": "http://example.com/thumb.png"
}
]
}
segment_video_snapshots
segment_video_snapshots:Boolean
API 版本:V2
上級:outputs
默認:假
有效值:對或錯
兼容的工作類型:VOD
例:真正
描述:
將視頻文件分段為純音頻分段時,請為每個分段拍攝視頻快照作為縮略圖。
如果設置了segment_image_file,則此選項無效。
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"segment_video_snapshots": true
}
]
}
也可以看看: segment_image_url
source
source:String
API 版本:V2
兼容的工作類型:VOD
描述:
引用同一作業的媒體輸出上的標籤,以在播放列表中填寫相應的數據。
對於HLS
,帶寬,編解碼器和解析度默認情況下,從來源推斷出這些值。任何帶寬,編解碼器, 要么解析度為同一流指定的值將覆蓋推斷的值。
{
"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 版本:V2
默認:5用於示例AES加密;否則2。
有效值:2-5
兼容的工作類型:VOD
例:4
描述:
設置最大值HLS
使用的協議版本。特殊功能將可用。
此選項應大於或等於hls_protocol_version
提供時。
注意:僅適用於HTTP實時流輸出。
{
"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"
}
]
}
也可以看看:hls_protocol_version
hls_protocol_version
hls_protocol_version:Integer
API 版本:V2
默認:自動根據max_hls_protocol_version
設置
有效值:2-5
兼容的工作類型:VOD
例:3
描述:
設置要使用的HLS協議版本。特殊功能將可用。
注意:僅適用於HTTP實時流輸出。
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"hls_protocol_version": 3
}
]
}
也可以看看:max_hls_protocol_version
hls_optimized_ts
hls_optimized_ts:Boolean
API 版本:V2
默認:true
有效值:true
要么false
兼容的工作類型:VOD
描述:
為優化TS段文件HTTP Live Streaming
在iOS設備上。
注意:僅適用於HTTP Live Streaming
輸出。
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"hls_optimized_ts": false
}
]
}
prepare_for_segmenting
prepare_for_segmenting:String or Array
API 版本:V2
上級:outputs
有效值:hls
,mss
,dash
兼容的工作類型:VOD
例:hls,dash
描述:
如果您打算將輸出傳輸到HLS
,MSS和/或DASH
使用字幕將其編碼為MP4後,請將此選項設置為true,以包括字幕和分段的關鍵幀時序。這允許分段版本在進行轉碼的情況下仍包含與HLS兼容的字幕,並提供以一致的時間間隔進行分段。
指定分段輸出的類型,稍後將該輸出進行多路復用以創建分段輸出,以便Zencoder可以根據需要準備字幕和關鍵幀。
注意:當前無法將字幕添加到HLS
轉碼時輸出。
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"prepare_for_segmenting": "hls,dash"
}
]
}
也可以看看: caption_url和skip_captions
smil-base-url
smil_base_url:String
API 版本:V2
上級:outputs
兼容的工作類型:VOD
例: rtmp://127.0.0.1/base/path/
描述:
這會將標籤<meta base =“ smil_base_url_value” />添加到SMIL播放列表的<head>部分。
本示例將輸出如下所示的播放列表:
<smil> <頭> <meta base =“ rtmp://123.456.123.123/path/to/videos/” /> </ head> <身體> <開關> <video src =“ mp4:test.mp4” system-bitrate =“ 500000” /> </ switch> </ body> </ smil>
注意:僅在具有播放格式的播放列表類型的輸出上起作用。
{
"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 版本:V2
上級:outputs
默認:false
有效值:true
要么false
兼容的工作類型:VOD
例:真正
描述:
配置HLS
分段以生成單個輸出文件,而不是每個分段一個文件。
需要max_hls_protocol_version
要么hls_protocol_version
設置為4或更高。
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"format": "ts",
"byte_range_segmenting": true
}
]
}
也可以看看:max_hls_protocol_version
generate_keyframe_manifest
generate_keyframe_manifest:Boolean
API 版本:V2
上級:outputs
默認:false
有效值:true
要么false
兼容的工作類型:VOD
例:true
描述:
產生一個HLS
快進和快退播放所需的關鍵幀(I幀)清單。
默認關鍵幀清單文件名與播放列表文件名相同,但添加了“ -iframe-index”(因此,對於“ master.m3u8”播放列表,關鍵幀清單將為“ master-iframe-index.m3u8”)。關鍵幀清單文件名可以用keyframe_manifest_filename
。
默認情況下啟用max_hls_protocol_version
要么hls_protocol_version
設置為4或更大。
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"format": "ts",
"generate_keyframe_manifest": true,
"keyframe_manifest_filename": "my_iframe_index.m3u8"
}
]
}
keyframe_manifest_filename
keyframe_manifest_filename:String
API 版本:V2
上級:outputs
默認:iframe_index.m3u8
兼容的工作類型:VOD
例:my_iframe_index.m3u8
描述:
除非指定,否則用於關鍵幀清單的文件名與播放列表文件名相同,但附加“ -iframe-index”。例如,對於播放列表“ master.m3u8”,關鍵幀清單將為“ master-iframe-index.m3u8”。
此選項要求generate_keyframe_manifest是真的,或者hls_protocol_version
是4或更大。
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"format": "ts",
"generate_keyframe_manifest": true,
"keyframe_manifest_filename": "my_iframe_index.m3u8"
}
]
}
也可以看看: generate_keyframe_manifest
allow_skipped_sources
allow_skipped_sources:Boolean
API 版本:V2
上級:outputs
默認:false
有效值:true
要么false
兼容的工作類型:VOD
例:true
描述:
生成播放列表時,如果跳過了任何引用的流,則不要使輸出失敗(作為有條件的輸出功能),只需將其排除在播放列表之外即可。
要正確忽略跳過的源,播放列表的流必須有一個source
定義。
{
"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"
}
]
}
]
}
也可以看看:source