添加源
1.接口描述
接口说明:添加源。
请求方式:POST [ip]/api/source/add
| 管理员权限 | 登录认证 |
|---|---|
| 否 | 是 |
2.输入参数
参考源配置,以下是各种协议的说明和举例
RTSP
支持标准的RTSP地址
rtsp://192.168.1.58:899/stream
RTMP
支持标准的RTMP地址
rtmp://192.168.1.58/live/key
HTTP
支持标准的HTTP文件播放
http://192.168.1.58/samples/SampleVideo.mp4
MPEG-TS over UDP
支持标准的UDP地址
// 组播
udp://ip:port
// 单播
udp://0.0.0.0:port
MPEG-TS over SRT
由于srt没有标准url定义,所以采用了ffmpeg中对srt url的定义
// Caller 模式
srt://ip:port?mode=caller&latency=125&streamid=test&passphrase=1234567890
// Listener 模式
srt://0.0.0.0:port?mode=listener&latency=125&streamid=test
| URL 组成 | 说明 |
|---|---|
| ip | Listener:0.0.0.0 caller:合法 IP 地址(不能为:0.0.0.0) |
| port | 端口号,有效范围:1 ~ 65535 |
| mode | 模式,有效值:caller/listener |
| latency | 延迟时间,单位毫秒,有效范围:20 ~ 8000 |
| passphrase | 加密密码,选填,需要加密时才设置 |
| streamid | 流 ID,字符长度:0 ~ 256 |
MPEG-TS over RTP
支持标准的RTP地址
// 组播
rtp://ip:port
// 单播
rtp://0.0.0.0:port
ZIXI PULL
ZIXI PULL协议的地址格式为:
zixi://ip:port/stream?latency=200&encryption=128&key=xxx&password=xxx&minimize_latency=true&ignore_dtls_cert_error=true
| URL 组成 | 说明 |
|---|---|
| latency | 延迟时间,单位毫秒,有效范围: 20~5000 |
| encryption | 加密类型,值: 128, 192, 256, 分别对应AES-128, AES-192, AES-256 |
| password | 密码,选填,不允许有&或者?号 |
| key | 加密密钥 |
| minimize_latency | 是否最小化延迟,true/false |
| ignore_dtls_cert_error | 是否忽略DTLS证书错误,true/false |
其它URL参数
| URL 组成 | 支持的协议 | 说明 |
|---|---|---|
| mw-tcp-first | rtsp | 设置rtsp协议优先采用tcp传输 |
| mw-audio-track | ts over srt/udp/rtp | 选择音频轨道 |
| mw-ts-progid | ts over srt/udp/rtp | 选择mpeg ts的节目id |
| mw-buffer-duration | 所有 | 缓存时间,针对HTTP/HLS,需要设置至少1000ms |
自定义NDI源
| 参数 | 类型 | 描述 |
|---|---|---|
| name | String | 名称 |
| type | Int | 配置类型,为3 |
| ndi | Struct | NDI源配置 |
示例:
{
"name": "ndi encoder test",
"ndi": {
"name": "ULTRA ENCODE Test (C315230423002-2)",
"url": "10.10.15.43:5961",
"low-bw": false,
"pts-mode": "timestamp",
"transport": "rudp"
},
"type": 3
}
3.输出参数
| 参数 | 类型 | 描述 |
|---|---|---|
| status | Int | 状态码 |
4.示例
添加一个srt源
输入示例
{
"name": "srt test",
"type": 1,
"url": "srt://10.10.11.117:9000?mode=caller"
}
输出示例
{
"status": 0
}