すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:PutLiveChannel

最終更新日:May 20, 2025

リアルタイムメッセージングプロトコル (RTMP) を使用して音声データとビデオデータをアップロードする前に、PutLiveChannel 操作を呼び出して LiveChannel を作成する必要があります。 PutLiveChannel リクエストへの応答には、LiveChannel へのストリームのアップストリーミング に使用する URL と、アップストリーミング されたストリームの再生に使用する URL が含まれます。

説明

返された URL を使用して、ストリームをアップストリーミング し、再生できます。 返された LiveChannel 名に基づいて、ストリームのアップストリーミング ステータスのクエリ、ストリームのアップストリーミング レコードのクエリ、ストリームのアップストリーミング の無効化などの操作を実行することもできます。

権限

デフォルトでは、Alibaba Cloud アカウントはすべての権限を持っています。 Alibaba Cloud アカウントの RAM ユーザーまたは RAM ロールは、デフォルトでは権限を持っていません。 Alibaba Cloud アカウントまたはアカウント管理者は、RAM ポリシーバケットポリシーまたは を通じて操作権限を付与する必要があります。

API

アクション

定義

PutLiveChannel

oss:PutLiveChannel

リアルタイムメッセージングプロトコル (RTMP) を使用して音声データとビデオデータをアップロードする前に、LiveChannel を作成します。

リクエスト構文

PUT /ChannelName?live HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT date
Content-Length: Size
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<LiveChannelConfiguration>
  <Description>ChannelDescription</Description>
  <Status>ChannelStatus</Status>
  <Target>
     <Type>HLS</Type>
     <FragDuration>FragDuration</FragDuration>
     <FragCount>FragCount</FragCount>
     <PlaylistName>PlaylistName</PlaylistName>
  </Target>
  <Snapshot>
    <RoleName>Snapshot ram role</RoleName>
    <DestBucket>Snapshot dest bucket</DestBucket>
    <NotifyTopic>Notify topic of MNS</NotifyTopic>
    <Interval>Snapshot interval in second</Interval>
  </Snapshot>
</LiveChannelConfiguration>

リクエストヘッダー

ヘッダー

タイプ

必須

説明

ChannelName

文字列

はい

作成する LiveChannel の名前。名前はオブジェクトの命名規則に準拠している必要があり、スラッシュ (/) を含めることはできません。

リクエストパラメーター

パラメーター

タイプ

必須

説明

LiveChannelConfiguration

コンテナー

はい

LiveChannel の構成を格納するコンテナー。

子ノード: Description、Status、Target

親ノード: なし

Description

文字列

いいえ

LiveChannel の説明。説明は最大 128 バイトの長さにすることができます。

子ノード: なし

親ノード: LiveChannelConfiguration

Status

列挙型文字列

いいえ

LiveChannel のステータス。

子ノード: なし

親ノード: LiveChannelConfiguration

有効な値: enabled および disabled

デフォルト値: enabled

Target

コンテナー

はい

アップロードされたデータを格納するために LiveChannel が使用する構成を格納するコンテナー。

子ノード: Type、FragDuration、FragCount、PlaylistName

親ノード: LiveChannelConfiguration

Type

列挙型文字列

はい

LiveChannel がアップロードされたデータを格納するフォーマット。

子ノード: なし

親ノード: Target

有効な値: HLS

説明
  • Type の値を HLS に設定すると、Object Storage Service (OSS) は ts ファイルが生成されるたびに m3u8 ファイルを更新します。 m3u8 ファイルに含めることができる最新の ts ファイルの最大数は、FragCount パラメーターで指定されます。

  • Type の値を HLS に設定し、現在の ts ファイルに書き込まれた音声データとビデオデータの期間が FragDuration で指定された期間を超えると、OSS は次のキーフレームを受信する前に、次の ts ファイルに切り替えてデータを書き込みます。 OSS が max(2*FragDuration, 60s) 後に次のキーフレームを受信しない場合、OSS は強制的に次の ts ファイルに切り替えます。 この場合、ストリームの再生中に途切れが発生する可能性があります。

FragDuration

文字列

いいえ

Type の値を HLS に設定した場合の各 ts ファイルの期間。

単位: 秒

子ノード: なし

親ノード: Target

有効な値: [1, 100]

デフォルト値: 5

説明

FragDuration パラメーターと FragCount パラメーターの値を指定しない場合、2 つのパラメーターのデフォルト値が使用されます。 FragDuration パラメーターと FragCount パラメーターは同時に指定する必要があります。

FragCount

文字列

いいえ

Type の値が HLS の場合に m3u8 ファイルに含まれる ts ファイルの数。

子ノード: なし

親ノード: Target

有効な値: [1, 100]

デフォルト値: 3

説明

FragDuration パラメーターと FragCount パラメーターの値を指定しない場合、2 つのパラメーターのデフォルト値が使用されます。 FragDuration パラメーターと FragCount パラメーターは同時に指定する必要があります。

PlaylistName

文字列

いいえ

Type の値が HLS の場合に生成される m3u8 ファイルの名前。名前は 6 ~ 128 バイトの長さにする必要があります。名前は .m3u8 で終わる必要があります。

子ノード: なし

親ノード: Target

デフォルト値: playlist.m3u8

Snapshot

コンテナー

いいえ

高頻度スナップショット操作のオプションを格納するコンテナー。

子ノード: RoleName、DestBucket、NotifyTopic、Interval

親ノード: LiveChannelConfiguration

RoleName

文字列

いいえ

高頻度スナップショット操作を実行するために使用されるロールの名前。ロールは、DestBucket に対する書き込み権限と、NotifyTopic にメッセージを送信する権限を持っている必要があります。

子ノード: なし

親ノード: Snapshot

DestBucket

文字列

いいえ

高頻度スナップショット操作の結果を格納するバケット。バケットは現在のバケットと同じ所有者に属している必要があります。

子ノード: なし

親ノード: Snapshot

NotifyTopic

文字列

いいえ

高頻度スナップショット操作の結果をユーザーに通知するために使用される MNS トピック。

子ノード: なし

親ノード: Snapshot

Interval

数値

はい

高頻度スナップショット操作の間隔。間隔内にインラインフレームなどのキーフレームが存在しない場合、スナップショットはキャプチャされません。

単位: 秒

子ノード: なし

親ノード: Snapshot

有効な値: [1, 100]

デフォルトでは、このパラメーターは空のままです。

レスポンスパラメーター

パラメーター

タイプ

説明

CreateLiveChannelResult

コンテナー

CreateLiveChannel リクエストへの応答を格納するコンテナー。

子ノード: PublishUrls および PlayUrls

親ノード: なし

PublishUrls

コンテナー

LiveChannel にストリームをアップストリーミング するために使用される URL を格納するコンテナー。

子ノード: Url

親ノード: CreateLiveChannelResult

Url

文字列

LiveChannel にストリームをアップストリーミング するために使用される URL。

子ノード: なし

親ノード: PublishUrls

説明
  • ストリームのアップストリーミング に使用される URL は署名されていません。バケットのアクセス制御リスト (ACL) がパブリック読み取り/書き込みでない場合は、バケットにアクセスするために URL を使用する前に、URL に署名を追加する必要があります。

  • ストリームの再生に使用する URL は署名されていません。バケットの ACL が非公開の場合、バケットにアクセスするために URL を使用する前に、URL に署名を追加する必要があります。

PlayUrls

コンテナー

LiveChannel にアップストリーミング されたストリームを再生するために使用される URL を格納するコンテナー。

子ノード: Url

親ノード: CreateLiveChannelResult

Url

文字列

LiveChannel にアップストリーミング されたストリームを再生するために使用される URL。

子ノード: なし

親ノード: PlayUrls

リクエストの例

PUT /test-channel?live HTTP/1.1
Date: Wed, 24 Aug 2016 11:11:28 GMT
Content-Length: 333
Host: test-bucket.oss-cn-hangzhou.aliyuncs.com
Authorization: OOSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
<LiveChannelConfiguration>
    <Description/>
    <Status>enabled</Status>
    <Target>
        <Type>HLS</Type>
        <FragDuration>2</FragDuration>
        <FragCount>3</FragCount>
    </Target>
    <Snapshot>
        <RoleName>role_for_snapshot</RoleName>
        <DestBucket>snapshotdest</DestBucket>
        <NotifyTopic>snapshotnotify</NotifyTopic>
        <Interval>1</Interval>
     </Snapshot>
</LiveChannelConfiguration>

レスポンスの例

HTTP/1.1 200
content-length: 259
server: AliyunOSS
x-oss-server-time: 4
connection: close
x-oss-request-id: 57BD8419B92475920B0002F1
date: Wed, 24 Aug 2016 11:11:28 GMT
x-oss-bucket-storage-type: standard
content-type: application/xml

<?xml version="1.0" encoding="UTF-8"?>
<CreateLiveChannelResult>
  <PublishUrls>
    <Url>rtmp://test-bucket.oss-cn-hangzhou.aliyuncs.com/live/test-channel</Url>
  </PublishUrls>
  <PlayUrls>
    <Url>http://test-bucket.oss-cn-hangzhou.aliyuncs.com/test-channel/playlist.m3u8</Url>
  </PlayUrls>
</CreateLiveChannelResult>