文章目录
获取流服务发布点
API说明
获取流服务发布点信息数组。
Request
- Method: GET/POST
- URL:
streamer/list.json
- Headers:
- 提交参数: 无
Response
- Body
{`` "result": "ok",`` "data": [`` {`` "objPath": "/streamer/2",`` "name": "HDMI:sub",`` "id": "2"`` },`` {`` "objPath": "/streamer/3",`` "name": "SDI-1",`` "id": "3"`` },`` {`` "objPath": "/streamer/4",`` "name": "SDI-1:sub",`` "id": "4"`` }`` ]``}
- 返回说明
字段 | 类型 | 说明 |
---|---|---|
id | 字符串 | 发布点ID |
name | 字符串 | 发布点名称 |
objPath | 字符串 | 发布点路径 |
测试调用:
http://192.168.2.123/api/streamer/list.json
添加发布点
API说明
添加发布点
Request
- Method: GET/POST
- URL:
streamer/add.json
- Headers:
- 提交参数:
字段 | 类型 | 说明 |
---|---|---|
name | 字符串 | 流服务发布点名称(**必需参数)** |
Response
- Body
{`` "result": "ok"``}
测试调用:
http://192.168.2.123/api/streamer/add.json?name=testpub1
修改发布点名称
API说明
修改流服务发布点的名称。
Request
- Method: GET/POST
- URL:
streamer/modify.json
- Headers:
- 提交参数:
字段 | 类型 | 说明 |
---|---|---|
name | 字符串 | 流服务发布点名称(**必需参数)** |
id | 字符串 | 流服务发布点ID(**必需参数)** |
Response
- Body
{`` "result": "ok"``}
需测试:
http://192.168.2.123/api/streamer/modify.json?name=testpub1&id=1
删除发布点
API说明
删除指定发布点
Request
- Method: GET/POST
- URL:
streamer/remove.json
- Headers:
- 提交参数:
字段 | 类型 | 说明 |
---|---|---|
id | 字符串 | 流服务发布点ID(**必需参数)** |
Response
- Body
{`` "result": "ok"``}
需测试:
http://192.168.2.123/api/streamer/remove.json?id=1
获取流服务发布点状态
API说明
获取流服务发布点的工作状态。
Request
- Method: GET/POST
- URL:
streamer/status.json
- Headers:
- 提交参数:
字段 | 类型 | 说明 |
---|---|---|
id | 字符串 | 流服务发布点ID(**必需参数)** |
Response
- Body
{`` "result": "ok",`` "data": [`` {`` "streams": 2,`` "current_stream_name": "2377",`` "bitrate": 0,`` "total_br": "unknown",`` "current_stream": "MANUAL.7"`` }`` ]``}
- 返回说明
字段 | 类型 | 说明 |
---|---|---|
streams | 数值 | 流服务数量 |
current_stream_name | 字符串 | 当前选中视频流名称,用于前端显示 |
current_stream | 字符串 | 当前选中视频流ID,用于API操作 |
bitrate | 数值 | 当前码率,单位K bps |
total_br | 字符串 | 总计流量,暂不支持,默认"unknown" |
测试调用:
http://192.168.2.123/api/streamer/status.json?id=1
获取流服务发布点可选视频源
API说明
获取流服务发布点可选择的视频源信息,包含是否选中其中某个视频源。
Request
- Method: GET/POST
- URL:
streamer/get_source.json
- Headers:
- 提交参数:
字段 | 类型 | 说明 |
---|---|---|
id | 字符串 | 流服务发布点ID(**必需参数)** |
Response
- Body
{`` "result": "ok",`` "data": [`` {`` "id": "MANUAL.7",`` "status": "reconnecting",`` "stream_start": true,`` "src": "srt-service:2377",`` "output_start": false,`` "live": "reconnecting",`` "bitrate": 0,`` "type": "srt",`` "name": "2377",`` "resolution": "[email protected]",`` "current": 0`` },`` {`` "id": "MANUAL.6",`` "status": "on",`` "stream_start": false,`` "src": "103.229.149.171",`` "output_start": false,`` "live": "closed",`` "bitrate": 1704,`` "type": "rtmp",`` "name": "rtmp-gopro",`` "resolution": "[email protected]",`` "current": 0`` }`` ]``}
- 返回说明
字段 | 类型 | 说明 |
---|---|---|
id | 字符串 | 视频流ID |
name | 字符串 | 视频流名称 |
status | 字符串 | 连接状态 |
resolution | 字符串 | 视频分辨率 |
stream_start | 布尔值 | 是否启动流服务,true:显示、false:未显示 |
src | 字符串 | 视频流来源,如:"103.229.149.171" |
output_start | 布尔值 | 是否显示输出,true:显示、false:未显示 |
live | 字符串 | 连接状态:"connected"、"reconnecting"、"closed" |
bitrate | 数值 | 当前码率,单位K bps |
type | 字符串 | 视频流类型:"rtmp"、"rtsp"、"srt"… |
current | 数值 | 是否选中该视频流,1:选中、0:未选中 |
测试调用:
http://192.168.2.123/api/streamer/get_source.json?id=1
获取流服务发布点流服务信息
API说明
获取流服务发布点下配置的流服务信息。
Request
- Method: GET/POST
- URL:
streamer/list_stream.json
- Headers:
- 提交参数:
字段 | 类型 | 说明 |
---|---|---|
id | 字符串 | 流服务发布点ID(**必需参数)** |
Response
- Body
{`` "result": "ok",`` "data": [`` {`` "enable": 0,`` "stream_id": 1,`` "status": "stopped",`` "error_reason": "",`` "address": "",`` "type": "rtsp"`` },`` {`` "enable": 1,`` "stream_id": 2,`` "status": "started",`` "error_reason": "",`` "address": "rtmp://192.168.0.1/live/test",`` "type": "rtmp"`` }`` ]``}
- 返回说明
字段 | 类型 | 说明 |
---|---|---|
stream_id | 数值 | 流服务ID |
enable | 数值 | 流服务启动配置 |
status | 字符串 | 流服务工作状态,取值:"started"、"stopped"、"error" |
error_reason | 字符串 | 异常原因,status为"error"时,该字段返回异常原因 |
address | 字符串 | 流服务地址 |
type | 字符串 | 流服务类型,"rtmp"、"rtsp"、"srt"… |
测试调用:
http://192.168.2.123/api/streamer/list_stream.json?id=2
重置流服务发布点
API说明
重置指定流服务发布点的所有流服务,在流服务异常工作时可以尝试调用该接口。
Request
- Method: GET/POST
- URL:
streamer/reset.json
- Headers:
- 提交参数:
字段 | 类型 | 说明 |
---|---|---|
id | 字符串 | 流服务发布点ID(**必需参数)** |
Response
- Body
{`` "result": "ok"``}
需测试:
http://192.168.2.123/api/streamer/reset.json?id=1
视频源选择设置
API说明
设置发布点对应的频源。
Request
- Method: GET/POST
- URL:
streamer/select_source.json
- Headers:
- 提交参数:
字段 | 类型 | 说明 |
---|---|---|
id | 字符串 | 流服务发布点ID(**必需参数)** |
source_id | 字符串 | 视频源ID(**必需参数)**,参数取值来自接口4.6 |
Response
- Body
{`` "result": "ok"``}
测试调用:
http://192.168.2.123/api/streamer/select_source.json?id=2&source_id=MANUAL.6
添加流服务
API说明
在指定流服务发布点下添加流服务。
Request
· Method: GET/POST
· URL: streamer/add_stream.json
· Headers:
- 提交参数: 当流服务类型不同时,参数也有所不同,下面给出了各种流服务类型对应的参数列表
RTMP
字段 | 类型 | 说明 |
---|---|---|
id | 字符串 | 流服务发布点ID(**必需参数)** |
type | 字符串 | 流服务类型(**必需参数)**,取值范围:"rtmp" |
address | 字符串 | 流服务地址 |
enable | 字符串 | 是否启动,1为启动,0为不启动 |
user | 字符串 | RTMP推流时可能需要的用户名参数 |
password | 字符串 | RTMP推流时可能需要的密码参数 |
name | 字符串 | 名称 |
{`` "id":"1",`` "type":"rtmp",`` "address":"192.13.22.44",`` "enable":"1",`` "user":"123",`` "password":"123",`` "name":"xx"``}
RTSP
字段 | 类型 | 说明 |
---|---|---|
id | 字符串 | 流服务发布点ID(**必需参数)** |
type | 字符串 | 流服务类型(**必需参数)**,取值范围:"rtsp" |
address | 字符串 | 会话地址 例如:ch01 |
enable | 字符串 | 是否启动,1为启动,0为不启动 |
name | 字符串 | 名称 |
service_port | 字符串 | 服务端口 默认:554 |
{`` "id":"1",`` "type":"rtsp",`` "address":"ch01",`` "enable":"1",`` "name":"rtsp",`` "service_port":"554"``}
SRT
字段 | 类型 | 说明 |
---|---|---|
id | 字符串 | 流服务发布点ID(**必需参数)** |
type | 字符串 | 流服务类型(**必需参数)**,取值范围:"srt" |
enable | 字符串 | 是否启动,1为启动,0为不启动 |
name | 字符串 | 名称 |
connectionMode | 字符串 | 握手模式,参数:Listener/Caller/Rendezvous |
address | 字符串 | 公网地址,在Listener模式下无效 |
listenerPort | 字符串 | 端口号,范围1025-65535 |
latency | 字符串 | 传输延时(ms),范围0-5000 |
encryption | 字符串 | 加密方式,可选值:“none”,"AES-128","AES-192","AES-256" |
passphrase | 字符串 | AES密钥,当encryption不为none时必选 |
bandwidth | 字符串 | 带宽开销(%) 范围5-100 |
payloadSize | 字符串 | 载荷大小 范围0-1456 |
showAdvanced | 字符串 | 是否显示高级设置(“0”为不显示,"1"为显示) |
{`` "id":"1",`` "type":"srt",`` "enable":"0",`` "name":"srt_test",`` "connectionMode":"Caller",`` "address":"192.168.1.1",`` "listenerPort":"1025",`` "latency":"125"``}
UDP-TS
字段 | 类型 | 说明 |
---|---|---|
id | 字符串 | 流服务发布点ID(**必需参数)** |
type | 字符串 | 流服务类型(**必需参数)**,取值范围:"udp" |
address | 字符串 | 推送地址 |
enable | 字符串 | 是否启动,1为启动,0为不启动 |
name | 字符串 | 名称 |
port | 字符串 | 目标端口 |
ttl | 字符串 | 组播ttl |
ts_transport_stream_id | 字符串 | Stream ID 1-65535 |
ts_pmt_start_pid | 字符串 | PMT start PID 16-7936 |
ts_start_pid | 字符串 | Stream start PID 32-3840 |
ts_tables_version | 字符串 | Tables version |
ts_pts_pcr_delay | 字符串 | PTS-PCR延时(ms) |
ts_pcr_period | 字符串 | PCR周期(ms) |
ts_null_multiple | 字符串 | TS封装码率(字节) 取值范围:"0","2000000","4000000"… |
ts_service_name | 字符串 | Service name |
ts_service_provider | 字符串 | Service provider |
advanced | 字符串 | 高级选项,"1"开启,"0"关闭 |
{`` "id":"1",`` "type":"udp",`` "address":"192.168.2.2",`` "enable":"1",`` "name":"udp_test",`` "port":"123",`` "ttl":"113",`` "advanced":"0",`` "ts_null_multiple":"0"``}
RTP
字段 | 类型 | 说明 |
---|---|---|
id | 字符串 | 流服务发布点ID(**必需参数)** |
type | 字符串 | 流服务类型(**必需参数)**,取值范围:"rtp" |
address | 字符串 | 推送地址(**必需参数)** |
enable | 字符串 | 是否启动,1为启动,0为不启动 |
name | 字符串 | 名称 |
payload | 字符串 | 载荷类型 取值范围:"rtp_mpegts" |
port | 字符串 | 目标端口 |
ttl | 字符串 | 组播ttl |
{`` "id":"1",`` "type":"rtp",`` "address":"192.168.2.2",`` "enable":"1",`` "name":"rtp_test",`` "payload":"rtp_mpegts",`` "port":"1122",`` "ttl":"113"``}
NDI-HX
字段 | 类型 | 说明 |
---|---|---|
id | 字符串 | 流服务发布点ID(**必需参数)** |
type | 字符串 | 流服务类型(**必需参数)**,取值范围:"ndi-hx" |
enable | 字符串 | 是否启动,1为启动,0为不启动 |
name | 字符串 | 名称 |
group_name | 字符串 | 组名称 |
channel_name | 字符串 | NDI通道名称(**必需参数)** |
connection | 字符串 | 连接方式,取值范围:"tcp","no_multi_tcp","multicast" |
mcast_prefix | 字符串 | 组播地址(当connection为multicast时必填) |
mcast_mask | 字符串 | 子网掩码(当connection为multicast时必填) |
ttl | 字符串 | TTL |
server_addr | 字符串 | 发现服务器地址 |
{`` "id":"1",`` "type":"ndi-hx",`` "enable":"1",`` "name":"ndi_test",`` "group_name":"",`` "channel_name":"test",`` "connection":"tcp"``}
Response
- Body
{ "result":"ok"}
注意:每个发布点只能有一个rtsp服务,多次添加rtsp服务时,将会返回:
{ "result": "error", "msg": "Err_MaxSupportRtspService"}
删除流服务
API说明
删除流服务
Request
- Method: GET/POST
- URL:
streamer/delete_stream.json
- Headers:
- 提交参数:
字段 | 类型 | 说明 |
---|---|---|
id | 字符串 | 流服务发布点ID(**必需参数)** |
stream_id | 字符串 | 流服务id(**必需参数)**,取值来自接口4.7 |
Response
- Body
{`` "result":"ok"``}
测试调用:
http://192.168.2.123/api/streamer/delete_stream.json?id=2&stream_id=2
获取流服务配置
API说明
获取流服务配置
Request
- Method: GET/POST
- URL:
streamer/get_stream_config.json
- Headers:
- 提交参数:
字段 | 类型 | 说明 |
---|---|---|
id | 字符串 | 流服务发布点ID(**必需参数)** |
stream_id | 字符串 | 流服务id(**必需参数)**,取值来自接口4.7 |
Response
- Body
rtsp流服务返回示例:
{`` "result": "ok",`` "data": [`` {`` "enable": true,`` "audio_port": 0,`` "user": "",`` "auth": false,`` "password": "",`` "address": "test",`` "multicast_address": "",`` "multicast_ttl": 127,`` "alter_port": 0,`` "type": "rtsp",`` "service_port": 554,`` "multicast": false,`` "video_port": 0`` }`` ]``}
rtmp流服务返回示例:
{`` "result": "ok",`` "data": [`` {`` "enable": false,`` "audio_port": 0,`` "user": "",`` "auth": false,`` "password": "",`` "address": "rtmp://192.168.3.11/live/test",`` "multicast_address": "",`` "multicast_ttl": 127,`` "alter_port": 0,`` "type": "rtmp",`` "service_port": 0,`` "multicast": false,`` "video_port": 0`` }`` ]``}
srt流服务返回示例:
{`` "result": "ok",`` "data": [`` {`` "multicast": false,`` "audio_port": 0,`` "passphrase": "1235435643654",`` "auth": false,`` "bandwidth": "25",`` "service_port": 0,`` "connectionMode": "Caller",`` "listenerPort": "1",`` "payloadSize": "1316",`` "user": "",`` "multicast_address": "",`` "multicast_ttl": 127,`` "latency": "100",`` "address": "srt://192.168.0.55:6161",`` "encryption": "AES-128",`` "password": "",`` "alter_port": 0,`` "type": "srt",`` "enable": true,`` "name": "srt1",`` "video_port": 0`` }`` ]``}
- 返回说明
字段 | 类型 | 说明 |
---|---|---|
enable | 布尔值 | 是否设置启动,true:启动、false:停止 |
type | 字符串 | 流服务类型,取值:"rtsp"、"rtmp"、"srt" |
address | 字符串 | 流服务地址 rtsp服务:发布点地址 rtmp服务:rtmp推流地址,如:"rtmp://192.168.3.11/live/test" srt服务:srt格式地址,如:"srt://192.168.0.55:6161" |
service_port | 数值 | rtsp流服务端口,默认554,rtsp服务时生效,其它类型时值为 0 |
user | 字符串 | 流服务配置的用户名,默认为空字符串:"" |
password | 字符串 | 流服务配置的密码,默认为空字符串:"" |
multicast_address | 字符串 | 多播地址,默认为空字符串:"",暂未使用 |
multicast_ttl | 数值 | 多播ttl,默认127,暂未使用 |
alter_port | 数值 | alter_port,默认值为 0,暂未使用 |
video_port | 数值 | 视频端口,默认值为 0,暂未使用 |
audio_port | 数值 | 音频端口,默认值为 0,暂未使用 |
auth | 布尔值 | 是否需要授权,默认值为"false",暂未使用 |
connectionMode | 字符串 | SRT握手模式,取值范围:"Caller" 或 "Rendezvous" |
listenerPort | 字符串 | SRT监听端口,当connectionMode为"Rendezvous"时生效 |
latency | 字符串 | SRT传输延时,单位毫秒,取值:(0~5000) |
encryption | 字符串 | SRT加密方式,取值:"none"、"AES-128"、"AES-192"、"AES-256" |
passphrase | 字符串 | SRT加密秘钥,取值:10~16 个字符 |
bandwidth | 字符串 | SRT带宽开销,取值:(5%~100%) |
payloadSize | 字符串 | SRT载荷大小,取值:(0~1456) |
测试调用:
http://192.168.2.123/api/streamer/get_stream_config.json?id=2&stream_id=6
设置流服务数据
API说明
设置流服务
Request
- Method: GET/POST
- URL:
streamer/set_stream_config.json
- Headers:
- 提交参数:
字段 | 类型 | 说明 |
---|---|---|
id | 字符串 | 流服务发布点ID(**必需参数)** |
stream_id | 字符串 | 流服务id(**必需参数)**,取值来自接口4.7 |
enable | 字符串 | 启动/停止流服务,"1"启动 "0"停止 |
流服务其它参数 | 字符串 | 参考接口4.12 |
Response
- Body
{`` "result":"ok"``}
测试调用:
http://192.168.2.123/api/streamer/set_stream_config.json?name=srt1&enable=1&connectionMode=Rendezvous&address=srt://192.168.0.55:6161&listenerPort=1111&latency=100&encryption=AES-128&passphrase=34546434534543&bandwidth=25&payloadSize=1316&id=2&stream_id=6&multicast=false&audio_port=0&auth=false&service_port=0&user=&multicast_address=&multicast_ttl=127&password=&alter_port=0&type=srt&video_port=0
控制流服务启停
API说明
控制流服务启停
Request
- Method: GET/POST
- URL:
streamer/enable_stream.json
- Headers:
- 提交参数:
字段 | 类型 | 说明 |
---|---|---|
id | 字符串 | 流服务发布点ID(**必需参数)** |
stream_id | 字符串 | 流服务id(**必需参数)**,取值来自接口4.7 |
enable | 字符串 | 启动/停止流服务(**必需参数)**,"1"启动 "0"停止 |
Response
- Body
{`` "result": "ok"``}
测试调用:
http://192.168.2.123/api/streamer/enable_stream.json?id=2&stream_id=6&enable=0