Adaptive Bitrate Streaming

最終更新日:2025-05-29 11:39:33

適応ビットレート(ABR)ストリーミングは、多様なユーザーデバイスや変動するネットワーク環境の課題を解決します。この技術は、各ユーザーの現在の接続状態に最適なビットレートで動画コンテンツを自動配信し、あらゆるデバイスとネットワーク条件で最適な視聴体験を保証します。

CDNetworksはHLSとDASHパッケージング形式の両方に対して包括的なABRサポートを提供します。

使用方法

リクエストボディ内のfopsパラメータを以下の形式で構成してください:

<op>/<Format>
    /envBandWidth/<value>
    /multiAb/<value>
    /multiVb/<value>
    /multiResolution/<value>
    |saveas/<Urlsafe_Base64_Encode(bucket:filekey)>

パラメーター

パラメーター 必須 説明
op はい 操作タイプ。適応ビットレートストリーミングにはavthumbを使用
format はい 出力形式。m3u8(HLS)、mpd(DASH)など対応
envBandWidth いいえ HLSストリーム切替をトリガーする帯域幅しきい値

• 最大5つのしきい値設定可能(最低2つ必須)
• 有効範囲: 50,000~30,000,000 b/s
• 例: 60000:150000:500000

重要事項:
1. HLS形式出力時に必須
2. multiVbmultiAbmultiResolutionの値数と一致必須
3. トランスコードビットレート値に近い値推奨
4. 値は昇順で設定必須
multiAb いいえ 品質レベル別オーディオビットレート(bps単位)

• 最大5設定可能(最低2つ必須)
• 例: 64k:128k:256k

重要事項:
1. multiVbmultiResolutionの値数と一致必須
2. 標準オーディオパラメータabと併用不可
multiVb いいえ 品質レベル別ビデオビットレート(bps単位)

• 最大5設定可能(最低2つ必須)
• 例: 128k:600k:1.25m

重要事項:
1. multiAbmultiResolutionの値数と一致必須
2. 標準ビデオパラメータvbと併用不可
multiResolution いいえ 品質レベル別解像度(幅x高さ形式)

• 最大5設定可能(最低2つ必須)
• 解像度指定方法:

1. 幅と高さ: 両方明示的に定義(例: 320x240:640x480:1080x720
注: 出力アスペクト比が元動画と異なる場合、画像が伸縮する可能性あり

2. 幅または高さ: 片方のみ設定し他方を-1指定(例: 320x-1:-1x480:1080x-1
未指定側は元のアスペクト比を維持し自動調整
saveas いいえ URL-safe Base64エンコード文字列で出力先指定: Urlsafe_Base64_Encode(bucket:savedfilename)

例1: HLS適応ビットレート

ソースファイルtest_hls.m3u8から2品質レベルHLS適応ストリームを生成:

品質レベル:
• レベル1:
• 帯域幅しきい値: 60 kb/s
• ビデオビットレート: 128 kbit/s
• オーディオビットレート: 64 kbit/s
• 解像度: 320x240

• レベル2:
• 帯域幅しきい値: 100 kb/s
• ビデオビットレート: 600 kbit/s
• オーディオビットレート: 128 kbit/s
• 解像度: 640x480

擬似コードリクエスト:

curl -v -X POST 
–d "bucket=Urlsafe_Base64_Encode(vod-wcs-test001)&key=Urlsafe_Base64_Encode(test_hls.m3u8)&fops=Urlsafe_Base64_Encode(avthumb/m3u8/envBandWidth/60000:100000/multiAb/64k:128k/multiVb/128k:600k/multiResolution/320x240:640x480|saveas/Urlsafe_Base64_Encode(vod-wcs-test001:test_file.m3u8))&force=1&separate=1"
–H "Authorization:AccessKey:EncodeSign" 
--url "http://mgrDomain/fops"

実際のリクエスト:

curl -v -X POST 
-d "bucket=dm9kLXdjcy10ZXN0MDAx&key=dGVzdF9obHMubTN1OA==&fops=YXZ0aHVtYi9tM3U4L2VudkJhbmRXaWR0aC81MDAwMDoxMDAwMDAvbXVsdGlBYi82NGs6MTI4ay9tdWx0aVZiLzEyOGs6NjAway9tdWx0aVJlc29sdXRpb24vMzIweDI0MDo2NDB4NDgwfHNhdmVhcy9kbTlrTFhkamN5MTBaWE4wTURBeE9uUmxjM1JmWm1sc1pTNXRNM1U0&force=1&separate=1"
-H "Authorization:AccessKey:EncodeSign" 
--url "http://mgrDomain/fops"

例2: DASH適応ビットレート

ソースファイルtest.mp4から2ビデオ品質レベルと1オーディオストリームで構成するDASH適応ストリームを生成:

ストリーム構成:
• ビデオストリーム1:
• ビットレート: 128 kbit/s
• 解像度: 320x240

• ビデオストリーム2:
• ビットレート: 600 kbit/s
• 解像度: 640x480

• オーディオストリーム:
• ビットレート: 64 kbit/s

擬似コードリクエスト:

curl -v -X POST 
–d "bucket=Urlsafe_Base64_Encode(vod-wcs-test001)&key=Urlsafe_Base64_Encode(test_hls.m3u8)&fops=Urlsafe_Base64_Encode(avthumb/mpd/multiVb/128k:600k/multiAb/64k/multiResolution/320x240:640x480|saveas/Urlsafe_Base64_Encode(vod-wcs-test001:test.mpd))&force=1&separate=1"
–H "Authorization:AccessKey:EncodeSign" 
--url "http://mgrDomain/fops"

実際のリクエスト形式は例1を参照してください。