RTC クラウド録画タスクを開始します。
操作説明
クラウド録画は有料の機能です。請求明細については、「クラウド録画の料金」を参照してください。
録画タスクの開始後、アイドル状態 (ストリームのアップストリーミングなし) でも料金が発生します。したがって、録画が終了したら速やかに StopRtcCloudRecording を呼び出すか、必要に応じて MaxIdleTime を短くしてください。
サービス登録
この操作に対しては、以下のエンドポイントが有効です。
| リージョン | リージョン ID | パブリックエンドポイント |
| 上海 | cn-shanghai | live.aliyuncs.com |
| シンガポール | ap-southeast-1 | live.ap-southeast-1.aliyuncs.com |
| 米国 (バージニア) | us-east-1 | live.us-east-1.aliyuncs.com |
QPS 制限
この操作のシングルユーザー QPS 制限は、1 秒あたり 50 回の呼び出しです。この制限を超えると、API 呼び出しがスロットリングされ、ビジネスに影響を与える可能性があります。この操作は適切に呼び出してください。
今すぐお試しください
テスト
RAM 認証
|
アクション |
アクセスレベル |
リソースタイプ |
条件キー |
依存アクション |
|
live:StartRtcCloudRecording |
create |
*すべてのリソース。
|
なし | なし |
リクエストパラメーター
|
パラメーター |
型 |
必須 / 任意 |
説明 |
例 |
| AppId |
string |
必須 |
録画対象のチャンネルが属するアプリの ID。アプリは、この操作の呼び出し元の Alibaba Cloud アカウントに属している必要があります。 |
********-7074-****-9ef5-85c19a4***** |
| ChannelId |
string |
必須 |
録画対象のチャンネルの ID。この操作の呼び出し時に、チャンネルにアクティブなユーザーがいることを確認してください。そうでない場合、録画タスクの作成に失敗します。 |
room1024 |
| SubscribeParams |
object |
必須 |
サブスクリプションパラメーター。 |
|
| SubscribeUserIdList |
array<object> |
必須 |
サブスクライブされた UserId エントリのリスト。シングルストリーム録画モードでは、各 UserId が個別に録画されます。混合ストリーム録画モードでは、すべての UserId の音声とビデオが 1 つの音声とビデオのセットに混合されます。 説明
|
|
|
object |
任意 |
サブスクライブされた UserId に関する情報。 |
||
| UserId |
string |
必須 |
サブスクライブされた UserId。 |
userA |
| StreamType |
integer |
任意 |
サブスクライブされた UserId のメディアタイプ。有効な値:
列挙値:
|
0 |
| SourceType |
integer |
任意 |
UserId のビデオ入力ストリームタイプ。このパラメーターは、サブスクライブされたストリームが音声のみでない場合 (StreamType != 1) にのみ有効です。有効な値:
列挙値:
|
0 |
| RecordParams |
object |
必須 |
録画パラメーター。 |
|
| RecordMode |
integer |
必須 |
録画モード。有効な値:
列挙値:
|
0 |
| StreamType |
integer |
任意 |
録画出力ストリームのメディアタイプ。有効な値:
列挙値:
|
0 |
| MaxFileDuration |
integer |
任意 |
録画ファイルの持続時間の最大値 (秒単位)。この持続時間を超えた録画ファイルはコスト配分されます。有効な値: 180 ~ 7200 (最大値 2 時間)。デフォルト値: 7200。 |
7200 |
| StorageParams |
object |
必須 |
ストレージパラメーター。 |
|
| StorageType |
integer |
必須 |
ストレージメソッド。有効な値:
列挙値:
|
1 |
| FileInfo |
array<object> |
任意 |
ファイルストレージ情報。録画ファイルのフォーマット、ストレージの場所、および命名規則を指定します。このパラメーターは、StorageType が OSS にセットされている場合にのみ有効です。 説明
配列内の各要素に対して、対応する構成に基づいて録画ファイルが生成されます。フォーマットが指定されていない場合、デフォルトで HLS フォーマットが使用されます。 |
|
|
object |
任意 |
各ファイルフォーマットのストレージ構成。 |
||
| Format |
string |
必須 |
ファイルストレージフォーマット。有効な値:
列挙値:
|
HLS |
| FileNamePattern |
string |
任意 |
ファイルの命名規則。以下の変数の呼び出しを選択し、任意の注文で組み合わせることができます。
デフォルト値:
説明
|
{AppId}_{ChannelId}_{StartTime}_{UserId} |
| SliceNamePattern |
string |
任意 |
メディアセグメントファイルの命名規則。このパラメーターは HLS フォーマットでのみ有効です。FileNamePattern と似ていますが、追加の変数 Sequence があります。
デフォルト値:
説明
|
{AppId}_{ChannelId}_{StartTime}_{Sequence} |
| FilePathPrefix |
array |
任意 |
ファイルストレージパス。配列内の各要素はディレクトリレベルの呼び出しに対応します。たとえば、パラメーター値が ["dir1","dir2"] の場合、xxx.m3u8 ファイルは dir1/dir2/TaskId/xxx.m3u8 として保存されます。このパラメーターが空の場合、ファイルは直接 TaskId/xxx.m3u8 として保存されます。
|
|
|
string |
任意 |
各ディレクトリレベルの名前。 |
dir1 |
|
| SliceDuration |
integer |
任意 |
セグメントの長さ (秒単位)。このパラメーターは HLS フォーマットでのみ有効です。有効な値: 10 ~ 30。デフォルト値: 30。 特別な要件がない場合は、デフォルト値を使用してください。 |
30 |
| OSSParams |
object |
任意 |
OSS ストレージ構成。このパラメーターは、ストレージメソッドが OSS の場合に必須であり、ストレージメソッドが VOD の場合は無効です。 |
|
| OSSEndpoint |
string |
必須 |
OSS ストレージのエンドポイント。対応するリージョン ID は、選択したサービス登録エンドポイントと同じである必要があります。 |
oss-cn-shanghai.aliyuncs.com |
| OSSBucket |
string |
必須 |
OSS バケットの名前。バケットは、この操作の呼び出し元の Alibaba Cloud アカウントに属している必要があります。 |
mytest-バケット |
| VodParams |
object |
任意 |
ビデオオンデマンド (VOD) ストレージ構成。このパラメーターは、ストレージメソッドが VOD の場合に必須であり、ストレージメソッドが OSS の場合は無効です。 説明
|
|
| StorageLocation |
string |
任意 |
ビデオオンデマンドコンソールの [メディアアセット管理構成] > [ストレージ管理] にリストされているストレージの場所。録画ファイルは最初にこの場所に保存され、その後 VOD にアップロードされます。 説明
|
mytest.oss-cn-shenzhen.aliyuncs.com |
| VodTranscodeGroupId |
string |
任意 |
ビデオオンデマンドトランスコーディングテンプレートグループの ID。 説明
|
****8a914d3989e9825eb90530b2**** |
| AutoCompose |
integer |
任意 |
自動マージを有効にするかどうかを指定します。有効な値:
列挙値:
|
0 |
| ComposeVodTranscodeGroupId |
string |
任意 |
ビデオオンデマンドサービスで自動的に混合ストリームされた新しいビデオをトランスコードするために使用されるビデオオンデマンドトランスコーディングテンプレートグループの ID。これは、トランスコード操作に使用されるリソースファイルです。 説明
|
****4c34112cfe68248f2f77759c**** |
| MixTranscodeParams |
object |
任意 |
トランスコードパラメーター。シングルストリーム録画モードでは、このパラメーターを空にしてください。このパラメーターは、混合ストリーム録画モードでは必須です。 |
|
| FrameFillType |
integer |
任意 |
ストリーム中断時のフレーム塗りつぶしタイプ。有効な値:
列挙値:
|
0 |
| AudioBitrate |
integer |
必須 |
音声ビットレート (kbps 単位)。有効な値: 8 ~ 500。このパラメーターは混合ストリームモードでは必須です。 |
300 |
| AudioChannels |
integer |
必須 |
音声チャンネル数。有効な値:
このパラメーターは混合ストリームモードでは必須です。 列挙値:
|
2 |
| AudioSampleRate |
integer |
必須 |
音声サンプルレート (Hz 単位)。有効な値:
このパラメーターは混合ストリームモードでは必須です。 列挙値:
|
32000 |
| VideoCodec |
string |
任意 |
ビデオエンコード形式。有効な値:
列挙値:
|
H.264 |
| VideoBitrate |
integer |
任意 |
ビデオビットレート (kbps 単位)。有効な値: 1 ~ 10000。 このパラメーターは、録画出力にビデオが含まれることが予想される場合、混合ストリームモードで必須です。その他の場合は無効です。 |
5000 |
| VideoFramerate |
integer |
任意 |
ビデオフレームレート (fps 単位)。有効な値: 1 ~ 60。 このパラメーターは、録画出力にビデオが含まれることが予想される場合、混合ストリームモードで必須です。その他の場合は無効です。 |
30 |
| VideoGop |
integer |
任意 |
ビデオ GOP。VideoGop フレームごとに I フレームが存在します。有効な値: 1 ~ 60。 このパラメーターは、録画出力にビデオが含まれることが予想される場合、混合ストリームモードで必須です。その他の場合は無効です。 |
30 |
| VideoHeight |
integer |
任意 |
ビデオの高さ (ピクセル単位)。有効な値: 0 ~ 1920。デフォルト値: 0。 |
480 |
| VideoWidth |
integer |
任意 |
ビデオの幅 (ピクセル単位)。有効な値: 0 ~ 1920。デフォルト値: 0。 |
640 |
| MixLayoutParams |
object |
任意 |
レイアウトパラメーター。シングルストリーム録画モードでは、このパラメーターを空にしてください。このパラメーターは、録画出力に音声のみのファイル以外のファイルが含まれることが予想される場合、混合ストリーム録画モードで必須です。 |
|
| MixBackground |
object |
任意 |
ストリーム混合用のグローバルバックグラウンドイメージ。 |
|
| RenderMode |
integer |
任意 |
出力の表示モード。有効な値:
列挙値:
|
0 |
| Url |
string |
任意 |
バックグラウンドイメージの URL。最大長: 2048 文字。 |
https://xxxx.com/photos/my-test-picture.png |
| UserPanes |
array<object> |
任意 |
サブスクライブされたユーザーのウィンドウレイアウトのフォーマット情報。レイアウト情報が構成されている UserId を持つユーザーのみがビデオに配置されます。このパラメーターは、ストリーム混合モードを使用し、かつ音声のみの録画ではない場合に必須です。 |
|
|
array<object> |
任意 |
ビデオ内のウィンドウ構成。 |
||
| UserId |
string |
任意 |
このウィンドウに対応する UserId。
|
userA |
| SourceType |
integer |
任意 |
UserId のビデオ入力ストリームタイプ。UserId が指定されていない場合、このパラメーターは無効です。有効な値:
ここで指定された UserId と SourceType の組み合わせは、SubscribeUserIdList に含まれている必要があります。 列挙値:
|
0 |
| Height |
string |
任意 |
正規化されたパーセンテージで表したペインの高さ。有効な値の範囲は [0, 1] です。デフォルト値: 0。 |
0.5 |
| Width |
string |
任意 |
正規化されたパーセンテージで表したペインの幅。有効な値の範囲は [0, 1] です。デフォルト値: 0。 |
0.5 |
| X |
string |
任意 |
正規化されたパーセンテージで表した X 座標。有効な値の範囲は [0, 1] です。デフォルト値: 0。 |
0 |
| Y |
string |
任意 |
正規化されたパーセンテージで表した Y 座標。有効な値の範囲は [0, 1] です。デフォルト値: 0。 |
0 |
| ZOrder |
integer |
任意 |
ペインの Z 順序。0 が最下層レイヤー、1 がその上のレイヤーという順序になります。デフォルト値: 0。 |
0 |
| SubBackground |
object |
任意 |
サブペインのバックグラウンドイメージ。ユーザーがカメラをオフにした場合、チャンネル参加後にストリームのアップストリーミングを開始していない場合、または途中でチャンネルから退出した場合、対応するイメージがレイアウト位置に表示されます。 |
|
| RenderMode |
integer |
任意 |
サブペイン出力の表示モード。有効な値:
列挙値:
|
0 |
| Url |
string |
任意 |
バックグラウンドイメージの URL。最大長: 2048 文字。 |
https://xxxx.com/photos/my-test-pane-picture.png |
| NotifyUrl |
string |
任意 |
クラウド録画タスクのコールバックメッセージを受信するための URL。API 呼び出しの結果、タスクステータスメッセージは POST メソッドを使用して JSON フォーマットでこの URL に送信されます。最大長は 2048 文字です。 クラウド録画のコールバックメッセージの詳細については、ドキュメント を参照してください。 |
http://xxxx/test/API呼び出しコールバック |
| NotifyAuthKey |
string |
任意 |
コールバックメッセージの認証キー。このパラメーターが空の場合 (デフォルト)、認証は実行されません。指定する場合、値の長さは 16~64 文字で、大文字、小文字、および数字のみを含めることができます。
|
mytestkeymytestkey |
| NotifyFileUploadedFormat |
array |
任意 |
録画ファイル生成イベント (RecordFileUploaded) がトリガーされたときにコールバックメッセージが送信されるファイル形式。 |
|
|
string |
任意 |
コールバックを受信する特定のファイル形式。有効な値 (大文字と小文字を区別しない):
ビデオオンデマンドストレージモードはサポートされていません。 OSS ストレージモードの場合、選択した形式は StorageParams.FileInfo で指定されたファイル形式に含まれている必要があります。 |
MP4 |
|
| MaxIdleTime |
integer |
任意 |
アイドルタイムアウト期間。タスクが MaxIdleTime より長くアイドル状態のままである場合、タスクは自動的に停止されます。単位: 秒。有効な値: 10~14400 (最大 4 時間)。デフォルト値: 300。
|
600 |
-
個別ストリーム録画モードの場合:
同じ UserId のカメラストリームと画面共有ストリームの両方を同じ時間でサブスクリプションできます。ただし、録画ファイルが互いに上書きされるのを防ぐため、FileNamePattern パラメーターと SliceNamePattern パラメーターには SourceType 変数を含める必要があります。
特定の UserId のビデオストリームのみ (音声なし) をサブスクリプションすることはサポートされていません。個別ストリーム録画モードでは、UserInfo.StreamType の値を 2 にセットすることはできません。
-
個別ストリーム録画モードの場合:
RecordParams.StreamType が音声のみ (値 1) にセットされている場合、SubscribeParams にビデオのみのサブスクリプション (SubscribeParams 値 2) を含めることはできません。
RecordParams.StreamType がビデオのみ (値 2) にセットされている場合、SubscribeParams に音声のみのサブスクリプション (SubscribeParams 値 1) を含めることはできません。
-
混合ストリーム録画モードの場合:
RecordParams.StreamType が音声のみ (値 1) に設定されている場合、SubscribeParams 内のすべての UserId がビデオのみのストリームを購読する (すべての SubscribeParams 値が 2 に設定されている) ことはできません。
RecordParams.StreamType がビデオのみ (値 2) に設定されている場合、SubscribeParams 内のすべての UserId が音声のみのストリームを購読する (すべての SubscribeParams 値が 1 に設定されている) ことはできません。
-
録画中にチャンネルが途中で閉じられた場合、アイドルタイムアウト期間内に再参加してストリームのアップストリーミングを再開する必要があります。そうしないと、タスクは自動的に停止されます。
レスポンスフィールド
|
フィールド |
型 |
説明 |
例 |
|
object |
レスポンスパラメーター。 |
||
| RequestId |
string |
リクエスト ID。 |
******58-5876-****-83CA-B56278****** |
| TaskId |
string |
タスク ID。 |
******73-8501-****-8ac1-72295a****** |
例
成功レスポンス
JSONJSON
{
"RequestId": "******58-5876-****-83CA-B56278******",
"TaskId": "******73-8501-****-8ac1-72295a******"
}
エラーコード
|
HTTP ステータスコード |
エラーコード |
エラーメッセージ |
説明 |
|---|---|---|---|
| 400 | InvalidParameter.NotifyUrl | %s, please check the notifyUrl. | NotifyUrl パラメーターのフォーマットが無効です。パラメーターを確認してください。 |
| 400 | InvalidParameter.StorageParams.FileInfo | %s, please check the fileInfo of storageParams. | FileInfo パラメーターに無効なフィールドが含まれています。パラメーターを確認してください。 |
| 400 | InvalidParameter.StorageParams.OSSParams | %s, please check the ossParams of storageParams. | OSSParams パラメーターに無効なフィールドが含まれています。パラメーターを確認してください。 |
| 400 | NotFound.OSSBucket | %s, please check the ossBucket of storageParams. | OSSBucket パラメーターが存在しません。 |
| 400 | InvalidParameter.SubscribeParams.SubscribeUserIdList | %s, please check the subscribeUserIdList of subscribeParams. | SubscribeUserIdList パラメーターが無効です。パラメーターを確認してください。 |
| 400 | InvalidParameter.MixLayoutParams.UserPanes | %s, please check the userPanes of mixLayoutParams. | UserPanes パラメーターに無効なフィールドが含まれています。パラメーターを確認してください。 |
| 400 | InvalidParameter.MixTranscodeParams | %s, please check the transcodeParams. | MixTranscodeParams パラメーターに無効なコードが含まれています。パラメーターを確認してください。 |
| 400 | MissingParameter | %s. | 必須パラメーターが不足しています。 |
| 403 | InvalidParameter.UserId | %s, please check the UserId. | UserId が無効です。パラメーターを確認してください。 |
| 403 | QuotaExceed.RunningTask | The number of active cloud recording tasks has reached the limit. | アクティブなクラウド録画タスクの数が上限に達しました。 |
| 404 | InvalidParameter.ChannelId | %s, please check the channelId. | ChannelId パラメーターが無効です。パラメーターを確認してください。 |
| 404 | InvalidParameter.AppId | %s, please check the appId. | AppId パラメーターが無効です。パラメーターを確認してください。 |
| 405 | InvalidParameter.StorageParams.VodParams | %s, please check the vodParams of storageParams. | VodParams パラメーターに無効なフィールドが含まれています。パラメーターを確認してください。 |
| 405 | InvalidParameter.NotifyAuthKey | %s, please check the notifyAuthKey. | NotifyAuthKey パラメーターのフォーマットが無効です。パラメーターを確認してください。 |
| 405 | InvalidParameter.MaxIdleTime | %s, please check the maxIdleTime. | MaxIdleTime パラメーターが無効です。パラメーターを確認してください。 |
| 405 | InvalidParameter.RecordParams | %s, please check the recordParams. | RecordParams パラメーターに無効なフィールドが含まれています。パラメーターを確認してください。 |
| 405 | InvalidParameter.StorageParams.StorageType | %s, please check the storageType of storageParams. | StorageType パラメーターが無効です。パラメーターを確認してください。 |
| 405 | InvalidParameter.NotifyFileUploadedFormat | %s, please check the notifyFileUploadedFormat. | NotifyFileUploadedFormat パラメーターが無効です。パラメーターを確認してください。 |
完全なリストについては、「エラーコード」をご参照ください。
変更履歴
完全なリストについては、「変更履歴」をご参照ください。