产品动态
产品近期公告
关于 TRTC Live 正式上线的公告
关于TRTC Conference 正式版上线的公告
Conference 商业化版本即将推出
关于多人音视频 Conference 开启内测公告
关于音视频通话 Call 正式版上线的公告
关于腾讯云音视频终端 SDK 播放升级及新增授权校验的公告
关于 TRTC 应用订阅套餐服务上线的相关说明




配置项 | 说明 |
录制模式 | 单流录制:房间中的每个主播的视频画面都会单独保存成一份文件。 如需录制多个主播混合后的画面,请使用 手动合流录制。 |
录制格式 | 音视频格式:录制房间内的音频和视频流,适用于视频通话、互动直播场景。 纯音频格式:只录制房间内的音频流。 |
文件格式 | 支持 MP4 、HLS 和 AAC(纯音频格式下)。 |
单个录制文件时长 | 可用于指定录制文件切片时长,设置范围1-1440分钟,默认1440分钟。 |
续录等待时长 | 设置续录超时时长,当打断间隔不超过设定的续录超时时长时,一次通话(或直播)只会生成一个文件,但需要等待续录时间超时后才能收到录制文件,单位:秒,取值范围1 - 86400(默认30s)。 注意:在续录等待期内,单流录制会按照音频时长收取录制费用,请合理设置。 |
录制文件存储 | 支持存储至 腾讯云云点播 VOD 、 腾讯云对象存储 COS 和AWS S3存储
云点播:需支持指定云点播应用、录制文件在云点播的存储时间以及绑定点播任务流。
对象存储&AWS:需要完成对应存储桶的配置,请确保存储桶具备可写权限。 |
回调地址与回调密钥 |

{"Response": {"Status": "xx","StorageFileList": [{"TrackType": "xx","BeginTimeStamp": 1622186279144,"UserId": "xx","FileName": "xx"}],"RequestId": "xx","TaskId": "xx"}}
#EXTM3U#EXT-X-VERSION:3#EXT-X-ALLOW-CACHE:NO#EXT-X-MEDIA-SEQUENCE:0#EXT-X-TARGETDURATION:70#EXT-X-TRTC-START-REC-TIME:1622425551884#EXT-X-TRTC-VIDEO-METADATA:WIDTH:1920 HEIGHT:1080#EXTINF:12.0741400123456_12345__UserId_s_MTY4NjExOQ..__UserId_e_main_video_20330531094551825.ts#EXTINF:11.9011400123456_12345__UserId_s_MTY4NjExOQ..__UserId_e_main_video_20330531094603825.ts#EXTINF:12.0761400123456_12345__UserId_s_MTY4NjExOQ..__UserId_e_main_video_20330531094615764.ts#EXT-X-ENDLIST
{"EventGroupId": 3,"EventType": 307,"CallbackTs": 1622186289148,"EventInfo": {"RoomId": "xx","EventTs": "1622186289","UserId": "xx","TaskId": "xx","Payload": {"FileName": "xx.m3u8","UserId": "xx","TrackType": "audio","BeginTimeStamp": 1622186279144}}}
字段名 | 解释 |
Top | 水印相对左上角的垂直位移 |
Left | 水印相对左上角的水平位移 |
Width | 水印显示的宽度 |
Height | 水印显示的高度 |
url | 水印文件的存储url |









sortedcontainers:pip3 install sortedcontainers
参数 | 功能 |
-f | 指定待合并文件的存储路径。如果有多个 UserId 的录制文件,脚本会分别进行合并操作。 |
-m | 0:分段模式(默认设置),此模式下,脚本将每个 UserId下 的录制文件按分段合并,每个 UserId 有可能产生多个文件。 1:合并模式,一个UserId下的所有音视频文件合并为一个文件。 |
-s | 保存模式。如果设置了该参数,则合并模式下的分段之间的空白部分被删除,文件的实际时常小于物理时常。 |
-a | 0: 主流合并(默认设置),同一个UserId的主流和音频做合并,辅流不会和音频做合并。 1: 自动合并,如果主流存在则主流和音频合并,如果主流不存在辅流存在则辅流和音频做合并。 2: 辅流合并,同一个UserId的辅流和音频做合并,主流不会和音频做合并。 |
-p | 指定输出视频的fps。默认为15 fps,有效范围5-120 fps,低于5 fps计为5 fps,高于120 fps计为120 fps。 |
-r | 指定输出视频的分辨率。如 -r 640 360,表示输出视频的宽为640,高为360。 |
字段名 | 值 |
Content-Type | application/json |
Sign | 签名值 |
SdkAppId | sdk application id |
字段名 | 类型 | 含义 |
EventGroupId | Number | 事件组 ID, 云端录制固定为3 |
EventType | Number | 回调通知的事件类型 |
CallbackTs | Number | 事件回调服务器向您的服务器发出回调请求的 Unix 时间戳,单位为毫秒 |
EventInfo | JSON Object | 事件信息 |
字段名 | 类型 | 含义 |
EVENT_TYPE_CLOUD_RECORDING_RECORDER_START | 301 | 云端录制 录制模块启动 |
EVENT_TYPE_CLOUD_RECORDING_RECORDER_STOP | 302 | 云端录制 录制模块退出 |
EVENT_TYPE_CLOUD_RECORDING_UPLOAD_START | 303 | 云端录制 上传模块启动 |
EVENT_TYPE_CLOUD_RECORDING_FILE_INFO | 304 | 云端录制 生成m3u8索引文件,第一次生成并且上传成功后回调 |
EVENT_TYPE_CLOUD_RECORDING_UPLOAD_STOP | 305 | 云端录制 上传结束 |
EVENT_TYPE_CLOUD_RECORDING_FAILOVER | 306 | 云端录制 发生迁移,原有的录制任务被迁移到新负载上时触发 |
EVENT_TYPE_CLOUD_RECORDING_FILE_SLICE | 307 | 云端录制 生成M3U8文件(切出第一个ts分片) 生成后回调 |
EVENT_TYPE_CLOUD_RECORDING_UPLOAD_ERROR | 308 | 云端录制 上传模块发生错误 |
EVENT_TYPE_CLOUD_RECORDING_DOWNLOAD_IMAGE_ERROR | 309 | 云端录制 下载解码图片文件发生错误 |
EVENT_TYPE_CLOUD_RECORDING_MP4_STOP | 310 | 云端录制 mp4录制任务结束,回调包含录制的mp4文件名和详细信息 |
EVENT_TYPE_CLOUD_RECORDING_VOD_COMMIT | 311 | 云端录制 vod录制任务上传媒体资源完成 |
EVENT_TYPE_CLOUD_RECORDING_VOD_STOP | 312 | 云端录制 vod录制任务结束 |
字段名 | 类型 | 含义 |
RoomId | String/Number | 房间名(类型与客户端房间号类型一致) |
EventTs | Number | 时间发生的 Unix 时间戳,单位为秒 |
UserId | String | 录制机器人的用户 ID |
TaskId | String | 录制ID,一次云端录制任务唯一的ID |
Payload | JsonObject | 根据不同事件类型定义不同 |
字段名 | 类型 | 含义 |
Status | Number | 0:代表录制模块启动成功,1:代表录制模块启动失败。 |
{"EventGroupId": 3,"EventType": 301,"CallbackTs": 1622186275913,"EventInfo": {"RoomId": "xx","EventTs": "1622186275","UserId": "xx","TaskId": "xx","Payload": {"Status": 0}}}
字段名 | 类型 | 含义 |
LeaveCode | Number | 0:代表录制模块正常调用停止录制退出; 1: 录制机器人被客户踢出房间; 2:客户解散房间; 3:服务器将录制机器人踢出; 4:服务器解散房间; 99:代表房间内除了录制机器人没有其他用户流,超过指定时间退出; 100:房间超时退出; 101:同一用户重复进入相同房间导致机器人退出; |
{"EventGroupId": 3,"EventType": 302,"CallbackTs": 1622186354806,"EventInfo": {"RoomId": "xx","EventTs": "1622186354","UserId": "xx","TaskId": "xx","Payload": {"LeaveCode": 0}}}
字段名 | 类型 | 含义 |
Status | Number | 0:代表上传模块正常启动。 1:代表上传模块初始化失败。 |
{"EventGroupId": 3,"EventType": 303,"CallbackTs": 1622191965320,"EventInfo": {"RoomId": "20015","EventTs": 1622191965,"UserId": "xx","TaskId": "xx","Payload": {"Status": 0}}}
字段名 | 类型 | 含义 |
FileList | String | 生成的M3U8文件名 |
{"EventGroupId": 3,"EventType": 304,"CallbackTs": 1622191965350,"EventInfo": {"RoomId": "20015","EventTs": 1622191965,"UserId": "xx","TaskId": "xx","Payload": {"FileList": "xx.m3u8"}}}
字段名 | 类型 | 含义 |
Status | Number | 0: 代表此次录制上传任务已经完成,所有的文件均已上传到指定的第三方云存储 1:代表此次录制上传任务已经完成,但至少有一片文件滞留在服务器或者备份存储上 2: 代表滞留在服务器或者备份存储上的文件已经恢复上传到指定的第三方云存储 |
{"EventGroupId": 3,"EventType": 305,"CallbackTs": 1622191989674,"EventInfo": {"RoomId": "20015","EventTs": 1622191989,"UserId": "xx","TaskId": "xx","Payload": {"Status": 0}}}
字段名 | 类型 | 含义 |
Status | Number | 0: 代表此次迁移已经完成 |
{"EventGroupId": 3,"EventType": 306,"CallbackTs": 1622191989674,"EventInfo": {"RoomId": "20015","EventTs": 1622191989,"UserId": "xx","TaskId": "xx","Payload": {"Status": 0}}}
字段名 | 类型 | 含义 |
FileName | String | m3u8文件名 |
UserId | String | 本录制文件对应的用户ID |
TrackType | String | audio/video/audio_video |
BeginTimeStamp | Number | 录制开始时,服务器Unix时间戳(毫秒) |
{"EventGroupId": 3,"EventType": 307,"CallbackTs": 1622186289148,"EventInfo": {"RoomId": "xx","EventTs": "1622186289","UserId": "xx","TaskId": "xx","Payload": {"FileName": "xx.m3u8","UserId": "xx","TrackType": "audio","BeginTimeStamp": 1622186279144}}}
字段名 | 类型 | 含义 |
Code | String | 第三方云存储的返回code |
Message | String | 第三方云存储的返回消息内容 |
{"Code": "InvalidParameter","Message": "AccessKey invalid"}{"EventGroupId": 3,"EventType": 308,"CallbackTs": 1622191989674,"EventInfo": {"RoomId": "20015","EventTs": 1622191989,"UserId": "xx","TaskId": "xx","Payload": {"Code": "xx","Message": "xx"}}}
字段名 | 类型 | 含义 |
Url | String | 下载失败的url |
{"EventGroupId": 3,"EventType": 309,"CallbackTs": 1622191989674,"EventInfo": {"RoomId": "20015","EventTs": 1622191989,"UserId": "xx","TaskId": "xx","Payload": {"Url": "http://xx"}}}
字段名 | 类型 | 含义 |
Status | Number | 0: 代表此次录制mp4任务已经正常退出,所有的文件均已上传到指定的第三方云存储 1:代表此次录制mp4任务已经正常退出,但至少有一片文件滞留在服务器或者备份存储上 2: 代表此次录制mp4任务异常退出(可能原因是拉取cos的hls文件失败) |
FileList | Array | 所有生成的mp4文件名 |
FileMessage | Array | 所有生成的mp4文件信息 |
FileName | String | mp4文件名 |
UserId | String | mp4文件对应的用户ID(当录制模式为混流模式时,此字段为空) |
TrackType | String | audio/video/audio_video |
MediaId | String | main/aux |
StartTimeStamp | Number | mp4文件开始的Unix时间戳(毫秒) |
EndTimeStamp | Number | mp4文件结束的Unix时间戳(毫秒) |
{"EventGroupId": 3,"EventType": 310,"CallbackTs": 1622191989674,"EventInfo": {"RoomId": "20015","EventTs": 1622191989,"UserId": "xx","TaskId": "xx","Payload": {"Status": 0,"FileList": ["xxxx1.mp4", "xxxx2.mp4"],"FileMessage": [{"FileName": "xxxx1.mp4","UserId": "xxxx","TrackType": "audio_video","MediaId": "main","StartTimeStamp": 1622186279145,"EndTimeStamp": 1622186282145},{"FileName": "xxxx2.mp4","UserId": "xxxx","TrackType": "audio_video","MediaId": "main","StartTimeStamp": 1622186279153,"EndTimeStamp": 1622186282153}]}}}
字段名 | 类型 | 含义 |
Status | Number | 0: 代表本录制文件正常上传至点播平台 1:代表本录制文件滞留在服务器或者备份存储上 2: 代表本录制文件上传点播任务异常 |
UserId | String | 本录制文件对应的用户ID(当录制模式为混流模式时,此字段为空) |
TrackType | String | audio/video/audio_video |
MediaId | String | main/aux |
FileId | String | 本录制文件在点播平台的唯一id |
VideoUrl | String | 本录制文件在点播平台的播放地址 |
CacheFile | String | 本录制文件对应的mp4文件名(未上传点播之前) |
Errmsg | String | statue不为0时,对应的错误信息 |
{"EventGroupId": 3,"EventType": 311,"CallbackTs": 1622191965320,"EventInfo": {"RoomId": "20015","EventTs": 1622191965,"UserId": "xx","TaskId": "xx","Payload": {"Status": 0,"TencentVod": {"UserId": "xx","TrackType": "audio_video","MediaId": "main","FileId": "xxxx","VideoUrl": "http://xxxx"}}}}
{"EventGroupId": 3,"EventType": 311,"CallbackTs": 1622191965320,"EventInfo": {"RoomId": "20015","EventTs": 1622191965,"UserId": "xx","TaskId": "xx","Payload": {"Status": 1,"Errmsg": "xxx","TencentVod": {"UserId": "123","TrackType": "audio_video","CacheFile": "xxx.mp4"}}}}
字段名 | 类型 | 含义 |
Status | Number | 0: 代表本次上传vod任务已经正常退出 1:代表本次上传vod任务异常退出 |
{"EventGroupId": 3,"EventType": 312,"CallbackTs": 1622191965320,"EventInfo": {"RoomId": "20015","EventTs": 1622191965,"UserId": "xx","TaskId": "xx","Payload": {"Status": 0}}}
文档反馈