更新时间:2024-10-31 GMT+08:00
分享

获取实况地址统一接口

功能介绍

获取实况地址统一接口:v2相比于v1归一了所有获取实况地址相关的接口,v2接口支持批量获取,支持各种协议,支持好望和国标设备。

备注:播放P2P实况需要将响应Body参数中的所有内容输入到播放地址栏且不支持国标协议;播放转发实况需要将CloudTransChannelsResp中的live_url输入到播放地址栏

URI

POST /v2/{user_id}/devices/channels/media/live-connections

表1 路径参数

参数

是否必选

参数类型

描述

user_id

String

用户ID:由数字组成,长度范围[15,25],获取方式参考获取user ID与下载AK/SK章节

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

Access-Token

String

用户认证AccessToken:从获取用户北向接口认证AccessToken中获取

表3 请求Body参数

参数

是否必选

参数类型

描述

channels

Array of ChannelsLiveParamV2 objects

请求信息V2

expire_time

Integer

自定义Url过期时间:时间范围[30, 86400],不传默认为 30(单位/秒)

说明:

仅对CloudTransChannelsResp中的live_url有效;HTTP_HLS和HTTPS_HLS每次使用会刷新过期时间,每次刷新60秒;使用RTSP协议时该参数有30s-180s的偏差

use_times

Integer

自定义Url使用次数:枚举类型,不填写时默认值为 0,RTSP协议固定为0

枚举值:

  • 0 使用一次
  • 1 有效时间内任意使用,此参数对RTSP协议无效
说明:

仅对CloudTransChannelsResp中的live_url有效。

表4 ChannelsLiveParamV2

参数

是否必选

参数类型

描述

device_id

String

设备ID:

好望设备:大小写字母、数字组成,长度范围[8,32],可在设备外壳或者设备web页面上获取

国标设备:由数字组成,长度固定为20个字符长度,由客户自行设置,其中第11-13位,必须是以下之一132(IPC)、111(DVR)、118(NVR),用来区分设备类型

channel_id

String

通道ID:

好望设备:取值范围[0,999]

国标设备:由数字组成,长度为20个字符,由客户自行在设备侧设置,可以在web界面获取

live_protocol

String

媒体播放协议:枚举类型,选择获取地址的媒体播放协议类型

枚举值:

  • HOLO 好望协议

  • HTTP_HLS 基于HTTP的HLS流媒体传输协议(该协议存在安全风险,建议优先使用其他协议)
  • HTTPS_HLS 基于HTTPS的HLS流媒体传输协议
  • HTTP_FLV 基于HTTP的FLV媒体协议(该协议存在安全风险,建议优先使用其他协议)
  • HTTPS_FLV 基于HTTPS的FLV媒体协议
  • RTSP RTSP流媒体传输协议(该协议存在安全风险,建议优先使用其他协议)

stream_type

String

码流类型:枚举类型

枚举值:

  • PRIMARY_STREAM 主码流

  • SECONDARY_STREAM_1 子码流1

  • SECONDARY_STREAM_2 子码流2

响应参数

状态码: 200

表5 响应Body参数:播放P2P实况需要将响应Body参数中的所有内容输入到播放地址栏

参数

参数类型

描述

fail_num

Integer

获取设备url失败的数量

live_connections

Array of LiveConnectionResp objects

实况响应信息

表6 LiveConnectionResp

参数

参数类型

描述

device_id

String

设备ID:设备唯一标识,长度范围[1,32]

channel_id

String

通道ID:长度范围[1,20]

cloud_trans_connections

CloudTransChannelsResp object

转发实况连接结构体

p2p_connections

P2PChannelsResp object

P2P实况连接结构体:仅支持HOLO媒体播放协议且请求设备为好望设备

result

Result object

错误信息

表7 CloudTransChannelsResp

参数

参数类型

描述

live_url

String

转发实况播放地址:将此url输入播放地址栏开始播放

表8 P2PChannelsResp

参数

参数类型

描述

token

String

P2P请求Token

device_state

String

在线状态:枚举类型

枚举值:

  • OFFLINE 离线

  • ONLINE 在线

p2p_nodes

Array of P2PMTSListResp objects

P2P连接可用节点

表9 P2PMTSListResp

参数

参数类型

描述

node_type

String

节点类型:枚举类型

枚举值:

  • COMMON 普通:普通的三线(移动,联通,电线)服务器,与地域有关,服务器由运营商托管,网络通信质量低

  • BETTER 优质:全网通服务器(华为云服务器等),网络通信质量高

address_type

String

地址类型:枚举类型

  • DOMAIN 域地址
  • IPV4 IPv4地址
  • IPV6 IPv6地址

address

Array of strings

媒体转发服务地址: 协议头在SDK封装 ,根据address_type决定地址类型

DOMAIN: www.huawei.com

IPV4: 123.123.123.123

IPV6: fe80::f816:3eff:feed:5821

tcp_port

Integer

TCP端口:默认值为 0

备注:未使用0端口,tcp_port只作为兼容字段保留

udp_port

Integer

UDP端口:默认值为 7050

表10 Result

参数

参数类型

描述

code

String

错误编码:请参见错误码

msg

String

错误信息

请求示例

获取实况地址请求:

POST /v2/123456789*****/devices/channels/media/live-connections

{
     "expire_time":30,
     "use_times":0,
     "channels": [
        {
            "channel_id": "0",
            "device_id": "219123456CYP***",
            "live_protocol":"HOLO",
            "stream_type": "SECONDARY_STREAM_1"
        },
	{
            "channel_id": "1",
            "device_id": "219123456CYP***",
            "live_protocol":"HOLO",
            "stream_type": "PRIMARY_STREAM"
        }
    ]
}

响应示例

状态码: 200

OK

{
	"fail_num": 1,
	"live_connections": [
		{
			"device_id": "219123456CYP***",
			"channel_id": "0",
			"cloud_trans_connections": {},
			"p2p_connections": {},
			"result": {
				"code": "IVM.10026004",
				"msg": "The param stream_type is not support."
			}
		},
		{
			"device_id": "210123456SMY***",
			"channel_id": "0",
			"cloud_trans_connections": {
				"live_url": "jvmp://123.123.123.123:7070/live/210123456SMY***?token=content***"
			},
			"p2p_connections": {
				"token": "content***",
				"device_state": "ONLINE",
				"p2p_nodes": [
					{
						"node_type": "COMMON",
						"address_type": "IPV4",
						"address": [
							"123.123.123.123"
						],
						"tcp_port": 0,
						"udp_port": 7050
					}
				]
			},
			"result": {
				"code": "IVM.0",
				"msg": "Success"
			}
		}
	]
}

状态码

请参见状态码

错误码

请参见错误码

相关文档