配置APP錄制,輸出內容保存到OSS中。
直播錄制功能,可以將直播內容進行錄制,保存至您指定的位置,在您需要回看直播內容時可以進行回看。存儲至OSS的錄制內容,支持多種保存格式(TS、MP4、FLV、CMAF),支持自定義錄制策略(自動錄制、按需錄制、手動錄制),調用此接口可進行錄制模版設置。更多直播錄制功能使用可參見直播錄制說明文檔。
QPS限制
本接口的單用戶QPS限制為30次/秒。超過限制,API調用會被限流,這可能會影響您的業務,請合理調用。更多信息,請參見QPS限制。
調試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
請求參數
名稱 |
類型 |
是否必選 |
示例值 |
描述 |
Action | String | 是 | AddLiveAppRecordConfig | 系統規定參數。取值:AddLiveAppRecordConfig。 |
DomainName | String | 是 | example.com | 主播流域名。 |
AppName | String | 是 | liveApp**** | 播流所屬應用名稱。 |
OssEndpoint | String | 是 | learn.developer.aliyundoc.com | OSS存儲的Endpoint名稱。 直播錄制文件存儲至OSS,需提前創建OSS Bucket,創建方法請參見配置OSS 。 |
OssBucket | String | 是 | liveBucket**** | OSS存儲的Bucket名稱。 直播錄制文件存儲至OSS,需提前創建OSS Bucket,創建方法請參見配置OSS 。 |
StreamName | String | 否 | teststream | 播流名稱。 |
StartTime | String | 否 | 2018-04-10T09:57:21Z | 錄制開始時間。格式為:yyyy-MM-ddTHH:mm:ssZ(UTC時間)。 說明 設置的時間必須是實際推流時間開始7天之內,只在流級別錄制(StreamName不為空)有效。 |
EndTime | String | 否 | 2018-04-16T09:57:21Z | 錄制結束時間。格式為:yyyy-MM-ddTHH:mm:ssZ(UTC時間)。 說明 EndTime與StartTime相差不應超過7天,超過7天將按照7天計算。只在流級別錄制(StreamName不為空)有效。 |
OnDemand | Integer | 否 | 1 | 按需錄制。取值:
說明 當OnDemand取值為1時,需要先通過AddLiveRecordNotifyConfig接口配置OnDemandUrl,否則默認不錄制。 |
DelayTime | Integer | 否 | 180 | 斷流拼接時長。 直播斷流時長超過設定的拼接時長后,將會生成新文件,斷流拼接時長支持15~21600秒。 |
RecordFormat.N.SliceDuration | Integer | 否 | 30 | 單個切片時長。單位:秒。 重要 當RecordFormat.N.Format(格式)設為m3u8或cmaf時,本參數才有效。
不填則默認為30秒。取值范圍:5s~30s。 |
RecordFormat.N.SliceOssObjectPrefix | String | 否 | record/{AppName}/{StreamName}/{UnixTimestamp}_{Sequence} | 切片名稱。 重要 當RecordFormat.N.Format(格式)設為m3u8或cmaf時,本參數才需要配置。
|
RecordFormat.N.CycleDuration | Integer | 否 | 1 | 周期錄制時長。單位:秒。不填則默認為6小時。 說明
|
RecordFormat.N.OssObjectPrefix | String | 否 | record/{AppName}/{StreamName}/{Sequence}_{EscapedStartTime}_{EscapedEndTime} | OSS存儲的錄制文件名。
|
RecordFormat.N.Format | String | 否 | m3u8 | 格式。目前支持M3U8、FLV、MP4、CMAF。取值: 重要 RecordFormat和TranscodeRecordFormat兩者至少需要設置一個。如果選擇m3u8或cmaf格式,必須同時設置請求參數RecordFormat.N.SliceOssObjectPrefix和RecordFormat.N.SliceDuration。
|
TranscodeRecordFormat.N.SliceDuration | Integer | 否 | 30 | 轉碼流錄制單個切片時長,單位:秒。 重要 當TranscodeRecordFormat.N.Format(轉碼流錄制格式)設為m3u8或cmaf時,本參數才生效。
不填則默認為30秒。取值范圍:5s~30s。 |
TranscodeRecordFormat.N.SliceOssObjectPrefix | String | 否 | record/{AppName}/{StreamName}/{UnixTimestamp}_{Sequence} | 轉碼流錄制切片名稱。 重要 當TranscodeRecordFormat.N.Format(轉碼流錄制格式)設為m3u8或cmaf時,本參數才需要配置。
|
TranscodeRecordFormat.N.CycleDuration | Integer | 否 | 21600 | 轉碼流錄制周期錄制時長。單位:秒。不填則默認為6小時。 |
TranscodeRecordFormat.N.OssObjectPrefix | String | 否 | record/{AppName}/{StreamName}/{Sequence}_{EscapedStartTime}_{EscapedEndTime} | 轉碼流錄制OSS存儲的錄制文件名。
|
TranscodeRecordFormat.N.Format | String | 否 | m3u8 | 轉碼流錄制格式。目前支持M3U8、FLV、MP4、CMAF。取值: 重要 如果選擇m3u8或cmaf格式,必須同時設置請求參數TranscodeRecordFormat.N.SliceOssObjectPrefix和TranscodeRecordFormat.N.SliceDuration。
|
TranscodeTemplates.N | String | 否 | sd |
|
返回數據
名稱 |
類型 |
示例值 |
描述 |
RequestId | String | 16A96B9A-F203-4EC5-8E43-CB92E68F**** | 請求ID。 |
示例
請求示例
http(s)://live.aliyuncs.com/?Action=AddLiveAppRecordConfig
&AppName=liveApp****
&DomainName=example.com
&OssBucket=liveBucket****
&OssEndpoint=learn.developer.aliyundoc.com
&<公共請求參數>
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<?xml version="1.0" encoding="UTF-8" ?>
<AddLiveAppRecordConfigResponse>
<RequestId>16A96B9A-F203-4EC5-8E43-CB92E68F4CD8</RequestId>
</AddLiveAppRecordConfigResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"AddLiveAppRecordConfigResponse" : {
"RequestId" : "16A96B9A-F203-4EC5-8E43-CB92E68F4CD8"
}
}
錯誤碼
HttpCode |
錯誤碼 |
錯誤信息 |
描述 |
400 | InvalidOssBucket.Malformed | Specified parameter OssBucket is not valid. | OSSBucket參數錯誤,請您確認該OSS BUCKET參數是否正確。 |
400 | InvalidOssBucket.NotFound | The parameter OssBucket does not exist. | OSSBucket參數錯誤,請您確認該OSS BUCKET參數是否正確。 |
400 | InvalidFormat.Malformed | Specified parameter Format is not valid. | Format參數錯誤,請您確認該Format參數是否正確。 |
400 | InvalidCycleDuration.Malformed | Specified CycleDuration Format is not valid. | CycleDuration參數格式錯誤,請您確認該CycleDuration參數格式是否正確。 |
400 | MissingOssObjectPrefix | OssObjectPrefix is mandatory for this action. | 缺少OssObjectPrefix值,請您確認OssObjectPrefix值是否正確。 |
400 | InvalidOssObjectPrefix.Malformed | Specified parameter OssObjectPrefix is not valid. | OSSObjectPrefix參數錯誤,請您確認該OSSObjectPrefix參數是否正確。 |
400 | InvalidSliceOssObjectPrefix.Malformed | Specified parameter SliceOssObjectPrefix is not valid. | SliceOssObjectPrefix參數錯誤,請您確認該SliceOssObjectPrefix參數是否正確。 |
400 | ConfigAlreadyExists | Config has already exist. | 配置已添加。 |
400 | InvalidStartTime.Malformed | Specified StartTime is malformed. | StartTime參數錯誤,請您確認該StartTime參數是否正確。 |
400 | InvalidEndTime.Malformed | Specified EndTime is malformed. | 結束時間錯誤,請您確認結束時間是否正確。 |
訪問錯誤中心查看更多錯誤碼。
注意事項:
- 視頻直播支持觸發拉流,當使用觸發拉流域名對應的播放地址進行播放時,會自動觸發阿里云視頻直播服務進行拉流直播,無人播放時則不會回源站進行拉流。自動錄制、按需錄制、手動錄制功能應用在觸發拉流場景時,如果觸發拉流無人播放,則不會回源站拉流,自動錄制、按需錄制、手動錄制同樣也不會進行錄制。