消息通知服务支持的事件有:
音频流开始推送。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| RoomId | String | Your_RoomId | 房间 ID。 |
| UserId | String | Your_UserId | 用户 ID。 |
| DeviceType | String | android、ios、web、mac、windows | 终端类型。 |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳(ms)。 |
音频流结束推送。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| RoomId | String | Your_RoomId | 房间 ID。 |
| UserId | String | Your_UserId | 用户 ID。 |
| DeviceType | String | android、ios、web、mac、windows | 终端类型。 |
Reason | String |
| 音频流结束推送原因:
|
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳(ms)。 |
视频流开始推送。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| RoomId | String | Your_RoomId | 房间 ID。 |
| UserId | String | Your_UserId | 用户 ID。 |
| DeviceType | String | android、ios、web、mac、windows | 终端类型。 |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳(ms)。 |
视频流结束推送。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| RoomId | String | Your_RoomId | 房间 ID。 |
| UserId | String | Your_UserId | 用户 ID。 |
| DeviceType | String | android、ios、web、mac、windows | 终端类型。 |
Reason | String |
| 视频流结束推送原因:
|
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳(ms)。 |
屏幕音频流开始推送。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| RoomId | String | Your_RoomId | 房间 ID。 |
| UserId | String | Your_UserId | 用户 ID。 |
| DeviceType | String | android、ios、web、mac、windows | 终端类型。 |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳(ms)。 |
屏幕音频流结束推送。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| RoomId | String | Your_RoomId | 房间 ID。 |
| UserId | String | Your_UserId | 用户 ID。 |
| DeviceType | String | android、ios、web、mac、windows | 终端类型。 |
Reason | String |
| 屏幕音频流结束推送原因:
|
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳(ms)。 |
屏幕视频流开始推送。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| RoomId | String | Your_RoomId | 房间 ID。 |
| UserId | String | Your_UserId | 用户 ID。 |
| DeviceType | String | android、ios、web、mac、windows | 终端类型。 |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳(ms)。 |
屏幕视频流结束推送。
注:在 Electron 1.4.0 版本中结束屏幕视频流推送时,不会触发此回调。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| RoomId | String | Your_RoomId | 房间 ID。 |
| UserId | String | Your_UserId | 用户 ID。 |
| DeviceType | String | android、ios、web、mac、windows | 终端类型。 |
Reason | String |
| 屏幕视频流结束推送原因:
|
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳(ms)。 |
录制任务开始。
不同版本录制功能在任务开始时均触发此回调。
无论录制任务是通过何种方式启动的(调用 OpenAPI 启动/在控制台上配置自动录制),在录制任务开始时,你都会收到录制任务开始的消息通知。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识。 |
| BusinessId | String | Your_BusinessId | 业务标识。 |
| RoomId | String | Your_RoomId | 用户创建的房间 ID,房间的唯一标识。 |
| TaskId | String | Your_TaskId | 任务 ID,同一房间内的录制任务通过 TaskId 来区分。 |
| Code | Int32 | 0 | 任务状态:0 表示成功、1 表示失败。 |
| ErrorMessage | String | - | 具体的错误信息。当 Code 不为 0 时,ErrorMessage 会显示具体的错误。 |
录制任务结束。2020-12-01 版本录制功能在任务结束时触发此回调。
无论录制任务是通过何种方式启动的(调用 OpenAPI 启动/在控制台上配置自动录制),在录制任务结束时,你都会收到录制任务结束的消息通知。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识。 |
| BusinessId | String | Your_BusinessId | 业务标识。 |
| RoomId | String | Your_RoomId | 用户创建的房间 ID,房间的唯一标识。 |
| TaskId | String | Your_TaskId | 任务 ID,同一房间内的录制任务通过 TaskId 来区分。 |
Code | Int32 |
| 任务状态:
|
| ErrorMessage | String | - | 具体的错误信息。当 Code 不为 0 时,ErrorMessage 会显示具体的错误。 |
| RecordFileList | Array of RecordFile | 录制生成的音视频文件列表。 |
RecordFile
| 参数名称 | 类型 | 描述 |
|---|---|---|
| Vid | String | 文件在点播平台的唯一标识。你可以根据 vid 可以在点播平台上找到对应的文件。 |
| Duration | Uint64 | 文件时长,单位为毫秒。 |
| Size | Uint64 | 文件大小,单位为 byte。 |
| StartTime | Uint64 | 文件开始录制的 UTC 时间,单位为毫秒。 |
| StreamList | Array of Stream | 录制文件中包含流的列表。 |
| VideoCodec | String | 视频录制编码协议。默认值为 0,可以取 0 或 1。取 0 时使用 H.264,取 1 时使用 ByteVC1 编码器。 |
| AudioCodec | String | 音频录制编码器。 |
| VideoWidth | Int | 录制视频宽度,单位为像素。 |
| VideoHeight | Int | 录制视频高度,单位为像素。 |
Stream
| 参数名称 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| Index | Uint32 | 0 | 在自定义布局中,使用 Index 对流进行标志。后续在 Layout.regions.StreamIndex 中,你需要使用 Index 指定对应流的布局设置。 |
| UserId | String | Your_UserId | 该流所属的用户 ID。 |
| StreamType | Uint32 | 0 | 流的类型:0 表示普通音视频流、1 表示屏幕流。 |
注意:如果录制结束回调
Code=0,但是RecordFileList为空,没有生成录制文件,请联系技术支持排查具体原因。
录制任务结束。2022-06-01 版本录制功能在任务结束时触发此回调。
无论录制任务是通过何种方式启动的(调用 OpenAPI 启动/在控制台上配置自动录制),在录制任务结束时,你都会收到录制任务结束的消息通知。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识。 |
| BusinessId | String | Your_BusinessId | 业务标识。 |
| RoomId | String | Your_RoomId | 用户创建的房间 ID,房间的唯一标识。 |
| TaskId | String | Your_TaskId | 任务 ID,同一房间内的录制任务通过 TaskId 来区分。 |
Code | Int32 |
| 任务状态:
|
| ErrorMessage | String | - | 具体的错误信息。当 Code 不为 0 时,ErrorMessage 会显示具体的错误。 |
| RecordFileList | Array of RecordFile | - | 录制生成的音视频文件列表。 |
RecordFile
| 参数名称 | 类型 | 描述 |
|---|---|---|
| Vid | String | 文件在火山引擎视频点播 VOD 平台的唯一标识。你可以根据 vid 在点播平台上找到对应的文件。仅在你选择配置存储到 Vod 平台时,此参数有效。 |
| ObjectKey | String | 文件在对象存储平台中的完整路径,如 abc/efg/123.mp4。仅在你选择配置存储到对象存储平台时,此参数有效。 |
| Duration | Uint64 | 文件时长,单位为毫秒。 |
| Size | Uint64 | 文件大小,单位为 byte。 |
| StartTime | Uint64 | 文件开始录制的 UTC 时间,单位为毫秒。 |
| StreamList | Array of Stream | 录制文件中包含流的列表。 |
| VideoCodec | String | 视频录制编码协议。 |
| AudioCodec | String | 音频录制编码器。 |
| VideoWidth | Int | 录制视频宽度,单位为像素。 |
| VideoHeight | Int | 录制视频高度,单位为像素。 |
Stream
| 参数名称 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| Index | Uint32 | 0 | 在自定义布局中,使用 Index 对流进行标志。后续在 Layout.regions.StreamIndex 中,你需要使用 Index 指定对应流的布局设置。 |
| UserId | String | Your_UserId | 该流所属的用户 ID。 |
| StreamType | Uint32 | 0 | 流的类型:0 表示普通音视频流、1 表示屏幕流。 |
注意:如果录制结束回调
Code=0,但是RecordFileList为空,没有生成录制文件,请联系技术支持排查具体原因。
录制任务结束。2023-06-01 版本录制功能在任务结束时触发此回调。
无论录制任务是通过何种方式启动的(调用 OpenAPI 启动/在控制台上配置自动录制),在录制任务结束时,你都会收到录制任务结束的消息通知。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识。 |
| BusinessId | String | Your_BusinessId | 业务标识。 |
| RoomId | String | Your_RoomId | 用户创建的房间 ID,房间的唯一标识。 |
| TaskId | String | Your_TaskId | 任务 ID,同一房间内的录制任务通过 TaskId 来区分。 |
Code | Int32 |
| 任务状态。
|
| ErrorMessage | String | - | 具体的错误信息。当 Code 不为 0 时,ErrorMessage 会显示具体的错误。 |
| RecordFileList | Array of RecordFile | - | 录制生成的音视频文件列表。 |
RecordFile
| 参数名称 | 类型 | 描述 |
|---|---|---|
| Vid | String | 文件在火山引擎视频点播 VOD 平台的唯一标识。你可以根据 vid 在点播平台上找到对应的文件。仅在你选择配置存储到 Vod 平台时,此参数有效。 |
| ObjectKey | String | 文件在对象存储平台中的完整路径,如 abc/efg/123.mp4。仅在你选择配置存储到对象存储平台时,此参数有效。 |
| Duration | Uint64 | 文件时长,单位为毫秒。 |
| Size | Uint64 | 文件大小,单位为 byte。 |
| StartTime | Uint64 | 文件开始录制的 UTC 时间,单位为毫秒。 |
| StreamList | Array of Stream | 录制文件中包含流的列表。 |
| VideoCodec | String | 视频录制编码协议。 |
| AudioCodec | String | 音频录制编码器。 |
| VideoWidth | Int | 录制视频宽度,单位为像素。 |
| VideoHeight | Int | 录制视频高度,单位为像素。 |
Stream
| 参数名称 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| Index | Uint32 | 0 | 在自定义布局中,使用 Index 对流进行标志。后续在 Layout.regions.StreamIndex 中,你需要使用 Index 指定对应流的布局设置。 |
| UserId | String | Your_UserId | 该流所属的用户 ID。 |
| StreamType | Uint32 | 0 | 流的类型:0 表示普通音视频流、1 表示屏幕流。 |
注意:如果录制结束回调
Code=0,但是RecordFileList为空,没有生成录制文件,请联系技术支持排查具体原因。
录制任务结束。2023-11-01 版本录制功能在任务结束时触发此回调。
无论录制任务是通过何种方式启动的(调用 OpenAPI 启动/在控制台上配置自动录制),在录制任务结束时,你都会收到录制任务结束的消息通知。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识。 |
| BusinessId | String | Your_BusinessId | 业务标识。 |
| RoomId | String | Your_RoomId | 用户创建的房间 ID,房间的唯一标识。 |
| TaskId | String | Your_TaskId | 任务 ID,同一房间内的录制任务通过 TaskId 来区分。 |
Code | Int32 |
| 任务状态。
|
| ErrorMessage | String | - | 具体的错误信息。当 Code 不为 0 时,ErrorMessage 会显示具体的错误。 |
| RecordFileList | Array of RecordFile | - | 录制生成的音视频文件列表。 |
RecordFile
| 参数名称 | 类型 | 描述 |
|---|---|---|
| Vid | String | 文件在火山引擎视频点播 VOD 平台的唯一标识。你可以根据 vid 在点播平台上找到对应的文件。仅在你选择配置存储到 Vod 平台时,此参数有效。 |
| ObjectKey | String | 文件在对象存储平台中的完整路径,如 abc/efg/123.mp4。仅在你选择配置存储到对象存储平台时,此参数有效。 |
| Duration | Uint64 | 文件时长,单位为毫秒。 |
| Size | Uint64 | 文件大小,单位为 byte。 |
| StartTime | Uint64 | 文件开始录制的 UTC 时间,单位为毫秒。 |
| StreamList | Array of Stream | 录制文件中包含流的列表。 |
| VideoCodec | String | 视频录制编码协议。 |
| AudioCodec | String | 音频录制编码器。 |
| VideoWidth | Int | 录制视频宽度,单位为像素。 |
| VideoHeight | Int | 录制视频高度,单位为像素。 |
Stream
| 参数名称 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| Index | Uint32 | 0 | 在自定义布局中,使用 Index 对流进行标志。后续在 Layout.regions.StreamIndex 中,你需要使用 Index 指定对应流的布局设置。 |
| UserId | String | Your_UserId | 该流所属的用户 ID。 |
| StreamType | Uint32 | 0 | 流的类型:0 表示普通音视频流、1 表示屏幕流。 |
注意:如果录制结束回调
Code=0,但是RecordFileList为空,没有生成录制文件,请联系技术支持排查具体原因。
上传任务启动。
不同版本录制功能在上传任务启动时均触发此回调。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识。 |
| BusinessId | String | Your_BusinessId | 业务标识。 |
| RoomId | String | Your_RoomId | 用户创建的房间 ID,房间的唯一标识。 |
| TaskId | String | Your_TaskId | 任务 ID,同一房间内的录制任务通过 TaskId 来区分。 |
| Code | Int32 | 0 | 任务状态:0 表示成功、1 表示失败。 |
| ErrorMessage | String | - | 具体的错误信息。当 Code 不为 0 时,ErrorMessage 会显示具体的错误。 |
上传任务进度。
上传进程持续一分钟及以上,才会有此回调。每隔一分钟上传一次。
不同版本录制功能在上传任务进度发生变化时均触发此回调。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识。 |
| BusinessId | String | Your_BusinessId | 业务标识。 |
| RoomId | String | Your_RoomId | 用户创建的房间 ID,房间的唯一标识。 |
| TaskId | String | Your_TaskId | 任务 ID,同一房间内的录制任务通过 TaskId 来区分。 |
| Code | Int32 | 0 | 任务状态:0 表示成功、1 表示失败。 |
| ErrorMessage | String | - | 具体的错误信息。当 Code 不为 0 时,ErrorMessage 会显示具体的错误。 |
| Progress | Int | 100 | 0 到 10000 之间的数字,当前已上传文件与已录制的文件的比例乘以 10000。这个数字是不断变动的,录制完成后,到达 10000 表示上传完成。 |
录制文件已上传至存储平台。
不同版本录制功能在录制文件已上传至存储平台时均触发此回调。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识。 |
| BusinessId | String | Your_BusinessId | 业务标识。 |
| RoomId | String | Your_RoomId | 用户创建的房间 ID,房间的唯一标识。 |
| TaskId | String | Your_TaskId | 任务 ID,同一房间内的录制任务通过 TaskId 来区分。 |
| Code | Int32 | 0 | 任务状态:0 表示成功、1 表示失败。 |
| ErrorMessage | String | - | 具体的错误信息。当 Code 不为 0 时,ErrorMessage 会显示具体的错误。 |
录制文件上传失败转存备份。
不同版本录制功能在录制文件上传失败转存备份时均触发此回调。
备份使用的 TOS Bucket 需要开启版本控制,防止文件名重复导致文件被覆盖。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识。 |
| BusinessId | String | Your_BusinessId | 业务标识。 |
| RoomId | String | Your_RoomId | 用户创建的房间 ID,房间的唯一标识。 |
| TaskId | String | Your_TaskId | 任务 ID,同一房间内的录制任务通过 TaskId 来区分。 |
| Code | Int32 | 0 | 任务状态:0 表示成功、1 表示失败。 |
| ErrorMessage | String | - | 具体的错误信息。当 Code 不为 0 时,ErrorMessage 会显示具体的错误。 |
录制音频流状态变化。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识。 |
| BusinessId | String | Your_BusinessId | 业务标识。 |
| RoomId | String | Your_RoomId | 用户创建的房间 ID,房间的唯一标识。 |
| TaskId | String | Your_TaskId | 任务 ID,同一房间内的录制任务通过 TaskId 来区分。 |
| UserId | String | Your_UserId | 用户 ID。 |
StreamType | Int |
| 音频流类型。
|
State | Int |
| 任务状态:
|
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳(ms)。 |
录制视频流状态变化。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识。 |
| BusinessId | String | Your_BusinessId | 业务标识。 |
| RoomId | String | Your_RoomId | 用户创建的房间 ID,房间的唯一标识。 |
| TaskId | String | Your_TaskId | 任务 ID,同一房间内的录制任务通过 TaskId 来区分。 |
| UserId | String | Your_UserId | 用户 ID。 |
StreamType | Int |
| 视频流类型:
|
State | Int |
| 任务状态:
|
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳(ms)。 |
录制生成 m3u8 文件且上传至指定存储平台。此事件仅在第一次上传成功后回调。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识。 |
| BusinessId | String | Your_BusinessId | 业务标识。 |
| RoomId | String | Your_RoomId | 用户创建的房间 ID,房间的唯一标识。 |
| TaskId | String | Your_TaskId | 任务 ID,同一房间内的录制任务通过 TaskId 来区分。 |
| Code | Int32 | 0 | 任务状态:0 成功,1 失败。 |
| ErrorMessage | String | - | 具体的错误信息。当 Code 不为 0 时,ErrorMessage 会显示具体的错误。 |
| RecordFileList | Array of RecordFile | - | 录制生成的音视频文件列表。 |
RecordFile
| 参数名称 | 类型 | 描述 |
|---|---|---|
| Vid | String | 文件在火山引擎视频点播 VOD 平台的唯一标识。你可以根据 vid 在点播平台上找到对应的文件。仅在你选择配置存储到 Vod 平台时,此参数有效。 |
| ObjectKey | String | 文件在对象存储平台中的完整路径,如 abc/efg/123.mp4。仅在你选择配置存储到对象存储平台时,此参数有效。 |
| StartTime | Uint64 | 文件开始录制的 UTC 时间,单位为毫秒。 |
| StreamList | Array of Stream | 录制文件中包含流的列表。 |
| VideoCodec | String | 视频录制编码协议。 |
| AudioCodec | String | 音频录制编码器。 |
| VideoWidth | Int | 录制视频宽度,单位为像素。 |
| VideoHeight | Int | 录制视频高度,单位为像素。 |
Stream
| 参数名称 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| Index | Uint32 | 0 | 在自定义布局中,使用 Index 对流进行标志。后续在 Layout.regions.StreamIndex 中,你需要使用 Index 指定对应流的布局设置。 |
| UserId | String | Your_UserId | 该流所属的用户 ID。 |
| StreamType | Uint32 | 0 | 流的类型:0 表示普通音视频流、1 表示屏幕流。 |
录制生成 m3u8 文件且上传至指定存储平台失败。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 音视频应用的唯一标识。 |
| BusinessId | String | Your_BusinessId | 业务标识。 |
| RoomId | String | Your_RoomId | 用户创建的房间 ID,房间的唯一标识。 |
| TaskId | String | Your_TaskId | 任务 ID,同一房间内的录制任务通过 TaskId 来区分。 |
| Code | Int32 | 0 | 任务状态:0 表示成功、1 表示失败。 |
| ErrorMessage | String | - | 具体的错误信息。当 Code 不为 0 时,ErrorMessage 会显示具体的错误。 |
可见用户进入房间。
相同 UserId 用户重复进房时,每一次进房都会触发该回调,建议进行去重操作。
注:关于可见用户和不可见用户,参看 setUserVisibility。
| 参数 | 类型 | 示例值 | 说明 |
|---|---|---|---|
| RoomId | String | 6992870232038591758 | 房间 ID。 |
| UserId | String | 4398491447867063 | 用户 ID。 |
| DeviceType | String | android/ios/web/mac/windows | 终端类型。 |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳(ms)。 |
| ExtraInfo | String | Your_ExtraInfo | 客户端 SDK 通过 joinRoom 传入的用户附加信息。 |
可见用户退出房间。
相同 UserId 用户反复登录造成被踢,被踢掉用户不会触发此回调。只有在最后一次退房时会触发该回调。
| 参数 | 类型 | 示例值 | 说明 |
|---|---|---|---|
| RoomId | String | 6992870232038591758 | 房间 ID。 |
| UserId | String | 4398491447867063 | 用户 ID。 |
| DeviceType | String | android/ios/web/mac/windows | 终端类型。 |
Reason | String |
| 原因:
|
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳(ms)。 |
| Duration | Int64 | 20 | 用户在房间里的通话时长(s)。 |
不可见用户进入房间。
相同 UserId 用户重复进房时,每一次进房都会触发该回调,建议进行去重操作。
| 参数 | 类型 | 示例值 | 说明 |
|---|---|---|---|
| RoomId | String | 6992870232038591758 | 房间 ID。 |
| UserId | String | 4398491447867063 | 用户 ID。 |
| DeviceType | String | android/ios/web/mac/windows | 终端类型。 |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳(ms)。 |
| ExtraInfo | String | Your_ExtraInfo | 客户端 SDK 通过 joinRoom 传入的用户附加信息。 |
不可见用户退出房间。
相同 UserId 用户反复登录造成被踢,被踢掉用户不会触发此回调。只有在最后一次退房时会触发该回调。
| 参数 | 类型 | 示例值 | 说明 |
|---|---|---|---|
| RoomId | String | 6992870232038591758 | 房间 ID。 |
| UserId | String | 4398491447867063 | 用户 ID。 |
| DeviceType | String | android/ios/web/mac/windows | 终端类型。 |
Reason | String |
| 退房原因:
|
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳(ms)。 |
| Duration | Int64 | 20 | 用户在房间里的通话时长(s)。 |
可见用户调用 setUserVisibility ,不可见 -> 可见。
| 参数 | 类型 | 示例值 | 说明 |
|---|---|---|---|
| RoomId | String | 6992870232038591758 | 房间 ID。 |
| UserId | String | 4398491447867063 | 用户 ID。 |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳(ms)。 |
可见用户调用 setUserVisibility ,可见 -> 不可见。
| 参数 | 类型 | 示例值 | 说明 |
|---|---|---|---|
| RoomId | String | 6992870232038591758 | 房间 ID。 |
| UserId | String | 4398491447867063 | 用户 ID。 |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳(ms)。 |
RTC 房间创建。
| 参数 | 类型 | 示例值 | 说明 |
|---|---|---|---|
| RoomId | String | 6992870232038591758 | 房间 ID。 |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳(ms)。 |
RTC 房间销毁,房间中所有用户全部离开房间。
| 参数 | 类型 | 示例值 | 说明 |
|---|---|---|---|
| RoomId | String | 6992870232038591758 | 房间 ID。 |
| Timestamp | Int64 | 1611736812853 | 该事件在 RTC 服务器上发生的 Unix 时间戳(ms)。 |
指定音频流切片结果。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志。 |
| BusinessId | String | Your_BusinessId | 业务标识。 |
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志。 |
| TaskId | String | Your_TaskId | 切片任务 ID。 |
| TosBucket | String | Your_TosBucket | 储存切片的 TOS Bucket。 |
| Data | Array of AudioData | - | 音频切片的列表。 |
| Identifier | String | Your_Identifier | 切片任务标志。若未自定义切片名,切片名默认为 UUID,自定义切片名时为自定义名称。自定义切片文件名由 Identifier + UserId + 时间戳 + 序号组成。默认情况下 Identifier 为 随机生成的 UUID。在自定义文件名时,Identifier 的命名规则符合正则表达式:[a-zA-Z0-9_@-.]{1,128}。 |
AudioData
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| Stream | Stream | - | 音频切片对应的流的信息。 |
| ObjectKey | String | Your_ObjectKey | 音频切片的文件名。 |
| SampleRate | Int | 44100 | 音频采样率,单位 Hz。 |
| BitsPerSample | Int | 16 | 每个音频采样的比特数。 |
| Channels | Int | 2 | 音频声道数。 |
| Size | Uint64 | 256044 | 音频切片大小,单位为 byte。 |
| TimeStamp | Int64 | 1647317680214 | 音频文件生成时对应的 Unix 时间戳。单位为毫秒。 |
| Duration | Uint32 | 8000 | 音频的时长,单位为毫秒。 |
Stream
| 参数名称 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| Index | Uint32 | 0 | 在自定义布局中,使用 Index 对流进行标志。后续在 Layout.regions.StreamIndex 中,你需要使用 Index 指定对应流的布局设置。 |
| UserId | String | Your_UserId | 该流所属的用户 ID。 |
| StreamType | Uint32 | 否 | 0 |
指定音频流切片结果。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志。 |
| BusinessId | String | Your_BusinessId | 业务标识。 |
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志。 |
| TaskId | String | Your_TaskId | 切片任务 ID。 |
| Bucket | String | Your_Bucket | 存储音频切片的桶名称。 |
| Data | Array of AudioData | - | 音频切片的列表。 |
| Identifier | String | 切片任务标志。若未自定义切片名,切片名默认为 UUID,自定义切片名时为自定义名称。自定义切片文件名由 Identifier + UserId + 时间戳 + 序号组成。默认情况下 Identifier 为 随机生成的 UUID。在自定义文件名时,Identifier 的命名规则符合正则表达式:[a-zA-Z0-9_@-.]{1,128}。 | |
AudioData
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| Stream | Stream | - | 音频切片对应的流的信息。 |
| ObjectKey | String | Your_ObjectKey | 音频切片的对象键。 |
| SampleRate | Int | 44100 | 音频采样率,单位 Hz。 |
| BitsPerSample | Int | 16 | 每个音频采样的比特数。 |
| Channels | Int | 2 | 音频声道数。 |
| Size | Uint64 | 256044 | 音频切片大小,单位为 byte。 |
| TimeStamp | Int64 | 1647317680214 | 音频文件生成时对应的 Unix 时间戳。单位为毫秒。 |
| Duration | Uint32 | 8000 | 音频的时长,单位为毫秒。 |
Stream
| 参数名称 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| Index | Uint32 | 0 | 在自定义布局中,使用 Index 对流进行标志。后续在 Layout.regions.StreamIndex 中,你需要使用 Index 指定对应流的布局设置。 |
| UserId | String | Your_UserId | 该流所属的用户 ID。 |
| StreamType | Uint32 | 0 | 流的类型:0 表示普通音视频流、1 表示屏幕流。 |
指定音频流切片结果。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志。 |
| BusinessId | String | Your_BusinessId | 业务标识。 |
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志。 |
| TaskId | String | Your_TaskId | 切片任务 ID。 |
| Bucket | String | Your_Bucket | 存储音频切片的桶名称。 |
| Data | Array of AudioData | - | 音频切片的列表。 |
| Identifier | String | 切片任务标志。若未自定义切片名,切片名默认为 UUID,自定义切片名时为自定义名称。自定义切片文件名由 Identifier + UserId + 时间戳 + 序号组成。默认情况下 Identifier 为 随机生成的 UUID。在自定义文件名时,Identifier 的命名规则符合正则表达式:[a-zA-Z0-9_@-.]{1,128}。 | |
AudioData
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| Stream | Stream | - | 音频切片对应的流的信息。 |
| ObjectKey | String | Your_ObjectKey | 音频切片的对象键。 |
| SampleRate | Int | 44100 | 音频采样率,单位 Hz。 |
| BitsPerSample | Int | 16 | 每个音频采样的比特数。 |
| Channels | Int | 2 | 音频声道数。 |
| Size | Uint64 | 256044 | 音频切片大小,单位为 byte。 |
| TimeStamp | Int64 | 1647317680214 | 音频文件生成时对应的 Unix 时间戳。单位为毫秒。 |
| Duration | Uint32 | 8000 | 音频的时长,单位为毫秒。 |
Stream
| 参数名称 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| Index | Uint32 | 0 | 在自定义布局中,使用 Index 对流进行标志。后续在 Layout.regions.StreamIndex 中,你需要使用 Index 指定对应流的布局设置。 |
| UserId | String | Your_UserId | 该流所属的用户 ID。 |
| StreamType | Uint32 | 0 | 流的类型:0 表示普通音视频流、1 表示屏幕流。 |
指定视频流截图结果。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志。 |
| BusinessId | String | Your_BusinessId | 业务标识。 |
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志。 |
| TaskId | String | Your_TaskId | 截图任务 ID。 |
| TosBucket | String | Your_TosBucket | 储存截图的 TOS Bucket。 |
| Data | Array of ImageData | - | 截图的列表。 |
ImageData
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| Stream | Stream | - | 截图对应的流的信息。 |
| ObjectKey | String | Your_ObjectKey | 截图对应的 TOS key。 |
Format | Uint32 |
| 截图格式:
|
| Width | Uint32 | 640 | 截图宽度,单位为像素。 |
| Height | Uint32 | 360 | 截图高度,单位为像素。 |
| Size | Uint64 | 28802 | 截图大小,单位为 byte。 |
| TimeStamp | Uint64 | 1647316896085 | 截图生成时对应的 Unix 时间戳。 |
Stream
| 参数名称 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| Index | Uint32 | 0 | 在自定义布局中,使用 Index 对流进行标志。后续在 Layout.regions.StreamIndex 中,你需要使用 Index 指定对应流的布局设置。 |
| UserId | String | Your_UserId | 该流所属的用户 ID。 |
| StreamType | Uint32 | 0 | 流的类型:0 表示普通音视频流、1 表示屏幕流。 |
指定视频流截图结果。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志。 |
| BusinessId | String | Your_BusinessId | 业务标识。 |
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志。 |
| TaskId | String | Your_TaskId | 截图任务 ID。 |
| Bucket | String | Your_Bucket | 存储截图的桶名称。当存储平台为 TOS,或者支持 S3 协议的第三方存储平台时此字段才会生效。 |
| VeImageXServiceId | String | - | VeImageX 的服务 ID。当存储平台为 VeImageX 时此字段才会生效。 |
| Data | Array of ImageData | - | 截图的列表。 |
ImageData
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| Stream | Stream | - | 截图对应的流的信息。 |
| ObjectKey | String | Your_ObjectKey | 对象键名称。当存储平台为 TOS,或者支持 S3 协议的第三方存储平台时此字段才会生效,你可以根据 ObjecetKey 找到对应的图片文件。 |
| VeImageXUri | String | Your_VeImageXUri | VeImageX 的统一资源标识符。当存储平台为 VeImageX 时此字段才会生效,你可以根据 VeImageXUri找到对应的图片文件。 |
Format | Uint32 |
| 截图格式:
|
| Width | Uint32 | 640 | 截图宽度,单位为像素。 |
| Height | Uint32 | 360 | 截图高度,单位为像素。 |
| Size | Uint64 | 28802 | 截图大小,单位为 byte。 |
| TimeStamp | Uint64 | 1647316896085 | 截图生成时对应的 Unix 时间戳。 |
Stream
| 参数名称 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| Index | Uint32 | 0 | 在自定义布局中,使用 Index 对流进行标志。后续在 Layout.regions.StreamIndex 中,你需要使用 Index 指定对应流的布局设置。 |
| UserId | String | Your_UserId | 该流所属的用户 ID。 |
| StreamType | Uint32 | 0 | 流的类型:0 表示普通音视频流、1 表示屏幕流。 |
指定视频流截图结果。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志。 |
| BusinessId | String | Your_BusinessId | 业务标识。 |
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志。 |
| TaskId | String | Your_TaskId | 截图任务 ID。 |
| Bucket | String | Your_Bucket | 存储截图的桶名称。当存储平台为 TOS,或者支持 S3 协议的第三方存储平台时此字段才会生效。 |
| VeImageXServiceId | String | - | VeImageX 的服务 ID。当存储平台为 VeImageX 时此字段才会生效。 |
| Data | Array of ImageData | - | 截图的列表。 |
ImageData
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| Stream | Stream | - | 截图对应的流的信息。 |
| ObjectKey | String | Your_ObjectKey | 对象键名称。当存储平台为 TOS,或者支持 S3 协议的第三方存储平台时此字段才会生效,你可以根据 ObjecetKey 找到对应的图片文件。 |
| VeImageXUri | String | Your_VeImageXUri | VeImageX 的统一资源标识符。当存储平台为 VeImageX 时此字段才会生效,你可以根据 VeImageXUri找到对应的图片文件。 |
Format | Uint32 |
| 截图格式:
|
| Width | Uint32 | 640 | 截图宽度,单位为像素。 |
| Height | Uint32 | 360 | 截图高度,单位为像素。 |
| Size | Uint64 | 28802 | 截图大小,单位为 byte。 |
| TimeStamp | Uint64 | 1647316896085 | 截图生成时对应的 Unix 时间戳。 |
Stream
| 参数名称 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| Index | Uint32 | 0 | 在自定义布局中,使用 Index 对流进行标志。后续在 Layout.regions.StreamIndex 中,你需要使用 Index 指定对应流的布局设置。 |
| UserId | String | Your_UserId | 该流所属的用户 ID。 |
| StreamType | Uint32 | 0 | 流的类型:0 表示普通音视频流、1 表示屏幕流。 |
输入在线媒体流状态发生变化。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志。 |
| TaskId | String | Your_TaskId | 任务 ID。 |
| UserId | String | Your_UserId | 在线媒体流对应的 UserId。 |
| StreamUrl | String | rtmp://xxx | 在线流媒体地址。 |
Status | Int |
| 任务状态:
|
| StartTimeStamp | Int | 0 | 任务起始时间戳,用于定时播放,Unix时间,单位为秒。默认为 0,表示立即启动。 |
| Msg | String | - | 描述信息 |
Reason | Int |
| 任务停止原因:
|
云录屏任务状态发生变化
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志。 |
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志。 |
| BusinessId | String | Your_BusinessId | 业务标识。 |
| TaskId | String | Your_TaskId | 任务 ID。 |
Status | Int |
| 任务状态:
|
| Reason | String | - | 异常结束描述信息,当 Status = {3,4,5} 时才有值,枚举值为 {:AudioCaptureModuleError、 WebRenderModuleError、SourceURLInaccessible、StartEventTimeout、PageBlank、PageCrash、PageFreeze} 。 |
通过调用 RTC 服务端 OpenAPI 或客户端 SDK 的 API 发起的转推直播任务开始。
不同版本转推直播功能在转推直播任务开始时均触发此回调。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志。 |
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志。 |
| TaskId | String | Your_TaskId | 转推直播任务 ID。通过服务端发起时,该值为调用 OpenAPI 时传入的 TaskId。通过客户端 SDK 发起时,TaskId 是按照 userId@@taskId 格式拼接而成的字符串;当传入的 taskId 为空时,这里的 TaskId 为 userId。 |
| Timestamp | Int64 | 1661150097044 | 该事件在 RTC 服务器上发生的 Unix 时间戳(ms)。 |
| PushURL | String | rtmp://xxxx | 推流 CDN 地址。该参数当前仅在合流转推下返回。 |
Code | Int |
| 操作结果类型:
|
| ErrorMessage | String | - | 具体错误信息,当 Code 为 1 时,ErrorMessage 会显示具体的错误信息。 |
通过调用 RTC 服务端 OpenAPI 或客户端 SDK 的 API 终止了转推直播任务。
不同版本转推直播功能在转推直播任务结束时均触发此回调。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志。 |
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志。 |
| TaskId | String | Your_TaskId | 转推直播任务 ID。通过服务端发起时,该值为调用 OpenAPI 时传入的 TaskId。通过客户端 SDK 发起时, TaskId 是按照 userId@@taskId 格式拼接而成的字符串;当传入的 taskId 为空时,这里的 TaskId 为 userId。 |
| Timestamp | Int64 | 1661150097044 | 该事件在 RTC 服务器上发生的 Unix 时间戳(ms)。 |
| PushURL | String | rtmp://xxxx | 推流 CDN 地址。该参数当前仅在合流转推下返回。 |
Code | Int |
| 操作结果类型:
|
| ErrorMessage | String | - | 具体错误信息,当 Code 为 1 时,ErrorMessage 会显示具体的错误信息。 |
通过调用 RTC 服务端 OpenAPI 或客户端 SDK 的 API 更新了合流转推任务。
不同版本转推直播功能在转推直播任务更新时均触发此回调。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志。 |
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志。 |
| TaskId | String | Your_TaskId | 转推直播任务 ID。通过服务端发起时,该值为调用 OpenAPI 时传入的 TaskId。通过客户端 SDK 发起时, TaskId 是按照 userId@@taskId 格式拼接而成的字符串;当传入的 taskId 为空时,这里的 TaskId 为 userId。 |
| Timestamp | Int64 | 1661150097044 | 该事件在 RTC 服务器上发生的 Unix 时间戳(ms)。 |
| PushURL | String | rtmp://xxxx | 推流 CDN 地址。 |
Code | Int |
| 操作结果类型:
|
| ErrorMessage | String | - | 具体错误信息,当 Code 为 1 时,ErrorMessage 会显示具体的错误信息。 |
转推直播任务状态变化通知。
不同版本转推直播功能在转推直播任务状态变化时均触发此回调。
状态变化包括用户主动调用 RTC 服务端 OpenAPI 或客户端 SDK 的 API 更新了合流转推任务参数。也包括任务执行过程中出现的状态流转。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志。 |
| RoomId | String | Your_RoomId | 房间 ID,是房间的唯一标志。 |
| TaskId | String | Your_TaskId | 转推直播任务 ID。通过服务端发起时,该值为调用 OpenAPI 时传入的 TaskId。通过客户端 SDK 发起时, TaskId 是按照 userId@@taskId 格式拼接而成的字符串;当传入的 taskId 为空时,这里的 TaskId 为 userId。 |
| Timestamp | Int64 | 1661150097044 | 该事件在 RTC 服务器上发生的 Unix 时间戳(ms)。 |
| StartTime | Int64 | 1661150054990 | 转推直播任务创建的 Unix 时间戳(ms) |
| FinishTime | Int64 | 0 | 转推直播任务结束的 Unix 时间戳(ms) |
| PushURL | String | rtmp://xxxx | 推流 CDN 地址。该参数当前仅在合流转推下返回。 |
TaskState | Int |
| 任务状态:
|
Code | Int |
| 错误码:
|
| ErrorMessage | String | - | 具体错误信息。 |
| OnStatusCode | String | - | 推流失败时 CDN 返回的错误码。 |
| OnStatusDescription | String | - | 推流失败时 CDN 返回的错误详情。 |
WTN 流推送异常或推送结束
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志。 |
| BusinessId | String | Your_BusinessId | 业务标识。 |
| PublicStreamId | String | Your_PublicStreamId | WTN 流对应的流 ID。 |
| Timestamp | Int64 | 1661150097044 | 该事件在 RTC 服务器上发生的 Unix 时间戳(ms)。 |
Status | Int |
| WTN 流任务状态:
|
| Msg | String | - | 具体的错误信息。 |
Code | Int |
| 错误码:
|
开始推流回调。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| streamId | String | Your_StreamId | WTN 流 ID。 |
| sourceProtocol | String | RTMP | 推流协议,取值为 RTMP 或 WHIP |
| startPushTime | Int64 | 1678886400000 | 开始推流时间,毫秒级 UTC 时间戳。 |
结束推流回调。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| streamId | String | Your_StreamId | WTN 流 ID。 |
| sourceProtocol | String | RTMP | 推流协议,取值为 RTMP 或 WHIP |
| startPushTime | Int64 | 1678886400000 | 开始推流时间,毫秒级 UTC 时间戳。 |
| stopPushTime | Int64 | 1678886500000 | 结束推流时间,毫秒级 UTC 时间戳。 |
reason | Int | 结束原因:
|
曲库下架歌曲列表。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| AppId | String | Your_AppId | 应用的唯一标志。 |
| Timestamp | Int | 1611736812853 | 该事件在 RTC 服务器上发生的时间戳,Unix 时间戳,单位为毫秒。 |
| SongUpdate | Array of SongUpdate | - | 下架歌曲详细信息。 |
SongUpdate
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| SongId | String | Your_SongId | 歌曲 ID。 |
| VendorId | Int | 1 | 供应商 ID。 |
| UpdateAt | Int | 1611736812853 | 歌曲更新时间戳,Unix 时间戳,单位为毫秒。 |
文件转码进度。触发时机说明如下:
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| TaskId | String | 5f848de8-4258-4c41-964b-80556552ae82 | 任务唯一标识。 |
TranscodeMode | Int |
|
|
| Progress | Int | 0 | 进度:当前页数/总页数 *100%。对于动态转码任务,取值为 0 或 100。 |
| FileName | String | demo | 源文件文件名。 |
| TotalPages | Int | 5 | 总页数。对静态转码任务有效。 |
文件转码任务结束后回调一次,成功或失败。
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| TaskId | String | 5f848de8-4258-4c41-964b-80556552ae82 | 任务唯一标识。 |
TranscodeMode | Int |
|
|
| FileName | String | demo | 源文件文件名。 |
| FileId | String | 001 | 动态转码文件ID。对动态转码任务有效。 |
| TotalPages | Int | 5 | 总页数。 |
| Width | Int | 640 | 分辨率宽,单位:像素。对静态转码任务有效。 |
| Height | Int | 360 | 分辨率高,单位:像素。对静态转码任务有效。 |
| ThumbnailWidth | int | 64 | 缩略图分辨率宽,单位:像素。 |
| ThumbnailHeight | int | 64 | 缩略图分辨率高,单位:像素。 |
Images | Array of Image | None | 转码图片结果:
|
| ErrCodeN | Int | 400 | 错误码编号,含义见白板错误码。 |
| ErrCode | String | InvalidParameter | 错误码类型,含义见白板错误码。 |
| ErrMsg | String | 和错误参数有关的信息 | 错误码信息,含义见白板错误码。 |
| 参数名 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| PageId | Int | 1 | 页数,从 1 开始编号。 |
| Img | String | https://example.com/demo.png | 转码图片 URL。 |
| ThumbnailUrl | String | https://example.com/thumbnail.png | 转码缩略图 URL,如没有指定缩略图,则为空。 |