1. 主页
  2. 文档
  3. 解码器系列设备 HTTP API
  4. 5. encode编码模块

5. encode编码模块

获取流服务发布点

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

我们要如何帮助您?