MSSを利用するには、ビデオとオーディオを特別なセグメント形式でエンコードする必要があります。さらに、クライアントとサーバーマニフェストは、ファイルに関する情報を含む生成する必要があります。Zencoder は、シングルビットレートとマルチビットレートの両方の Smooth Streaming に必要なファイルをすべて生成できます。
スムーズなストリーミングビデオの作成は、Zencoder で簡単に行えます。シングルビットレートエンコードに必要なファイルを作成するために設定する必要があるオプションは、ほんのわずかです。
{
"api_key": "asdf1234",
"input": "s3://my-input-bucket/input-file.mp4",
"outputs": [
{
"audio_bitrate": 56,
"audio_sample_rate": 22050,
"url": "s3://my-bucket/medium/file.ism",
"decoder_bitrate_cap": 900,
"decoder_buffer_size": 2400,
"max_frame_rate": 30,
"segment_seconds": 2,
"type": "segmented",
"video_bitrate": 600,
"width": 400,
"format": "ism"
}
]
}
上記の API リクエストの関連する部分は、「タイプ」、「フォーマット」、「URL」のオプションです。
スムーズストリーミングの解釈では、「ism」ファイルはスムーズストリーミングサーバーのマニフェストです。しかし、これは生成される唯一のファイルではありません。「ism」ファイルと同じディレクトリに、スムースストリーミングクライアントマニフェストと呼ばれる「ismc」ファイルと、エンコードされたビデオである「ismv」ファイルも作成します。
Zencoder でマルチビットレートのスムースストリーミングジョブを作成する場合、API リクエストにはあまり必要ありません。異なる転送速度と、それらを参照するプレイリストの出力だけです。
{
"api_key": "asdf1234",
"input": "s3://my-input-bucket/input-file.mp4",
"outputs": [
{
"type": "playlist",
"format": "ism",
"url": "s3://my-output-bucket/file.ism",
"streams": [
{
"source": "low-output",
"path": "low/file.ismv"
},
{
"source": "medium-output",
"path": "medium/file.ismv"
},
{
"source": "high-output",
"path": "high/file.ismv"
}
]
},
{
"label": "low-output",
"audio_bitrate": 56,
"audio_sample_rate": 22050,
"url": "s3://my-bucket/low/file.ism",
"decoder_bitrate_cap": 165,
"decoder_buffer_size": 440,
"max_frame_rate": 30,
"segment_seconds": 2,
"public": 1,
"type": "segmented",
"video_bitrate": 110,
"width": 320,
"format": "ism"
},
{
"label": "medium-output",
"audio_bitrate": 56,
"audio_sample_rate": 22050,
"url": "s3://my-bucket/medium/file.ism",
"decoder_bitrate_cap": 600,
"decoder_buffer_size": 1600,
"max_frame_rate": 30,
"segment_seconds": 2,
"public": 1,
"type": "segmented",
"video_bitrate": 400,
"width": 400,
"format": "ism"
},
{
"label": "high-output",
"audio_bitrate": 56,
"audio_sample_rate": 22050,
"url": "s3://my-bucket/high/file.ism",
"decoder_bitrate_cap": 900,
"decoder_buffer_size": 2400,
"max_frame_rate": 30,
"segment_seconds": 2,
"public": 1,
"type": "segmented",
"video_bitrate": 600,
"width": 400,
"format": "ism"
}
]
}
個々のシングルビットレートのスムースストリーミング出力 (「低出力」、「中出力」、「高出力」のラベル) は、前のリクエスト例の出力に似ており、必要に応じて独自に再生できます。重要な違いは、ビデオを参照するプレイリストを作成する最初の出力です。ビデオを再生するデバイスは、このプレイリストを使用して、利用可能な帯域幅に基づいてロードする適切なファイルを決定します。
プレイリストに関する注意事項は次のとおりです。
type
「プレイリスト」になるべきformat
「イズム」になるべきurl
「ism」の延長があるべきstreams
それぞれが「source」と「path」というキーを持つJSONオブジェクトの配列でなければなりません。
source
指定されたストリームに使用する出力のラベルでなければなりませんpath
サーバーによって提供されるように、「ソース」出力の「ismv」または「isma」ファイルへの相対パスでなければなりませんマルチビットレートスムーズストリーミングのプレイリストとその動画は、単一の Zencoder ジョブ内で作成する必要があります。別々のジョブで作成したり、他のジョブでビデオを作成した後に作成することはできません。マルチビットレートスムーズストリーミングマニフェストを生成するには、動画とそのマニフェストから特定の情報が必要です。これには、シングルビットレートのスムーズストリーミング出力からのクライアントマニフェストと、最終的な宛先から提供される単一ビットレートのビデオまたはオーディオファイルへの相対パスが含まれます。セグメント化された出力のトランスコーディングが完了すると、クライアントマニフェストを使用してマルチビットレートのスムースストリーミングマニフェストを生成し、「url」で指定された場所に配置します。
スムーズストリーミングファイルをプレーヤーに配信するには、IIS スムーズストリーミングサーバーが必要です。IIS スムーズストリーミングの使用開始に関するこのガイドは、IIS スムーズストリーミングサーバーのセットアップを始めるのに良い場所です。