你可以使用媒体处理 MPS,通过直播流播放地址对直播内容进行录制。
一、控制台创建任务
1. 在 直播录制模板 页面,创建直播录制模板。控制台已预先提供一个默认录制模板。
2. 在 直播编排 页面,创建一个直播服务编排。在页面中需要选择 COS 存储的 Bucket,并需要为录制的输出结果编写一个目录。在下方的任务配置流程图中,单击中间加号,添加一个“直播录制”环节。
3. 单击刚刚添加的直播录制环节右侧的编辑按钮,可以为这个环节进行详细配置。
4. 在详细配置中填写信息并保存。
4.1 选择录制模板。
4.2 选择输出 Bucket。
4.3 对输出路径进行编辑。文件的输出路径,可以为相对路径或者绝对路径。默认为相对路径。
注意:在路径规则中删除{rand}随机数变量可能会导致在其它变量参数相同的情况下,多个结果文件相互覆盖。请谨慎修改。
5. 完成上述信息填写后,单击创建即可建立一个直播服务编排。
6. 进入 直播任务管理 页面,创建一个新的任务。输入需要录制的直播流地址,并选择关联之前创建的直播服务编排。最后,单击创建。
注意:在创建直播录制任务时,请保证直播流地址填写正确。拉取直播流失败后,会执行3次重试,如仍无法获取直播流,录制任务将会返回失败。
二、API 发起任务
你可以通过 API Explorer 实现快速验证,进入页面填写相关参数信息后即可发起 API 在线调用。相关任务示例可参考下文代码。
三、发起直播录制任务
请求示例:
POST / HTTP/1.1Host: mps.tencentcloudapi.comContent-Type: application/jsonX-TC-Action: ProcessLiveStream
{ "Url": "rtmp://live.qcloud.com/live/streamid", "OutputStorage": { "Type": "COS", "CosOutputStorage": { "Bucket": "mps-record-<appid>", "Region": "ap-guangzhou" } }, "TaskNotifyConfig": { "NotifyType": "None" }, "OutputDir": "/liverecord/", "ScheduleId": 21293}
响应示例:
{ "Response": { "TaskId": "24000080-LiveScheduleTask-0a7e0a14bee59e90d1969f1a8a5e8728tt204667", "RequestId": "3e9aa020-ef28-4db0-b0b9-73faf4b96883" }}
四、查询直播录制任务列表
请求示例:
POST / HTTP/1.1Host: mps.tencentcloudapi.comContent-Type: application/jsonX-TC-Action: DescribeTask
{ "Status": "", "Limit": 100, "Offset": 0, "TaskIds": [ "24000080-LiveScheduleTask-6c126a1e0bf3a2223afadc9e3cae128dtt204667" ]}
响应示例:
{ "Response": { "ScrollToken": "", "TotalCount": 1, "TaskSet": [{ "TaskId": "24000080-LiveScheduleTask-6c126a1e0bf3a2223afadc9e3cae128dtt204667", "Status": "PROCESSING", "TaskType": "LiveScheduleTask", "SubTaskTypes": [ "LiveRecord" ], "Input": "rtmp://live.qcloud.com/live/streamid", "CreateTime": "2025-03-17T03:01:13Z", "BeginProcessTime": "2025-03-17T03:01:14Z", "FinishTime": "0000-00-00T00:00:00Z" }], "RequestId": "5d7916ae-b2f6-4210-a701-317c9c449472" }}
五、查询直播任务详情
请求示例:
POST / HTTP/1.1Host: mps.tencentcloudapi.comContent-Type: application/jsonX-TC-Action: DescribeTaskDetail
{ "TaskId": "24000080-LiveScheduleTask-c542130de25acaf6025c5c16bb887e8btt204667"}
响应示例:
{ "Response": { "CreateTime": "2025-03-17T05:23:31Z", "FinishTime": "2025-03-17T05:54:28Z", "LiveScheduleTask": { "ErrCode": 0, "LiveActivityResultSet": [{ "ActivityType": "LiveRecord", "LiveActivityResItem": { "LiveRecordTask": { "BeginProcessTime": "2025-03-17T05:23:35Z", "ErrCode": 0, "FinishTime": "2025-03-17T05:54:28Z", "Input": { "Definition": 28506, "OutputObjectPath": "/liverecord/24000080-LiveScheduleTask-c542130de25acaf6025c5c16bb887e8btt204667/{rand}/streamid_record_28506", "OutputStorage": { "CosOutputStorage": { "Bucket": "mps-record-<appid>", "Region": "ap-guangzhou" }, "Type": "COS" } }, "Message": "SUCCESS", "Output": { "FileList": [{ "Duration": 630, "EndTime": "2025-03-17T13:34:08+08:00", "Size": 197626004, "StartTime": "2025-03-17T13:23:43+08:00", "Url": "http://mps-record-<appid>.cos.ap-guangzhou.myqcloud.com/liverecord/24000080-LiveScheduleTask-c542130de25acaf6025c5c16bb887e8btt204667/streamid_record_28506.m3u8" } ] }, "Status": "SUCCESS" } }, }], "Message": "SUCCESS", "Status": "FINISH", "TaskId": "24000080-LiveScheduleTask-c542130de25acaf6025c5c16bb887e8btt204667", "Url": "rtmp://live.qcloud.com/live/streamid" }, "RequestId": "d3497b4b-652f-4e3e-a07b-cf67b633ebd4", "Status": "FINISH", "TaskType": "LiveScheduleTask", "TasksPriority": 0 }}
六、终止直播录制任务
请求示例:
POST / HTTP/1.1Host: mps.tencentcloudapi.comContent-Type: application/jsonX-TC-Action: ManageTask
{ "TaskId": "24000080-LiveScheduleTask-0a7e0a14bee59e90d1969f1a8a5e8728tt204667", "OperationType": "Abort"}
响应示例:
{ "Response": { "RequestId": "635367fc-fd98-448c-887a-a4dbc22d74f9" }}