数据结构
更新时间: 2024/12/19 17:26:02
members
音视频房间中的在线用户信息列表。
被以下接口引用:查看房间内成员信息。
| 名称 | 类型 | 示例 | 描述 |
|---|---|---|---|
| uid | Integer | 193992653091841 | 房间中在线成员的用户 ID。 |
| starttime | int64 | 1513145926 | 该成员加入房间的时间。UTC 时间戳格式。 |
| userRole | Integer | 1 | 房间成员角色。0 表示主播角色,1 表示观众角色。 |
layout
旁路推流画面布局设置。配置示例请参考旁路推流画面布局。
被以下接口引用:
| 参数 | 类型 | 是否必选 | 描述 |
|---|---|---|---|
| canvas | layout.canvas | 必选 | 用于设置混流视频的整体画布属性。 |
| users | layout.users | 必选 | 用于设置混流视频中每个参与者对应的画面属性。注意:用户窗口边界不能超出 canvas 画布。视频互动中最多添加 7 人,纯语音互动中最多添加 21 人。如果人数超限,可能会造成服务故障。 |
| subStreams | layout.subStreams | 可选 | 用于设置合流画面中每个辅流画面的属性。开启辅流形式屏幕共享之后,辅流画面默认展示为指定布局样式,详细信息请参考存在辅流的模板布局。您也可以通过此参数调整每个辅流画面在直播画面中的位置。 |
| images | layout.images | 可选 | 用于设置混流视频中占位图片属性。若参数 users 指定的用户未上线,会在其对应的区域展示占位图片。 |
layout.canvas
canvas 参数说明:
| 参数名称 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
| height | Integer | 必选 | 640 | 整体画布的高度,单位为 px。 取值范围为 0~1920,若设置为奇数值,会自动向下取偶。 |
| width | Integer | 必选 | 0 | 整体画布的宽度,单位为 px。 取值范围为 0~1920,若设置为奇数值,会自动向下取偶。 |
|
color |
String |
可选 |
0 |
画面背景颜色,默认为 0,即黑色。支持以下格式的颜色码:
|
layout.users
users 参数说明:
| 参数名称 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
| uid | Integer | 必选 | 1111 | 将指定uid对应用户的视频流拉入直播。 如果添加多个 users,则 uid 不能重复。 |
| x | Integer | 必选 | 0 | 通过 x 和 y 指定画布坐标中的一个点,该点将作为用户图像的左上角。 x 参数用于设置画布的横轴坐标值。 取值范围为 0~1920,若设置为奇数值,会自动向下取偶。 |
| y | Integer | 必选 | 0 | 通过 x 和 y 指定画布坐标中的一个点,该点将作为用户图像的左上角。 y 参数用于设置画布的纵轴坐标值。 取值范围为 0~1920,若设置为奇数值,会自动向下取偶。 |
| width | Integer | 必选 | 360 | 该用户图像在画布中的宽度。 取值范围为 0~1920,若设置为奇数值,会自动向下取偶。 |
| height | Integer | 必选 | 360 | 该用户图像在画布中的高度。 取值范围为 0~1920,若设置为奇数值,会自动向下取偶。 |
|
adaption |
Integer |
可选 |
1 |
用于设置占位图片和指定区域的适应属性。可设置为:
|
|
pushAudio |
Boolean |
可选 |
true |
是否在直播中混流该用户的对应音频流。可设置为:
|
|
pushVideo |
Boolean |
可选 |
true |
是否在直播中向观看者播放该用户的对应视频流。可设置为:
|
| zOrder | Integer | 可选 | 1 | 直播视频上用户视频帧的图层编号。取值范围为 0~100,默认为 0。 最小值为 0(默认值),表示该区域图像位于最下层。 最大值为 100,表示该区域图像位于最上层。 |
layout.subStreams
subStreams 参数说明:
| 参数名称 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
| uid | Integer | 必选 | 1111 | 将指定 uid 对应用户的屏幕共享流拉入直播。 如果添加多个 subStreams,则 uid 不能重复。 |
| x | Integer | 必选 | 360 | 通过 x 和 y 指定画布坐标中的一个点,该点将作为辅流视频的左上角。 x 参数用于设置画布的横轴坐标值。 取值范围为 0~1920,若设置为奇数值,会自动向下取偶。 |
| y | Integer | 必选 | 0 | 通过 x 和 y 指定画布坐标中的一个点,该点将作为辅流视频的左上角。 y 参数用于设置画布的纵轴坐标值。 取值范围为 0~1920,若设置为奇数值,会自动向下取偶。 |
| width | Integer | 必选 | 360 | 该辅流视频在画布中的宽度。 取值范围为 0~1920,若设置为奇数值,会自动向下取偶。 |
| height | Integer | 必选 | 640 | 该辅流视频在画布中的高度。 取值范围为 0~1920,若设置为奇数值,会自动向下取偶。 |
|
adaption |
Integer |
可选 |
1 |
用于设置占位图片和指定区域的适应属性。可设置为:
|
|
pushAudio |
Boolean |
可选 |
true |
是否在直播中向观看者播放该用户的对应音频辅流。可设置为:
|
|
pushVideo |
Boolean |
可选 |
true |
是否在直播中向观看者播放该用户的对应视频辅流。可设置为:
|
|
zOrder |
Integer |
可选 |
1 |
直播视频上辅流视频的图层编号。取值范围为 0~100,默认为 0。
|
layout.images
images 参数说明:
| 参数名称 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
| url | String | 必选 | www.163.com/test.jpg | 占位图片的URL。 |
| x | Integer | 必选 | 360 | 通过 x 和 y 指定画布坐标中的一个点,该点将作为占位图片的左上角。 x 参数用于设置画布的横轴坐标值。 取值范围为 0~1920,若设置为奇数值,会自动向下取偶。 |
| y | Integer | 必选 | 0 | 通过 x 和 y 指定画布坐标中的一个点,该点将作为占位图片的左上角。 y 参数用于设置画布的纵轴坐标值。 取值范围为 0~1920,若设置为奇数值,会自动向下取偶。 |
| width | Integer | 必选 | 360 | 该占位图片在画布中的宽度。 取值范围为 0~1920,若设置为奇数值,会自动向下取偶。 |
| height | Integer | 必选 | 640 | 该占位图片在画布中的高度。 取值范围为 0~1920,若设置为奇数值,会自动向下取偶。 |
|
adaption |
Integer |
可选 |
1 |
用于设置占位图片和指定区域的适应属性。可设置为:
|
|
zOrder |
Integer |
可选 |
1 |
直播视频上辅流视频的图层编号。取值范围为 0~100,默认为 0。
|
- users、subStream 和 images 三个属性均支持设置 zOrder 参数,但在视窗有重叠部分的情况下,三者图层展示的优先顺序为 users > subStream > images。
- images 支持最多设置 6 张图片。
rtmpTasks
推流任务详情。
被以下接口引用:查看所有推流任务详情。
| 参数名称 | 类型 | 示例 | 描述 |
|---|---|---|---|
| taskId | String | stream_1 | 自定义的推流任务 ID。请保证此 ID 唯一。 |
| streamUrl | String | rtmp://test.url | 推流地址,例如 rtmp://test.url。 此处的推流地址可设置为网易云信直播产品中服务端API 创建房间 的返回参数 pushUrl。 |
| layout | JSON | - | 互动直播中的布局相关参数。 参数详情请参考 layout。布局参数的配置方式及典型配置示例请参考旁路推流画面布局。 |
| record | Boolean | true | 旁路推流是否需要进行音视频录制。 |
| version | Integer | 1 | 推流任务版本,此处请设置为 1。 |
| hostUid | Integer | 111 | 主播的 UID。 |
| config | JSON | - | 音视频流配置。详细参数说明请参考config。 |
| extraInfo | String | abc | 自定义的媒体补充增强信息。 |
rtmpTask
推流任务详情。
被以下接口引用:查看指定推流任务详情。
| 参数名称 | 类型 | 示例 | 描述 |
|---|---|---|---|
| taskId | String | stream_1 | 自定义的推流任务 ID。请保证此 ID 唯一。 |
| streamUrl | String | rtmp://test.url | 推流地址,例如 rtmp://test.url。 此处的推流地址可设置为网易云信直播产品中服务端API 创建房间 的返回参数 pushUrl。 |
| layout | JSON | - | 互动直播中的布局相关参数。 参数详情请参考 layout。布局参数的配置方式及典型配置示例请参考旁路推流画面布局。 |
| record | Boolean | true | 旁路推流是否需要进行音视频录制。 |
| version | Integer | 1 | 推流任务版本,此处请设置为 1。 |
| hostUid | Integer | 111 | 主播的 UID。 |
| config | JSON | - | 音视频流配置。详细参数说明请参考config。 |
| extraInfo | String | abc | 自定义的媒体补充增强信息。 |
config
旁路推流时的音视频流配置。
被以下接口引用: 创建推流任务
参数名称 |
类型 | 示例 | 描述 |
|---|---|---|---|
| singleVideoNoTrans | Boolean | true | 单路视频透传开关,可选。默认为关闭状态。 开启后,如果房间中只有一路视频流输入,则不对输入视频流进行转码,不遵循转码布局,直接推流 CDN。 |
| subAllAudio | Boolean | true | 互动直播中是否订阅所有用户的音频流。可选,默认为关闭状态。 开启后,房间中所有成员的音频流均会被混流后推往 CDN。 |
| audioParam | JSON | 无 | 音频编码参数。 |
audioParam 的参数说明如下表所示。
参数名称 |
类型 | 示例 | 描述 |
|---|---|---|---|
| bitRate | Number | 128 | 音频推流码率,可选。单位为 kbps,取值范围为 10~192。 语音场景建议设置为 64 及以上码率,音乐场景建议设置为 128 及以上码率。 |
|
sampleRate |
Number |
3200 |
音频推流采样率。单位为Hz,可设置为:
|
|
channels |
Number |
1 |
音频推流声道数。
|
|
codecProfile |
Number |
1 |
音频编码规格。
|
data
云端播放任务信息。
被以下接口引用:
参数名称 |
类型 |
是否必选 |
示例 |
描述 |
|---|---|---|---|---|
| streamUrl | String | 必选 | rtmp://example.yunxin.io/live/class32/101 | 实时媒体流直播拉流地址,或音视频文件点播地址。支持如下协议和格式: |
| uid | Int64 | 必选 | 101 | 用户 ID。 |
| idleTimeout | Number | 可选 | 300 | 云端播放器处于空闲状态的最大时长(秒),不可设置超过 24 小时。 当媒体流为非播放状态的时长超过该设定值时,任务会自动销毁。 |
|
playTs |
Number |
可选 |
1575508644 |
云端播放器开始播放在线媒体流时的 Unix 时间戳(秒)。
|
| mediaType | Number | 必选 | 0 | 媒体流类型: |
watermark
水印配置。
被以下接口引用:
watermark 的参数说明如下表所示。
参数名称 |
类型 | 是否必填 | 描述 |
|---|---|---|---|
| imgWms | watermark.imgWms | 可选 | 图片水印配置。 |
| transparentLayers | watermark.transparentLayers | 可选 | 透明层水印框配置。 |
| literaWms | watermark.literaWms | 可选 | 文字水印配置。 |
| timestampWm | watermark.timestampWm | 可选 | 时间戳水印配置。 |
支持多个水印叠加,叠加后图层展示的优先顺序为:时间戳 > 文字 > 透明层 > 图片。
watermark.imgWms
imgWms 的参数说明如下表所示。
参数名称 |
类型 |
是否必选 |
示例 |
描述 |
|---|---|---|---|---|
| imgWms.url | String | 可选 | https://freepngimg.com/XXX/XXX/3-2-love-hearts-eyes-emoji-png.png | 图片地址。 |
| imgWms.wmWidth | Integer | 可选 | 100 | 图片宽度。 |
| imgWms.wmHeight | Integer | 可选 | 100 | 图片高度。 |
| imgWms.offsetX | Integer | 可选 | 0 | 图片水印左上角与视频画布左上角的水平距离。 |
| imgWms.offsetY | Interger | 可选 | 0 | 图片水印左上角与视频画布左上角的垂直距离。 |
watermark.transparentLayers
transparentLayers 的参数说明如下表所示。
参数名称 |
类型 |
是否必选 |
示例 |
描述 |
|---|---|---|---|---|
| transparentLayers.offsetX | Integer | 可选 | 0 | 水印框左上角与视频画布左上角的水平距离。 |
| transparentLayers.offsetY | Integer | 可选 | 0 | 水印框左上角与视频画布左上角的垂直距离。 |
| transparentLayers.wmWidth | Integer | 可选 | 480 | 水印框宽度。 |
| transparentLayers.wmHeight | Integer | 可选 | 100 | 水印框高度。 |
|
transparentLayers.bgTransparency |
Integer |
可选 |
1 |
水印框透明度。可设置为:
|
watermark.literaWms
literaWms 的参数说明如下表所示。
参数名称 |
类型 |
是否必选 |
示例 |
描述 |
|---|---|---|---|---|
| literaWms.wmLitera | String | 可选 | 你好啊xxxxJJJJJLLLL | 文字水印内容。 |
| literaWms.fontSize | Integer | 可选 | 50 | 文字大小。 |
| literaWms.fontColor | String | 可选 | #FF0000 | 文字颜色。格式为 #RRGGBB。最大值为 #FFFFFF。 |
| literaWms.offsetX | Integer | 可选 | 0 | 文字水印左上角与视频画布左上角的水平距离。 |
| literaWms.offsetY | Interger | 可选 | 0 | 文字水印左上角与视频画布左上角的垂直距离。 |
watermark.timestampWm
timestampWm 的参数说明如下表所示。
参数名称 |
类型 |
是否必选 |
示例 |
描述 |
|---|---|---|---|---|
| timestampWm.fontSize | Integer | 可选 | 50 | 时间戳的字体大小。 |
| timestampWm.fontColor | String | 可选 | #FF0000 | 时间戳的字体颜色。格式为 #RRGGBB。最大值为 #FFFFFF。 |
| timestampWm.offsetX | Integer | 可选 | 0 | 时间戳水印左上角与视频画布左上角的水平距离。 |
| timestampWm.offsetY | Interger | 可选 | 0 | 时间戳水印左上角与视频画布左上角的垂直距离。 |





