lal流媒体服务器的HTTP API接口

lal地址: https://github.com/q191201771/lal

接口列表

1
2
3
4
1. /api/stat/group      // 查询特定group的信息
2. /api/stat/all_group // 查询所有group的信息
3. /api/stat/lal_info // 查询lal服务器信息
4. /api/list // 全量HTTP API接口列表页面

名词解释:

  • group: lal中的group是群组的概念,lal作为流媒体服务器,通过流名称将每1路输入流转发给1~n路输出流,流名称相同的输入输出流被同1个group群组管理。

所有接口的返回结果中,必含的一级参数:

1
2
3
4
5
{
"error_code": 0,
"desp": "succ",
"data": ...
}

接口详情

1. /api/stat/group

  • 简要描述: 查询特定group的信息
  • 请求URL: http://127.0.0.1:8083/api/stat/group?stream_name=test110
  • 请求方式: HTTP GET
  • 请求参数:
    • stream_name | 必填项 | 表示流名称

返回示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
返回结果,有两种情况:
1. 流群组存在
2. 流群组不存在

1. 流群组存在

{
"error_code": 0, // 接口返回值,0表示成功
"desp": "succ", // 接口返回描述,"succ"表示成功
"data": {
"stream_name": "test110", // 流名称
"audio_codec": "AAC", // 音频编码格式 "AAC"
"video_codec": "H264", // 视频编码格式 "H264" | "H265"
"video_width": 640, // 视频宽
"video_height": 360, // 视频高
"pub": { // 接收推流的信息
"protocol": "RTMP", // 推流协议 "RTMP" | "RTSP"
"start_time": "2020-10-11 19:17:41.586", // 推流开始时间
"remote_addr": "127.0.0.1:61353", // 对端地址
"read_bytes_sum": 9219247, // 累计读取数据大小(从推流开始时计算)
"wrote_bytes_sum": 3500, // 累计发送数据大小
"bitrate": 588 // 最近5秒码率,单位kbit/s。如无特殊声明,统计的是网络接收的所有数据
},
"subs": [ // 拉流的信息,可能存在多种协议,每种协议可能存在多个会话连接
{
"protocol": "HTTP-FLV", // 拉流协议 "RTMP" | "HTTP-FLV" | "HTTP-TS"
"start_time": "2020-10-11 19:19:21.724", // 拉流开始时间
"remote_addr": "127.0.0.1:61785", // 对端地址
"read_bytes_sum": 134, // 累计读取数据大小(从拉流开始时计算)
"wrote_bytes_sum": 2944020, // 累计发送数据大小
"bitrate": 591 // 最近5秒码率,单位kbit/s。如无特殊声明,统计的是网络发送的所有数据
}
],
"pull": {}, // 该节点从其他节点拉流回源信息,暂时不提供
"pushs":[] // 主动外连转推信息,暂时不提供
}
}

2. 流群组不存在

{
"error_code": 1001, // 错误码1001,表示流群组不存在
"desp": "group not found", // 错误描述
"data": null
}

2. /api/stat/all_group

  • 简要描述: 查询所有group的信息
  • 请求URL示例: http://127.0.0.1:8083/api/stat/all_group
  • 请求方式: HTTP GET
  • 请求参数: 无

返回示例:

1
2
3
4
5
6
7
8
9
{
"error_code": 0,
"desp": "succ",
"data": {
"groups": [
... // 数组内每个元素的内容格式和/api/stat/group接口中data字段对应的结构体的值相同,不再赘述
]
}
}

3. /api/stat/lal_info

  • 简要描述: 查询lal服务器信息
  • 请求URL示例: http://127.0.0.1:8083/api/lal_info
  • 请求方式: HTTP GET
  • 请求参数: 无

返回示例:

1
2
3
4
5
6
7
8
9
10
{
"error_code": 0,
"desp": "succ",
"data": {
"bin_info": "itTag=v0.15.1. GitCommitLog=c08c2cae1001320e543251ebc5bcd4b7e4642c07 [doc] README中增加HTTP API文档链接. GitStatus= M pkg/logic/http_api.go. BuildTime=2020.10.16.182514. GoVersion=go version go1.14.2 darwin/amd64. runtime=darwin/amd64.", // 可执行文件信息
"lal_version": "v0.15.1", // lal可执行文件版本信息
"api_version": "v0.0.2", // HTTP API接口版本信息
"start_time": "2020-10-17 18:26:31.184" // lal进程启动时间
}
}

4. /api/list

  • 简要描述: 全量HTTP API接口列表页面
  • 请求URL示例: http://127.0.0.1:8083/api/list
  • 请求方式: HTTP GET
  • 请求参数: 无
  • 返回: 一个可在浏览器中展示的页面

本文完,作者yoko,尊重劳动人民成果,转载请注明原文出处: https://pengrl.com/p/20100/

0%