提交工单
咨询集成、功能及报价等问题
调用本接口可以发起 RTMP 推拉流调度,支持 “pull” 和 “push” 两种调度模式。
当您需要自行通过 RTMP 协议,从 ZEGO 音视频云进行直播流的推流或拉流时,可以通过本接口获取 RTMP 的推流或拉流节点。开发者在客户端传入流 ID(StreamId)、调度模式(Type)、客户端 IP(ClientIP)和序列号(Sequence)后,ZEGO 媒体服务器(RTC 服务)返回调度结果集,供客户推拉流。
例如,当通过 OBS 等第三方推流工具进行 RTMP 推流时,需要进行推流调度;当需要第三方播放器拉 RTMP 流进行播放时,需要进行拉流调度。
首次使用本接口,需要联系 ZEGO 技术支持进行配置。
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表请参考 调用方式 中的 “2.1 公共请求参数”。
测试环境下(详见 调用方式 中的 “2 公共参数” 中的 IsTest 的参数说明),流 ID 需要加上 “zegotest-AppId-” 前缀。例如,流 ID 为 “test”,在 AppId 为 “123456789” 的测试环境下,流 ID 应为 “zegotest-123456789-test”。
参数 | 类型 | 是否必选 | 描述 |
---|---|---|---|
StreamId |
String |
是 |
流 ID,长度不超过 256 的字符串。
|
Sequence |
Int64 |
是 |
请求序列号;仅用于请求对帐,推荐使用时间戳(毫秒级别)。 |
Type |
String |
是 |
调度模式。
|
ClientIP |
String |
否 |
非必选,如有,则传入客户端 IP 地址,例如:119.23.242.129。
当前不支持 IPv6 格式的 IP 地址。 |
https://rtc-api.zego.im/?Action=RTMPDispatchV2
&StreamId=rtc01
&Sequence=1617249600001
&Type=pull
&ClientIP=47.102.152.118
&<公共请求参数>
参数 | 类型 | 描述 |
---|---|---|
Code |
Number |
返回码。 |
Message |
String |
操作结果描述。 |
RequestId |
String |
请求 ID。 |
Data |
Object |
响应数据。 |
{
"Code":0,
"Message":"ok",
"RequestId":"5094436160208407316",
"Data":[
"rtmp://81.69.49.115:1935/1540531164/caodantest"
]
}
以下仅列出了常见的接口业务逻辑相关的返回码,完整返回码请参考 全局返回码。
返回码 | 说明 | 处理建议 |
---|---|---|
1010、30002 | 接口调用频率过高。 | 请降低接口请求频率。 |
1001 | 调度失败。 | 请联系 ZEGO 技术支持处理。 |
1002 | 推流节点为空。 | 请联系 ZEGO 技术支持处理。 |
1003 | 拉流节点为空。 | 请联系 ZEGO 技术支持处理。 |
1005 | App 不在线。 | 请联系 ZEGO 技术支持处理。 |
1006 | 无效参数。 | 请联系 ZEGO 技术支持处理。 |
30003 | 内部错误。 | 请联系 ZEGO 技术支持处理。 |
30004 | 参数 isTest 错误。 | 请检查公共请求参数 isTest 是否正确。 |
30005 | 无效的 AppId。 | 请检查 AppId 是否正确。 |
30009 | 无效的 StreamId,流名不规范。 | 请检查 StreamId 是否符合流名编码规范。 |
30010 | 无效的调度动作。 | 请检查 Type 是否正确。 |
30011 | 无效的客户端 IP 地址。 | 请检查 ClientIP 是否正确。 |
RTMPDispatchV2(推荐) 和 RTMPDispatch 的区别是,访问 ZEGO 服务端时:
RTMPDispatchV2
,ZEGO 服务端返回的 Data 数据为 URL 形式。RTMPDispatch
,ZEGO 服务端返回的 Data 数据为 IP Port 形式。请求地址:https://rtc-api.zego.im/?Action=RTMPDispatch
响应示例:
{
"Code":0,
"Message":"ok",
"RequestId":"5094436160208407316",
"Data":[
"81.69.49.115:1935"
]
}
联系我们
文档反馈