文章目录
获取流服务发布点
API说明
获取流服务发布点信息数组。
Request
- Method: GET/POST
- URL:
streamer/list.json
- Headers:
- 提交参数: 无
Response
- Body
{
"result": "ok",
"data": [
{
"name": "1",
"objPath": "/streamer/1",
"id": "1"
},
{
"name": "testpub1",
"objPath": "/streamer/2",
"id": "2"
}
]
}
- 返回说明
字段 | 类型 | 说明 |
---|---|---|
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:
- 提交参数:
字段 | 类型 | 说明 |
---|---|---|
id | 字符串 | 流服务发布点ID(必需参数) |
type | 字符串 | 流服务类型(必需参数),取值范围:"rtsp"、"rtmp"、"srt" … |
address | 字符串 | 流服务地址 |
enable | 字符串 | 是否启动 |
service_port | 字符串 | 服务端口(类型为rtsp时需要的服务端口设定) |
user | 字符串 | RTMP推流时可能需要的用户名参数 |
password | 字符串 | RTMP推流时可能需要的密码参数 |
Response
- Body
{
"result":"ok"
}
注意:每个发布点只能有一个rtsp服务,多次添加rtsp服务时,将会返回:
{
"result": "error",
"msg": "1408"
}
测试调用:
http://192.168.2.123/api/streamer/add_stream.json?type=rtmp&address=&enable=0&password=&service_port=0&user=&id=2
删除流服务
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