1. 主页
  2. 文档
  3. 解码器系列设备 HTTP API
  4. 3. output 输出模块

3. output 输出模块

显示输出控制模块。包含:获取输出状态、操作输出接口,设置显示窗口布局、输出音频配置,窗口播放音频开关等功能。

获取输出接口信息

API说明

获取制定输出接口的基本信息。

Request

  • Method: GET/POST
  • URL: output/get.json
  • Headers:
  • 提交参数:
字段 类型 说明
output 字符串 输出接口ID(**必需参数)**,取值:1或者2

Response

  • Body
{``  "result": "ok",``  "data": {``    "layout_id": "1",``    "layout": [``      {``        "manual_url": "srt://192.168.4.34:55123",``        "stream_name": "111",``        "srtStatus": {``          "liveStatus": "Connected",``          "byteRecvTotal": "2273920",``          "rtt": 0.462,``          "pktRcvLoss": 0,``          "pktRcvRetrans": 0,``          "srtMode": "caller",``          "bandwidth": 0.096,``          "pktRcvLossTotal": 0``        },``        "id": 1,``        "status": "view_pull",``        "imgUrl": "",``        "src": "UNKNOWN",``        "origin": "manual",``        "stream_id": "MANUAL.2",``        "source": 1,``        "bitrate": 88,``        "type": "srt",``        "volume": "off",``        "resolution": "[email protected]"``      }``    ],``    "bordercolor": 0,``    "output": "on",``    "bordercolor_enabled": false,``    "resolution_name": "1920x1080P 30Hz",``    "BGimgUrl": "",``    "hdmi_mode": "HDMI",``    "sampling": 48000,``    "colorspace": "AUTO",``    "layout_number": 1,``    "resolution": "1080P30",``    "bg_enable": 1``  }``}
  • 返回说明:
字段 类型 说明
resolution 字符串 显示输出分辨率和刷新率,如:"3840×2160@60"
resolution_name 字符串 格式化后供前端显示的分辨率信息,如:"(4K)3840×2160@60Hz"
layout_id 字符串 布局模版ID,查看获取输出布局列表接口获取数据
hdmi_mode 字符串 HDMI接口工作模式,"AUTO"或"HDMI"或"DVI"
colorspace 字符串 色彩空间,"AUTO"或实际值,如:"YCBCR420"
sampling 数值 音频采样率
output 字符串 输出状态,"on"或者"off"
layout 数组 布局模版窗口信息数组
layout.id 字符串 布局窗口ID
layout.stream_name 字符串 该窗口当前播放的解码源名称,用于前端显示
layout.stream_id 字符串 该窗口当前播放的解码源id(重要参数)
layout.buffer 字符串 缓冲区参数,如:live:200:200:500:0:0
layout.status 字符串 解码源当前工作状态: view_pull 显示/推流、pull 推流、view 显示、on 在线、off 离线 reconnecting 重连中、connecting 正在连接、error 异常
layout.src 字符串 解码源来源,如 "192.168.2.11"
layout.bitrate 数值 解码源码率,单位K bps,如: 3120
layout.type 字符串 解码源类型,如:rtsp、rtmp、rtmps、rtp、http、srt
layout.volume 字符串 是否播放声音,"on"或"off"

测试调用:

http://192.168.4.45/api/output/get.json?output=2

获取输出分辨率

PI说明

获取指定输出接口所支持的分辨率列表。

Request

  • Method: GET/POST
  • URL: output/resolutions.json
  • Headers:
  • 提交参数:
  • 提交参数:
字段 类型 说明
output 字符串 输出接口ID(**必需参数)**,取值:1或者2

Response

  • Body
{``  "result": "ok",``  "data": [``    {``      "name": "(4K)3840x2160@60Hz",``      "value": "3840x2160@60"``    },``    {``      "name": "(4K)3840x2160@50Hz",``      "value": "3840x2160@50"``    },``    {``      "name": "(4K)3840x2160@30Hz",``      "value": "3840x2160@30"``    },``    {``      "name": "(4K)3840x2160@25Hz",``      "value": "3840x2160@25"``    },``    {``      "name": "1920x1080P 60Hz",``      "value": "1080P60"``    },``    {``      "name": "1920x1080P 59.94Hz (SDI only)",``      "value": "1080P59"``    },``    {``      "name": "1920x1080P 50Hz",``      "value": "1080P50"``    },``    {``      "name": "1920x1080P 30Hz",``      "value": "1080P30"``    },``    {``      "name": "1920x1080P 29.97Hz (SDI only)",``      "value": "1080P29"``    },``    {``      "name": "1920x1080P 25Hz",``      "value": "1080P25"``    },``    {``      "name": "1920x1080P 24Hz",``      "value": "1080P24"``    },``    {``      "name": "1920x1080P 23.98Hz (SDI only)",``      "value": "1080P23"``    },``    {``      "name": "1920x1080i 60Hz",``      "value": "1080I60"``    },``    {``      "name": "1920x1080i 59.94Hz (SDI only)",``      "value": "1080I59"``    },``    {``      "name": "1920x1080i 50Hz",``      "value": "1080I50"``    },``    {``      "name": "1280x720P 60Hz",``      "value": "720P60"``    },``    {``      "name": "1280x720P 59.94Hz (SDI only)",``      "value": "720P59"``    },``    {``      "name": "1280x720P 50Hz",``      "value": "720P50"``    },``    {``      "name": "576i/625i 50Hz",``      "value": "PAL"``     },``    {``      "name": "480i/525i 60Hz",``      "value": "NTSC"``    }``  ]``}
  • 返回说明
字段 类型 说明
name 字符串 分辨率名称,供前端显示使用
value 字符串 设备所支持分辨率值

测试调用:

http://192.168.2.123/api/output/resolutions.json

设置输出参数

API说明

设置输出接口参数。

Request

  • Method: GET/POST
  • URL: output/set.json
  • Headers:
  • 提交参数:
字段 类型 说明
output 数字 输出接口ID(**必需参数)**,取值:1或者2
resolution 字符串 输出分辨率参数,如:"1080P60",参数取值见前一个接口
hdmi_mode 字符串 输出接口工作模式,"AUTO"硬件自适应工作模式 或强制设定"HDMI"或"DVI"
colorspace 字符串 色彩空间,默认"AUTO"、"RGB444"、"YCBCR444"、"YCBCR422"、"YCBCR420"
sampling 字符串 采样率数值,默认48000,可选:"48000"、"44100"

Response

  • Body
{``  result: "ok"``}

测试调用:

http://192.168.2.123/api/output/set.json?output=1&resolution=1080P60&hdmi_mode=AUTO&colorspace=AUTO&sampling=48000

获取输出布局列表/修改输出展示布局

API说明

该接口包含:

获取指定输出接口的便捷切换(前端页面输出窗口右下角显示的布局)布局列表;

设置指定输出接口切换快捷切换包含哪些布局。

Request

  • Method: GET/POST
  • URL: output/icon.json
  • Headers:
  • 提交参数:
字段 类型 说明
output 字符串 输出接口ID(**必需参数)**,取值:1或者2
id 数组 布局ID,如:id[]=1&id[]=2

注意:当参数包含id时,接口返回修改展示快捷切换布局的操作结果,否则返回布局列表信息。

Response

  • Body

获取布局信息时返回:

{``  "result": "ok",``  "data": [``    {``      "number": "1",``      "position": [``        {``          "y": 0,``          "width": 100,``          "height": 100,``          "x": 0``        }``      ],``      "id": 1,``      "output_used": 1,``      "enable": 1,``      "name": "oneScreen",``      "img_id": 0``    }``  ]``}

修改布局模版时返回:

{``  "result": "ok"``}

测试调用:

http://192.168.2.123/api/output/icon.json?output=1`` ``http://192.168.2.123/api/output/icon.json?output=1&id%5B%5D=1&id%5B%5D=3

3.5 获取输出音频状态

API说明

获取指定输出接口的音频状态信息。

Request

  • Method: GET/POST
  • URL: output/audio.json
  • Headers:
  • 提交参数:
字段 类型 说明
output 字符串 输出接口ID(**必需参数)**,取值:1或者2

Response

  • Body
{``  "result": "ok",``  "data": {``    "audio_analog_gain": {``      "disable": 0,``      "localOutput": 0,``      "value": 0``    },``    "audio_digital_gain": {``      "disable": 0,``      "localOutput": 0,``      "value": 5``    }``  }``}
  • 返回说明:
字段 类型 说明
audio_analog_gain.value 数值 模拟音频音量值
audio_analog_gain.disable 数值 模拟音频是否禁用
audio_digital_gain.value 数值 内嵌音频音量值
audio_digital_gain.disable 数值 内嵌音频是否禁用

测试调用:

http://192.168.2.123/api/output/audio.json?output=1

设置输出音频参数

API说明

设置输出音频参数。

Request

  • Method: GET/POST
  • URL: output/audio_set.json
  • Headers:
  • 提交参数:
字段 类型 说明
output 字符串 输出接口ID(**必需参数)**,取值:1或者2
audio 字符串 输出接口音频接口选择:"analog" 模拟 "embedded"内嵌音频
disable 字符串 数值字符串,"1" 禁用 "0" 启用
value 字符串 数值字符串,音量参数,取值范围:-121 ~ 6

Response

  • Body
{``  "result": "ok"``}

测试调用:

http://192.168.2.123/api/output/audio_set.json?output=1&audio=embedded&disable=0&value=6

开关输出窗口音频

API说明

开关指定输出接口指定窗口的音频。

Request

  • Method: GET/POST
  • URL: output/window_audio_set.json
  • Headers:
  • 提交参数:
字段 类型 说明
output 字符串 输出接口ID(**必需参数)**,取值:1或者2
id 字符串 数值字符串(**必需参数)**,布局窗口id
volume 字符串 音频是否输出(**必需参数)**,"on":开 、"off":关

Response

  • Body
{``  result: "ok"``}

测试调用:

http://192.168.2.123/api/output/window_audio_set.json?output=1&id=1&volume=on

布局控制接口

API说明

该接口包含三个功能:

1)绑定窗口和解码源(设置某个解码源在指定窗口位置播放显示;

2)移除某个窗口当前播放的解码源;

3)设置输出切换成指定布局。

Request

  • Method: GET/POST
  • URL: output/layout.json
  • Headers:
  • 提交参数:
字段 类型 说明
output 字符串 输出接口ID(**必需参数)**,取值:1或者2
action 字符串 操作类型,取值: "set":绑定窗口和解码源 "remove":移除某个窗口当前播放的解码源 "change":切换指定布局
position 字符串 布局窗口ID,当无action参数为"set"或"remove"时必须配置该参数,如:"1"
layout_id 字符串 布局ID,当action为"change"时必须配置该参数,如:"1"
stream_id 字符串 解码源ID,当action参数为"set"时必须配置该参数,如:"MANUAL.6"

Response

  • Body
{``  "result": "ok"``}

测试调用:

#输出1绑定窗口1和解码源14``http://192.168.2.123/api/output/layout.json?output=1&action=set&position=1&stream_id=MANUAL.14`` ``#移除输出1的1号窗口解码源``http://192.168.2.123/api/output/layout.json?output=1&action=remove&position=1`` ``#输出1切换2号布局``http://192.168.2.123/api/output/layout.json?output=1&action=change&layout_id=2

获取输出接口绑定状态

API说明

获取输出接口绑定端口状态

Request

  • Method: GET/POST
  • URL: output/get_port.json
  • Headers:
  • 提交参数:
字段 类型 说明
output 字符串 输出接口ID(**必需参数)**,取值:1或者2

Response

  • Body
{``  "result": "ok",``  "data": [``    {``      "bind": true,``      "enable": 1,``      "name": "HDMI",``      "id": "HDMI"``    },``    {``       "bind": false,``      "enable": 0,``      "name": "SDI",``      "id": "BT1120"``    },``    {``      "bind": false,``      "enable": 0,``      "name": "IP Stream",``      "id": "NET"``    }``  ]``}
  • 返回说明
字段 类型 说明
id 字符串 端口ID,
name 字符串 端口显示名称
enable 数值 是否启用,1:启用、0:未启用
bind 字符串 是否和指定输出绑定,true:绑定、false:未绑定

测试调用:

http://192.168.2.123/api/output/get_port.json?output=1

设置输出接口绑定端口

API说明

设置指定输出当前绑定端口。

Request

  • Method: GET/POST
  • URL: output/bind_port.json
  • Headers:
  • 提交参数:
字段 类型 说明
output 字符串 输出接口ID(**必需参数)**,取值:1或者2
id 字符串 硬件输出接口ID(**必需参数)**,取值:"HDMI"、"BT1120"、"NET"
enable 字符串 是否板顶该端口(**必需参数)**,"1" :绑定, "0":不绑定

Response

  • Body
{``  "result": "ok"``}

测试调用:

http://192.168.2.123/api/output/bind_port.json?output=1&id=HDMI&enable=1`` ``http://192.168.2.123/api/output/bind_port.json?output=1&id=BT1120&enable=1

我们要如何帮助您?