アプリケーションまたはライブストリームの記録設定を追加します。

使用状況ノート

記録機能は、自動記録、オンデマンド記録、および手動記録モードをサポートします。 使用する録画モードに関係なく、録画テンプレートを設定するには、この操作を呼び出す必要があります。 記録テンプレートでの記録の形式や期間などの情報を設定できます。 記録のフォーマットは、M3U8、MP4、またはFLVとすることができる。 複数の録画モードを同時に指定できます。 たとえば、アプリケーションの自動録音と、特定のライブストリームの手動録音を指定できます。 ただし、ライブストリームは1つのモードでしか記録できません。 アプリケーションに記録モードを指定し、アプリケーションの下でライブストリームに別の記録モードを指定した場合、ライブストリームはライブストリームに指定されたモードで記録されます。 アプリケーションの自動記録と、アプリケーションの下の特定のライブストリームの手動記録を指定するとします。 この場合、特定のライブストリームは手動で記録されます。 録画テンプレートのみを構成し、ライブストリームの手動録画に関連する操作を呼び出さない場合、ライブストリームは録画されません。

指定されたバケットにライブストリーム録画を書き込む権限が削除されている場合は、次の方法で権限を再設定します。

  • ApsaraVideo Liveコンソールで権限を設定します。 詳細については、「OSS の設定」をご参照ください。
  • RAMユーザーにApsaraVideo Liveへのアクセスを許可します。 詳細については、「概要」をご参照ください。
重要 リクエストでRecordFormatTranscodeRecordFormatのいずれかを設定する必要があります。

QPS制限

1人のユーザーが1秒あたり最大30件のクエリ (QPS) を実行できます。 1秒あたりの呼び出し数がQPS制限を超えると、スロットリングがトリガーされます。 スロットルはビジネスに影響を与える可能性があります。 したがって、この操作のQPS制限を遵守することをお勧めします。 シングルユーザーの意味とQPSの詳細については、「ApsaraVideo LiveのAPI操作のQPS制限」をご参照ください。

デバッグ

OpenAPI Explorer は署名値を自動的に計算します。 この操作は、OpenAPI Explorer で呼び出すことを推奨します。 OpenAPI Explorer は、さまざまな SDK に対して操作のサンプルコードを動的に生成します。

リクエストパラメーター

パラメーター データ型 必須/任意 説明
操作 String 必須 AddLiveAppRecordConfig

実行する操作です。 値をAddLiveAppRecordConfigに設定します。

AppName String 必須 liveApp ****

ライブストリームが属するアプリケーションの名前。

DomainName String 必須 example.com

メインのストリーミングドメイン。

OssBucket String 必須 liveBucket ****

記録が保存されているOSSバケットの名前。

OssEndpoint String 必須 oss-cn-shanghai.aliyundoc.com

OSSのエンドポイント。

RecordFormat.N. フォーマット String 任意 m3u8

録音のフォーマット。 設定可能な値は以下のとおりです。

  • m3u8
  • flv
  • mp4
RecordFormat.N.OssObjectPrefix String 任意 record/{AppName}/{StreamName}/{Sequence}{EscapedStartTime}{EscapedEndTime}

OSSに保存されているレコードの名前。

  • 名前は256バイト未満である必要があり、{AppName} 、{StreamName} 、{Sequence} 、{StartTime} 、{EndTime} 、{EscapedStartTime} 、および {EscapedEndTime} 変数を含めることができます。
  • 名前には、{StartTime} および {EndTime} 変数、または {EscapedStartTime} および {EscapedEndTime} 変数を含める必要があります。
  • デフォルトの記録時間は1時間です。 最小時間は15分で、最大時間は6時間です。
RecordFormat.N.SliceOssObjectPrefix String 任意 レコード /{AppName}/{StreamName}/{UnixTimestamp }_{ シーケンス}

TSセグメントの名前。 Formatパラメーターの値がm3u8の場合、このパラメーターは必須です。

  • デフォルトでは、TSセグメントの期間は30秒です。 名前は256バイト未満で、{AppName} 、{StreamName} 、{UnixTimestamp} 、および {Sequence} 変数を含めることができます。
  • 名前には、{UnixTimestamp} および {Sequence} 変数を含める必要があります。
RecordFormat.N.CycleDuration Integer 任意 1

録音の期間。 (単位:秒) このパラメーターを指定しない場合、デフォルト値は6時間です。

  • ライブストリームが記録期間中に中断されるが、3分以内に再開される場合、ストリームは中断の前後で同じ記録に記録される。
  • ライブストリームが3分以上中断されると、新しいレコーディングが生成されます。 デフォルトのストリーム中断時間を変更するには、チケットを起票してください。
RecordFormat.N.SliceDuration Integer 任意 30

記録内の単一のセグメントファイルの期間。 Formatパラメーターの値がm3u8の場合、このパラメーターは有効になります。 (単位:秒)

このパラメーターを指定しない場合、デフォルト値は30秒です。 有効な値: 5 ~ 30。

TranscodeRecordFormat.N. フォーマット String 任意 m3u8

トランスコードされたストリーム記録の形式。 設定可能な値は以下のとおりです。

  • m3u8
  • flv
  • mp4
TranscodeRecordFormat.N.OssObjectPrefix String 任意 record/{AppName}/{StreamName}/{Sequence}{EscapedStartTime}{EscapedEndTime}

OSSに保存されているトランスコードされたストリーム記録の名前。

  • 名前は256バイト未満である必要があり、{AppName} 、{StreamName} 、{Sequence} 、{StartTime} 、{EndTime} 、{EscapedStartTime} 、および {EscapedEndTime} 変数を含めることができます。
  • 名前には、{StartTime} および {EndTime} 変数、または {EscapedStartTime} および {EscapedEndTime} 変数を含める必要があります。
  • デフォルトの記録時間は1時間です。 最小時間は15分で、最大時間は6時間です。
TranscodeRecordFormat.N.SliceOssObjectPrefix String 任意 レコード /{AppName}/{StreamName}/{UnixTimestamp }_{ シーケンス}

トランスコードされたストリーム記録のTSセグメントの名前。 Formatパラメーターの値がm3u8の場合、このパラメーターは必須です。

  • デフォルトでは、TSセグメントの期間は30秒です。 名前は256バイト未満で、{AppName} 、{StreamName} 、{UnixTimestamp} 、および {Sequence} 変数を含めることができます。
  • 名前には、{UnixTimestamp} および {Sequence} 変数を含める必要があります。
TranscodeRecordFormat.N.CycleDuration Integer 任意 1

トランスコードされたストリーム記録の期間。 (単位:秒) このパラメーターを指定しない場合、デフォルト値は6時間です。

TranscodeRecordFormat.N.SliceDuration Integer 任意 30

トランスコードされたストリーム記録の単一セグメントファイルの期間。 Formatパラメーターの値がm3u8の場合、このパラメーターは有効になります。

(単位:秒) このパラメーターを指定しない場合、デフォルト値は30秒です。 有効な値: 5 ~ 30。

StreamName String 任意 テストストリーム

ライブストリームの名前。

StartTime String 任意 2018-04-10T09:57:21Z

録音の開始時間。 yyyy-MM-dd T HH:mm:ss Z形式のISO 8601標準で時刻を指定します。 時間は UTC にする必要があります。

開始時間は、ストリームの取り込み開始から7日以内である必要があります。 このパラメーターは、StreamNameパラメーターで指定されたライブストリームに対してのみ有効です。 StreamNameパラメーターが指定されていない場合、このパラメーターは有効になりません。
EndTime String 任意 2018-04-16T09:57:21Z

録音の終了時間。 yyyy-MM-dd T HH:mm:ss Z形式のISO 8601標準で時刻を指定します。 時間は UTC にする必要があります。

EndTimeとStartTimeの差は7日以内でなければなりません。 差が7日を超える場合、ApsaraVideo Liveは差として7日を考慮します。 このパラメーターは、StreamNameパラメーターで指定されたライブストリームに対してのみ有効です。 StreamNameパラメーターが指定されていない場合、このパラメーターは有効になりません。
オンデマンド Integer 任意 1

オンデマンド録画を有効にするかどうかを指定します。 設定可能な値は以下のとおりです。

  • 0: オンデマンド録画を無効にします。
  • 1: HTTPコールバックメソッドを使用してオンデマンド記録を有効にします。
  • 2: 取り込みパラメーターを解析することで、オンデマンド記録を有効にします。
  • 7: デフォルトでは、ApsaraVideo Liveはライブストリームを自動的に記録しません。 RealTimeRecordCommand操作を呼び出して、手動で録画を開始または停止できます。
OnDemandパラメーターを1に設定した場合、AddLiveRecordNotifyConfig操作を呼び出してOnDemandUrlパラメーターを設定する必要があります。 それ以外の場合、ApsaraVideo Liveはオンデマンド録画を実行しません。
TranscodeTemplates.N RepeatList 任意 sd
  • トランスコードされたストリームのAddLiveStreamTranscode。 一度に最大10個のトランスコードテンプレートを設定できます。
  • TranscodeRecordFormat.N.xxxパラメーターを指定する場合は、少なくとも1つのトランスコードテンプレートを設定します。
  • 複数またはすべてのトランスコードされたストリームを記録する場合は、TranscodeTemplatees.1を * に設定します。
    • TranscodeTemplatesパラメーターの値をrawに設定することはできません。 rawは予約済みの識別子です。
    • データ型RepeatListは、トランスコードテンプレート設定をインクリメントすることを意味します。 パラメータ名のNで示されます。 たとえば、TranscodeTemplatees.1=sd、TranscodeTemplatees.2=hdのようにトランスコードテンプレートを設定できます。
RecordFormatまたはTranscodeRecordFormatパラメーターを指定する必要があります。

レスポンスパラメーター

パラメーター データ型 説明
RequestId String 16A96B9A-F203-4EC5-8E43-CB92E68F4CD8

リクエストの ID です。

リクエストの例

http(s):// live.aliyundoc.com/?Action=AddLiveAppRecordConfig
&AppName=liveApp ****
&DomainNam e=example.com
&OssBucket=liveBucket ****
&OssEndpoin t=oss-cn-shanghai.aliyundoc.com
&<共通リクエストパラメーター>

正常に処理された場合のレスポンス例

XML 形式

<AddLiveAppRecordConfigResponse>
      <RequestId>16A96B9A-F203-4EC5-8E43-CB92E68F4CD8</RequestId>
</AddLiveAppRecordConfigResponse>

JSON 形式

{
    "RequestId":"16A96B9A-F203-4EC5-8E43-CB92E68F4CD8"
}

エラーコード

HttpCode エラーコード エラーメッセージ 説明
400 InvalidOssBucket.Malformed 指定されたパラメーターOssBucketは無効です。 OssBucketパラメーターの値が無効な場合に返されるエラーメッセージ。 OssBucketパラメーターの値が正しいかどうかを確認します。
400 InvalidOssBucket.NotFound パラメータOssBucketは存在しません。 OSSバケットが存在しない場合に返されるエラーメッセージ。 OssBucketパラメーターの値が正しいかどうかを確認します。
400 InvalidFormat.Malformed 指定されたパラメーターの形式は無効です。 記録に指定された形式が無効な場合に返されるエラーメッセージ。 RecordFormat.N.Formatパラメーターの値が正しいかどうかを確認します。
400 InvalidCycleDuration. 不正 指定されたCycleDuration Formatは無効です。 記録期間の形式が無効な場合に返されるエラーメッセージ。 RecordFormat.N.CycleDurationパラメーターの値が正しいかどうかを確認します。
400 MissingOssObjectPrefix このアクションにはOssObjectPrefixが必須です。 録音の名前が指定されていない場合に返されるエラーメッセージ。 RecordFormat.N.OssObjectPrefixパラメーターの値が正しいかどうかを確認します。
400 InvalidOssObjectPrefix.Malformed 指定されたパラメーターOssObjectPrefixは無効です。 録音の名前が無効な場合に返されるエラーメッセージ。 RecordFormat.N.OssObjectPrefixパラメーターの値が正しいかどうかを確認します。
400 InvalidSliceOssObjectPrefix.Malformed 指定されたパラメーターSliceOssObjectPrefixは無効です。 TSセグメントの名前が無効な場合に返されるエラーメッセージ。 RecordFormat.N.SliceOssObjectPrefixパラメーターの値が正しいかどうかを確認します。
400 ConfigAlreadyExists Configはすでに存在しています。 既存の記録設定が見つかった場合に返されるエラーメッセージ。
400 InvalidStartTime.Malformed 指定された StartTime は不正です。 開始時刻の形式が無効な場合に返されるエラーメッセージ。 StartTimeパラメーターの値が正しいかどうかを確認します。
400 InvalidEndTime.Malformed 指定された EndTime は不正です。 終了時刻の形式が無効な場合に返されるエラーメッセージ。 EndTimeパラメーターの値が正しいかどうかを確認します。
400 MissingTemplate テンプレートを指定する必要があります。 記録テンプレートが指定されていない場合に返されるエラーメッセージ。 録画テンプレートが正しく指定されていることを確認します。
400 InvalidSliceDuration。奇形 SliceDurationの指定された形式が無効です。 指定されたセグメント期間が無効な場合に返されるエラーメッセージ。 RecordFormat.N.SliceDurationパラメーターの値が正しいかどうかを確認します。
400 InvalidTemplate.ForbidRaw rawという名前のテンプレートは禁止されています。 記録テンプレートの名前が無効な場合に返されるエラーメッセージ。 rawという名前のテンプレートを入力することはできません。
400 InvalidTemplateLength.Malformed 指定されたレコードテンプレートの数が無効です。 指定された記録テンプレートの数が無効な場合に返されるエラーメッセージ。 指定された記録テンプレートの数が正しいかどうかを確認します。

エラーコードリストについては、「API エラーセンター」をご参照ください。

次の项目に注意してください。

  • ApsaraVideo Liveは、トリガーされたストリームプルをサポートします。 対応するドメイン名のストリーミングURLがストリーミングに使用されている場合、ApsaraVideo Liveは自動的にトリガーされてライブストリームをプルします。 ライブストリームが再生されない場合、ApsaraVideo liveはオリジンからライブストリームを取得しません。 この場合、自動モード、オンデマンドモード、および手動モードでの記録機能も無効になります。