创建旁路推流任务

更新时间: 2024/03/25 11:00:42

当需要使用互动直播功能时,必须要设置推流任务。创建推流任务可以调用服务端接口进行设置,也可以调用客户端接口进行设置。

创建推流任务时,您还可以开启直播视频录制。录制的视频默认存储在点播服务中,您可以通过点播的相关接口查看并下载视频文件。详细信息请参考点播媒资管理

限制说明

  • 设置推流画面布局时,用户窗口边界不能超出 canvas 画布。
  • 视频互动的画面布局中,最多 7 人参与;纯语音互动最多 21 人。如果人数超限,可能会影响正常的音视频服务。
  • 同一个音视频房间(即同一个 channelid)可以创建 6 个不同的推流任务。
  • 纯音频直播场景下,无需设置用户画面布局,可以将 users 中 x、y、width、height 等参数设置为 0。

URL

  • 请求方法:POST

  • URL:

    网易云信为该功能提供以下两个 API 请求地址,使用 V2 地址需在 URL 中指定 cid,使用 V3 地址需在 URL 中指定 cname,您可以根据业务需求调用任一接口。

    • https://logic-dev.netease.im/v2/api/rooms/{cid}/task
    • https://logic-dev.netease.im/v3/api/rooms/task?cname={cname}

URL 中参数说明:

参数名称 类型 示例 描述
cid int64 6207760637435905 房间 ID。该 ID 为创建房间接口调用成功后返回的房间 ID。 仅在调用 V2 接口时需要设置。
cname String abc 房间名称。仅在调用 V3 接口时需要设置。

接口请求频率

默认上限为 50 次/秒,若请求频率超出限制,可能会返回 429 错误码。
若您需要上调上限,请参考如何处理调用服务端 RESTful API 超出频率限制

请求参数

  • 请求中 Header 的设置请参考请求结构描述。

  • 请求中 Body 须为 JSON 格式,参数说明如下:

参数名称
类型
是否必选
示例
描述
version Integer 必选 1 推流任务版本,此处请设置为 1。
taskId String 必选 stream_1 自定义的推流任务 ID。请保证此 ID 唯一,为字母数字下划线组成的 64 位以内的字符串。
streamUrl String 必选 rtmp://test.url 推流地址,例如 rtmp://test.url
此处的推流地址可设置为网易云信直播产品中服务端 API 创建直播频道的返回参数 pushUrl。
layout Json 必选 - 互动直播中的布局相关参数。纯音频场景下 users 中 x、y、width、height 等用户布局配置参数可设置为 0。
详细参数说明请参考 layout。布局参数的配置方式及典型配置示例请参考旁路推流画面布局
record Boolean 可选 true 旁路推流是否需要进行音视频录制。
hostUid Integer 可选 111 主播的 UID。
config Json 可选 - 音视频流配置。
详细参数说明请参考 config
extraInfo String 可选 abc 自定义的媒体补充增强信息。
watermark JSON 可选 水印配置。支持添加文字水印、图片水印和时间戳水印。添加水印可以防止直播内容被未授权的人盗用、侵权,保护直播内容的版权。详细参数说明请参见watermark水印配置只支持在创建旁路推流任务时添加,不支持在更新旁路推流任务时修改。

返回参数

参数名称 类型 示例 描述
code int 200 状态码。
errmsg String invalid params 错误详情。仅在状态码为 200 以外的其他状态中返回。errmsg 仅供参考,请勿基于 errmsg 实现业务逻辑。

示例

请求示例

{
	"version": 1,
	"taskId": "stream_1",
	"streamUrl": "rtmp://test.url",
	"record": true,
	"hostUid": 123,
	"layout": {
		"canvas": {
			"width": 720,
			"height": 640,
			"color": 16777215
		},
		"users": [{
			"uid": 66601,
			"x": 0,
			"y": 0,
			"width": 360,
			"height": 640,
			"adaption": 1,
			"pushAudio": true,
			"pushVideo": true,
			"zOrder": 1
		}, {
			"uid": 66602,
			"x": 360,
			"y": 0,
			"width": 360,
			"height": 640,
			"adaption": 1,
			"pushAudio": true,
			"pushVideo": true,
			"zOrder": 1
		}],
		"subStreams": [{
			"uid": 66601,
			"x": 0,
			"y": 640,
			"width": 360,
			"height": 640,
			"adaption": 1,
			"pushVideo": true,
			"zOrder": 1
		}, {
			"uid": 66602,
			"x": 360,
			"y": 640,
			"width": 360,
			"height": 640,
			"adaption": 1,
			"pushVideo": true,
			"zOrder": 1
		}],
		"images": [{
			"url": "www.163.com/66601.jpg",
			"x": 0,
			"y": 0,
			"width": 360,
			"height": 640,
			"adaption": 1,
			"zOrder": 0
		}, {
			"url": "www.163.com/66602.jpg",
			"x": 360,
			"y": 0,
			"width": 360,
			"height": 640,
			"adaption": 1,
			"zOrder": 0
		}]
	},
	"config": {
		"singleVideoNoTrans": true,
		"audioParam": {
			"bitRate": 64
		}
	}

}

正常返回示例

{
    "code": 200     
}      

错误码

此文档是否对你有帮助?
有帮助
去反馈
  • 限制说明
  • URL
  • 接口请求频率
  • 请求参数
  • 返回参数
  • 示例
  • 请求示例
  • 正常返回示例
  • 错误码