edit-icon download-icon

PutLiveChannel

最終更新日: Nov 01, 2018

RTMP プロトコルを使用してオーディオやビデオのデータをアップロードする前に、まずこのインターフェイスを呼び出して LiveChannel を作成する必要があります。このインターフェイスは、RTMP ストリーミングアドレスと、対応する再生アドレスを返します。返されたアドレスをストリーミングや再生に使用できます。また、LiveChannel 名に基づいて、ストリーミングステータスの照会、ストリーミング履歴の照会、ストリーミングの禁止など、関連する操作を開始することもできます。

リクエスト構文

  1. PUT /ChannelName?live HTTP/1.1
  2. Host: BucketName.oss-cn-hangzhou.aliyuncs.com
  3. Date: GMT date
  4. Content-Length: Size
  5. Authorization: SignatureValue
  6. <?xml version="1.0" encoding="UTF-8"?>
  7. <LiveChannelConfiguration>
  8. <Description>ChannelDescription</Description>
  9. <Status>ChannelStatus</Status>
  10. <Target>
  11. <Type>HLS</Type>
  12. <FragDuration>FragDuration</FragDuration>
  13. <FragCount>FragCount</FragCount>
  14. <PlayListName>PlaylistName</PlayListName>
  15. </Target>
  16. </LiveChannelConfiguration>

リクエスト要素

名前 説明 必須かどうか
LiveChannelConfiguration LiveChannel の設定を保存するコンテナー。
型:コンテナー
サブノード:Description、Status、Target
親ノード:なし
はい
Description LiveChannel の説明。最大長は 128 バイトです。
型:文字列
サブノード:なし
親ノード:LiveChannelConfiguration
いいえ
Status LiveChannel のステータスを指定します。
タイプ:列挙型文字列
サブノード:なし
親ノード:LiveChannelConfiguration
有効な値:enabled、disabled
いいえ
デフォルト値:enabled
Target ダンプ設定を保存するコンテナー。
型:コンテナー
サブノード:Type、FragDuration、FragCount、PlaylistName
親ノード:LiveChannelConfiguration
はい
Type ダンプのタイプを指定します。
タイプ:列挙型文字列
サブノード:なし
親ノード:Target
有効な値:HLS
はい
FragDuration Type が HLS の場合は、各 ts ファイルの期間を指定します (単位:秒)。値は 1〜100 の範囲内の整数でなければなりません。
型:文字列
サブノード:なし
親ノード:Target
いいえ
デフォルト値:5
FragCount Type が HLS の場合は、m3u8 ファイル内の ts ファイル数を指定します。値は 1〜100 の範囲内の整数でなければなりません。
型:文字列
サブノード:なし
親ノード:Target
いいえ
デフォルト値:3
PlaylistName Type が HLS の場合は、生成される m3u8 ファイルの名前を指定します。”.m3u8” で終わる必要があり、長さは 6〜128 の範囲内でなければなりません。
型:文字列
サブノード:なし
親ノード:Target
いいえ
デフォルト値:playlist.m3u8

詳細分析

  1. ChannelName は、ObjectName 命名規則に準拠する必要があります。また、ChannelName には「/」を含めることはできません。
  2. FragDuration と FragCount のデフォルト値は、どちらも指定されている場合にのみ有効になります。いずれか 1 つを指定した場合は、もう一方も指定する必要があります。
  3. ダンプのタイプが HLS の場合、OSS は ts ファイルを生成した後に m3u8 ファイルを更新します。m3u8 ファイルには、最新の ts ファイルを FragCount まで含めることができます。
  4. ダンプのタイプが HLS の場合、現在の ts ファイルに書き込まれたオーディオまたはビデオデータの期間が FragDuration 値に達すると、OSS は次のキーフレームの受信時に次の ts ファイルに切り替えます。max(2*FragDuration, 60s) 後に、次のキーフレームを受信しなかった場合、OSS はファイルを強制的に切り替えます。この結果、オーディオやビデオが途切れる可能性があります。

レスポンス要素

名前 説明
CreateLiveChannelResult CreateLiveChannel リクエスト結果を保存するコンテナー。
型:コンテナー
サブノード:PublishUrls、PlayUrls
親ノード:なし
PublishUrls ストリーミングアドレスを保存するコンテナー。
型:コンテナー
サブノード:Url
親ノード:CreateLiveChannelResult
Url ストリーミングアドレス。
型:文字列
サブノード:なし
親ノード:PublishUrls
PlayUrls ストリーミングアドレスを保存するコンテナー。
型:コンテナー
サブノード:Url
親ノード:CreateLiveChannelResult
Url 再生アドレス。
型:文字列
サブノード:なし
親ノード:PlayUrls

詳細分析

  1. ストリーミングアドレスは、署名されていない URL です。バケット acl が public-read-write でない場合、アクセスするには、最初に署名する必要があります。
  2. 再生アドレスは、署名されていない URL です。バケット acl が private の場合、アクセスするには、最初に署名する必要があります。

リクエストの例

  1. PUT /test-channel?live HTTP/1.1
  2. Date: Wed, 24 Aug 2016 11:11:28 GMT
  3. Content-Length: 333
  4. Host: test-bucket.oss-cn-hangzhou.aliyuncs.com
  5. Authorization: OSS YJjHKOKWDWINLKXv:hvwOZJRh8toAj3DZvtsuPgf+agA=
  6. <?xml version="1.0" encoding="utf-8"?>
  7. <LiveChannelConfiguration>
  8. <Description/>
  9. <Status>enabled</Status>
  10. <Target>
  11. <Type>HLS</Type>
  12. <FragDuration>2</FragDuration>
  13. <FragCount>3</FragCount>
  14. </Target>
  15. </LiveChannelConfiguration>

レスポンスの例

  1. HTTP/1.1 200
  2. content-length: 259
  3. server: AliyunOSS
  4. x-oss-server-time: 4
  5. connection: close
  6. x-oss-request-id: 57BD8419B92475920B0002F1
  7. date: Wed, 24 Aug 2016 11:11:28 GMT
  8. x-oss-bucket-storage-type: standard
  9. content-type: application/xml
  10. <?xml version="1.0" encoding="UTF-8"?>
  11. <CreateLiveChannelResult>
  12. <PublishUrls>
  13. <Url>rtmp://test-bucket.oss-cn-hangzhou.aliyuncs.com/live/test-channel</Url>
  14. </PublishUrls>
  15. <PlayUrls>
  16. <Url>http://test-bucket.oss-cn-hangzhou.aliyuncs.com/test-channel/playlist.m3u8</Url>
  17. </PlayUrls>
  18. </CreateLiveChannelResult>