1. 主页
  2. 文档
  3. 解码器系列设备 HTTP API
  4. 4. streamer流服务模块

4. streamer流服务模块

获取流服务发布点

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

我们要如何帮助您?