创建推流任务

更新时间: 2023/07/13 02:47:56

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

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

限制说明

  • 设置推流画面布局时,用户窗口边界不能超出 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 超出频率限制

请求参数

参数名称
类型
是否必选
示例
描述
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,
			"pushAudio": true,
			"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
		}
	},
	"watermark":{
            "literaWms":[
                {
                    "wmLitera":"你好啊xxxxJJJJJLLLL",
                    "fontSize":50,
                    "fontColor":"#FFFFFF", 
                    "offsetX":0,
                    "offsetY":0
                }
            ],
            "transparentLayers":[
                {
                    "offsetX":0,
                    "offsetY":0,
                    "wmWidth":480,
                    "wmHeight":100,
                    "bgTransparency":3
             }
            ],
            "imgWms":[
                {
                    "url":"https://freepngimg.com/thumb/emoji/3-2-love-hearts-eyes-emoji-png.png",
                    "offsetX":120,
                    "offsetY":120,
                    "wmWidth":100,
                    "wmHeight":100
                }
            ],
            "timestampWm":{
                "fontSize":50,
                "fontColor":"#FFFFFF", 
                "offsetX":0,
                "offsetY":50
            }
    }

}

正常返回示例

{
    "code": 200     
}      

错误码

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