添加源
1.接口描述
接口说明:添加源。
请求方式:POST [ip]/api/source/add
2.输入参数
参考源配置,以下是各种协议的说明和举例
源配置
- 根据type字段的不同,data字段的内容也不同,type为url时,data字段为URL源,否则,存在ext字段描述其数据结构type为d_ndi时,data字段为动态NDI源,type为ndi时,data字段为自定义NDI源。
- protocol为协议类型,支持的类型为:"ndi","rtmp","ts-srt","ts-udp","ts-rtp","rtsp","http"
参数名称 |
必选 |
类型 |
描述 |
name |
是 |
String |
源的名称 |
protocol |
是 |
String |
协议类型 |
type |
是 |
String |
配置类型,有url,d_ndi,ndi |
data |
是 |
Struct |
当type为url时,为url源配置,当type为d_ndi时,为NDI动态源配置,当type为ndi时,为NDI静态源配置 |
URL源配置
参数名称 |
必选 |
类型 |
描述 |
url |
是 |
String |
流地址 |
buffer_ms |
是 |
Integer |
缓存时间单位ms |
ptz_en |
是 |
Boolean |
云台控制使能, web上默认折叠ptz配置页,当此项为true时打开ptz配置项 |
ptz |
否 |
Struct |
当数据源为相机并且支持ptz控制的时候可以设置此参数,参考ptz配置 |
ptz配置
参数名称 |
必选 |
类型 |
描述 |
protocol |
是 |
String |
云台的控制协议,有效值: "VISCA over UDP",后期可以扩展其他协议 |
ip |
是 |
String |
云台的IP |
port |
是 |
Integer |
云台的端口号 |
device_id |
是 |
Integer |
云台的设备ID |
message_header |
否 |
Boolean |
是否添加visca 的UDP消息头 |
invert_pan |
否 |
Boolean |
水平控制方向是否取反 |
invert_tilt |
否 |
Boolean |
垂直控制方向是否取反 |
NDI动态源配置
参数名称 |
必选 |
类型 |
描述 |
name |
是 |
String |
ndi流的名称 |
url |
是 |
String |
NDI地址 |
NDI静态源配置
参数名称 |
必选 |
类型 |
描述 |
name |
是 |
String |
ndi流的名称 |
url |
是 |
String |
NDI地址 |
low_bw |
否 |
Boolean |
使能低带宽模式, 有效值true/false |
transport |
否 |
String |
传输模式,有效值 "auto", "multicast", "udp", "rudp", "tcp", "multi-tcp" |
pts_mode |
否 |
String |
时间戳模式,有效值 "auto", "timecode", "timestamp" |
buffer_ms |
是 |
Integer |
缓存时间单位ms |
NDI URL 组成
10.10.10.1:5000
URL 组成 |
说明 |
10.10.10.1:5000 |
ndi源的ip和端口 |
HTTP(S) URL 组成
http://10.10.10.1:5000?mw-bitrate=4096&mw-buffer-duration=150
URL 组成 |
说明 |
http://10.10.10.1:5000 |
标准的 http url |
mw-bitrate |
码率 |
mw-buffer-duration |
缓存时间单位ms,针对HTTP/HLS,需要设置至少150ms |
RTSP URL 组成
rtsp://127.0.0.1?mw-tcp-first=true&mw-buffer-duration=60
URL 组成 |
说明 |
rtsp://127.0.0.1 |
标准的 rtsp url |
mw-tcp-first |
tcp 优先,有效值:true/false |
mw-buffer-duration |
缓存时间单位ms |
RTMP URL 组成
rtmp://127.0.0.1/live/[key]?mw-buffer-duration=60
URL 组成 |
说明 |
rtmp://127.0.0.1 |
标准的 rtmp url |
key |
密钥,必须是 url 最后一个路径,不支持斜杠(/) |
mw-buffer-duration |
缓存时间单位ms |
MPEG-TS over UDP URL 组成
// 组播
udp://@ip:port?mw-audio-track=1&mw-buffer-duration=60
// 单播
udp://@0.0.0.0:port?mw-audio-track=1&mw-buffer-duration=60
URL 组成 |
说明 |
ip |
单播:0.0.0.0 组播:有效 ip 范围 224.0.0.0 ~ 239.255.255.255 |
port |
端口号,有效范围:1 ~ 65535 |
mw-audio-track |
音轨,有效范围:1 ~ 8 |
mw-buffer-duration |
缓存时间单位ms |
MPEG-TS over SRT URL 组成
// Caller 模式
srt://ip:port?mode=caller&streamid=12323&passphrase=12345678914&latency=123&mw-audio-track=1&mw-buffer-duration=60
// Listener 模式
srt://0.0.0.0:port?mode=listener&streamid=12323&passphrase=12345678914&latency=123&mw-audio-track=1&mw-buffer-duration=60
URL 组成 |
说明 |
ip |
Listener:0.0.0.0 caller:合法 ip 地址(不能为:0.0.0.0) |
port |
端口号,有效范围:1 ~ 65535 |
mode |
模式,有效值:caller/listener |
streamid |
streamid |
latency |
延迟时间,有效范围:20 ~ 8000 |
encryption |
是否加密,有效值:true/false |
passphrase |
加密密码,选填,需要加密时才设置,长度:10 ~ 79 |
mw-audio-track |
音轨,有效范围:1 ~ 8 |
mw-buffer-duration |
缓存时间单位ms |
MPEG-TS over RTP URL 组成
// 组播
rtp://ip:port?mw-ts-progid=123&mw-audio-track=1&mw-buffer-duration=60
// 单播
rtp://0.0.0.0:port?mw-ts-progid=123&mw-audio-track=1&mw-buffer-duration=60
URL 组成 |
说明 |
ip |
单播:0.0.0.0 组播:有效 ip 范围 224.0.0.0 ~ 239.255.255.255 |
port |
端口号,有效范围:1 ~ 65535 |
mw-audio-track |
音轨,有效范围:1 ~ 8 |
mw-ts-progid |
progid,选填 |
mw-buffer-duration |
缓存时间单位ms |
3.输出参数
参数名称 |
类型 |
描述 |
status |
Int |
状态码 |
code |
String |
状态描述 |
4.示例
添加 NDI 源。
输入示例
{
"name": "name1",
"protocol": "ndi",
"type": "ndi",
"data": {
"name": "ULTRA ENCODE AOGUN (C315230423002-2)",
"url": "10.10.33.21:5000",
"low_bw": false,
"transport": "tcp",
"pts_mode": "auto",
"buffer_ms": 60
}
}
输出示例
{
"status": 0,
"code" : "Success"
}
5.错误码
无接口业务逻辑相关的错误码,其他错误码详见 公共错误码。