数据结构
更新时间: 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 | 时间戳水印左上角与视频画布左上角的垂直距离。 |