概要
Zencoder は、さまざまな形式のアダプティブストリーミングおよびセグメントストリーミングをサポートしています。
ストリーミング形式ごとに、以下に示す API オプションの異なるサブセットが使用されます。詳細については、各ストリーミングタイプのガイドを参照してください。
注意事項
streaming_delivery
streaming_delivery_format:String
API バージョン:V1、V2
親:outputs
有効な値:ダッシュ
互換性のあるジョブタイプ:すべて
例:ダッシュ
説明:
必要なマニフェスト、ディレクトリ構造、またはその他のパッケージを含む、特定のストリーミング構成を使用して配信される出力のフォーマット/プロトコルを設定します。
' ダッシュ出力の場合、これはデフォルトの segment_seconds を 2 に変更し、固定キーフレーム間隔を適用し、MPD マニフェストを含めて、初期化ファイルとセグメントファイルを使用してディレクトリ構造を作成します。
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"streaming_delivery_format": "dash"
}
]
}
streaming_deivery_profile
streaming_delivery_profile:String
API バージョン:V1、V2
親:outputs
デフォルト:ライブ
有効な値:ライブ、hbbtv_1.5、on_demand
互換性のあるジョブタイプ:すべて
例:ライブ
説明:
ストリーミング配信形式のプロファイルを設定し、プロファイルとの互換性のためにオプションが選択されていることを確認します。有効なオプションは、選択したオプションによって異なりますstreaming_delivery_format
。
dash
出力の場合、現在サポートされているプロファイルは次のとおりです。
- live-
DASH
プロファイルを「urn: mpeg: dash: profile: isoff-live: 2011」に設定し、SegmentTemplate
それぞれにシングルを使用しますAdaptationSet
。DRM の場合は 8 バイト IV を使用し、forPlayReady
はメディアに PSSHアトムを含むバージョン 1.1 を使用します。 - hbbtv_1.5-
DASH
プロファイルを「urn: hbbtv: dash: profile: isoff-live: 2012」に設定し、オーディオおよびビデオ表現に必要な属性を含めます。DRM の場合は 16 バイト IV を使用し、forPlayReady
は PSH原子を除いたバージョン1.0を使用します。 - 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"
}
]
}
以下も参照してください。streaming_delivery_format
プレイリストフォーマット
playlist_format:String
API バージョン:V1、V2
親:outputs
有効な値:dash
、mpd
、hls
、m3u
、m3u8
、ism
、mss
、highwinds
互換性のあるジョブタイプ:すべて
例:ダッシュ
説明:
プレイリスト (レンディションマニフェスト) 出力の形式を設定します。
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "playlist",
"playlist_format": "dash"
}
]
}
segment_seconds
segment_seconds:Float
API バージョン:V1、V2
親:outputs
デフォルト:10
有効な値:1.0 ~ 3600.0 の数値。2.0 より小さい値は、byte_range_segmenting
が有効な場合のみ許可されます。非常に短いセグメントは再生の問題の原因であることが判明したため、最後のセグメントは指定された値よりも長くなる可能性があります。
互換性のあるジョブタイプ:すべて
例:8
説明:
セグメント化された出力の各セグメントの最大持続時間を設定します。
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"segment_seconds": 8
}
]
}
audio
alternate_audio:Hash
API バージョン:V1、V2
親:outputs
有効な値:代替オーディオグループのハッシュ。それぞれがオーディオストリームのレンディションハッシュの配列です
互換性のあるジョブタイプ:すべて
説明:
HLS
プレイリスト用の代替オーディオストリームのセットを提供します。4 以上である必要があります。max_hls_protocol_version
EXT-X-MEDIA
このオプションはプレイリストにタグを挿入します。name
が設定されていない場合、指定されたに基づいて名前が生成されますlanguage
。
代替オーディオレンディションの有効なオプション
language
:オーディオトラックの言語の ISO 639 コード (「en」、「es」、「zh」など)。name
(オプション):代替オーディオグループの名前。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:Array
API バージョン:V1、V2
親:outputs
有効な値:プレイリストストリーム情報を含むハッシュの配列
互換性のあるジョブタイプ:すべて
説明:
再生リストとして再フォーマットするストリーム情報のリストを提供します。
{
"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:String
API バージョン:V1、V2
有効な値:マニフェストファイルへの絶対パスまたは相対パスを含む文字列
互換性のあるジョブタイプ:すべて
説明:
ストリームマニフェストファイルへのパスを指定します。
注: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:Integer
API バージョン:V1、V2
有効な値:正の整数値 (Kbps)
互換性のあるジョブタイプ:すべて
例:500
説明:
プレイリストストリームの帯域幅を指定します。送信元から決定された帯域幅を上書きします。
注:の各ストリームに必要HLS
とHighwinds SMILプレイリスト、ソース供給される。
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "playlist",
"streams": [
{
"path": "low/index.m3u8",
"bandwidth": 240
},
{
"path": "high/index.m3u8",
"bandwidth": 640
}
]
}
]
}
解像度
resolution:String
API バージョン:V1、V2
有効な値:幅と高さを含む文字列:800x600
互換性のあるジョブタイプ:すべて
説明:
プレイリストストリームの解像度を指定します。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:String
API バージョン:V1、V2
有効な値:HTML5 形式のコーデックを含む文字列 (例:mp4a.40.2)
互換性のあるジョブタイプ:すべて
説明:
プレイリストストリームで使用されるコーデックを指定します。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:String
API バージョン:V1、V2
有効な値:使用するオーディオグループ ID の名前を含む文字列。この値は alternate_audioグループとして定義されている必要があります。コーデック設定は、代替オーディオグループのすべてのコーデックを反映する必要があります。
互換性のあるジョブタイプ:すべて
説明:
再生リストの代替オーディオトラックを指定します。
{
"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 バージョン:V1、V2
親:outputs
互換性のあるジョブタイプ:すべて
説明:
オーディオのみのセグメントを作成する場合は、指定した画像ファイルを各セグメントのサムネイルとして使用します。
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"type": "segmented",
"segment_image_url": "http://example.com/thumb.png"
}
]
}
segment_video_snapshots
segment_video_snapshots:Boolean
API バージョン:V1、V2
親:outputs
デフォルト:偽
有効な値:真または偽
互換性のあるジョブタイプ:すべて
例:真
説明:
ビデオファイルをオーディオのみのセグメントに分割する場合は、ビデオのスナップショットを各セグメントのサムネイルとして撮ります。
segment_image_file が設定されている場合、このオプションは効果がありません。
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"segment_video_snapshots": true
}
]
}
出典
source:String
API バージョン:V2
互換性のあるジョブタイプ:すべて
説明:
同じジョブのメディア出力上のラベルを参照し、プレイリストの対応するデータを入力します。
の場合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 バージョン:V1、V2
デフォルト:サンプルAES 暗号化の場合は 5、それ以外の場合は 2。
有効な値:2-5
互換性のあるジョブタイプ:すべて
例: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 バージョン:V1、V2
デフォルト:max_hls_protocol_version
設定に応じて自動
有効な値:2-5
互換性のあるジョブタイプ:すべて
例: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 バージョン:V1、V2
デフォルト:true
有効な値:true
またはfalse
互換性のあるジョブタイプ:すべて
説明:
iOS HTTP Live Streaming
デバイスの TS セグメントファイルを最適化します。
注: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 バージョン:V1、V2
親:outputs
有効な値:hls
、mss
、dash
互換性のあるジョブタイプ:すべて
例:hls,dash
説明:
出力をHLS
、MSS、DASH
またはキャプションでエンコードして MP4 に変換する場合は、このオプションを true に設定してキャプションを含めます。セグメント化のキーフレームタイミング。これにより、セグメント化されたバージョンに HLS 互換のキャプションを変換しても、一貫した時間間隔でのセグメント化が可能になります。
Zencoder が必要に応じてキャプションとキーフレームを準備できるように、この出力を後で変換して作成するセグメント化された出力のタイプを指定します。
注:現在、HLS
トランスマクス時にキャプションを出力に追加することはできません。
{
"input": "s3://zencodertesting/test.mov",
"outputs": [
{
"prepare_for_segmenting": "hls,dash"
}
]
}
smil-base-url
smil_base_url:String
API バージョン:V1、V2
親:outputs
互換性のあるジョブタイプ:すべて
例: rtmp: //127.0.0.1/base/path/
説明:
これにより、タグ <meta base="smil_base_url_value"/> が SMIL プレイリストの <head> セクションに追加されます。
この例では、次のようなプレイリストが出力されます。
< smil> < head> < meta base= "rtmp: //123.456.123.123/path/to/videos/」/> < /head > < body> < switch> < 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
互換性のあるジョブタイプ:すべて
例:真
説明:
HLS
セグメントごとに 1 ファイルではなく 1 つの出力ファイルを生成するようにセグメント化を設定します。
必須max_hls_protocol_version
、または 4 hls_protocol_version
に設定する以上。
{
"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
互換性のあるジョブタイプ:すべて
例: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
keyframe_manifest_filename:String
API バージョン:V2
親:outputs
デフォルト:iframe_index.m3u8
互換性のあるジョブタイプ:すべて
例: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"
}
]
}
allow_skipped_sources
allow_skipped_sources:Boolean
API バージョン:V2
親:outputs
デフォルト:false
有効な値:true
またはfalse
互換性のあるジョブタイプ:すべて
例: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