リアルタイムメッセージングプロトコル (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 説明
|
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 説明
|
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>