
# 获取实况地址统一接口
#### 功能介绍
获取实况地址统一接口：v2相比于v1归一了所有获取实况地址相关的接口，v2接口支持批量获取，支持各种协议，支持好望和国标设备。
**备注：** 播放P2P实况需要将[响应Body参数](https://support.huaweicloud.com/api-ivm/ivm_03_0052.html)中的所有内容输入到播放地址栏且**不支持国标协议** ；播放转发实况需要将[CloudTransChannelsResp]中的live_url输入到播放地址栏
#### URI
POST /v2/{user_id}/devices/channels/media/live-connections
表1路径参数 
| 参数      | 是否必选 | 参数类型   | 描述                                                                                                                                                                |
|:---|:---|:---|:---|
| user_id | 是    | String | 用户ID：由数字组成，长度范围\[15,25\]，获取方式参考[获取user ID与下载AK/SK](https://support.huaweicloud.com/api-ivm/ivm_03_0005.html#ZH-CN_TOPIC_0000001710465704__section1213543912215)章节 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                    |
|:---|:---|:---|:---|
| Access-Token | 是    | String | 用户认证AccessToken：从[获取用户北向接口认证AccessToken](https://support.huaweicloud.com/api-ivm/ivm_03_0002.html)中获取 |
   
表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使用次数：枚举类型，当expire_time和use_times都不填写时，use_times默认为1，仅当use_times不填写时，use_times默认为0，RTSP协议固定为0 枚举值： - **0** 使用一次  - **1**有效时间内任意使用，此参数对RTSP协议无效   说明： 仅对[CloudTransChannelsResp]中的live_url有效。 |
   
 表4ChannelsLiveParamV2 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| 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 | 实况响应信息       |
   
 表6LiveConnectionResp 
| 参数                      | 参数类型                                                                                            | 描述                                     |
|:---|:---|:---|
| 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                                 | 错误信息                                   |
   
 表7CloudTransChannelsResp 
| 参数       | 参数类型   | 描述                        |
|:---|:---|:---|
| live_url | String | 转发实况播放地址：将此url输入播放地址栏开始播放 |
   
 表8P2PChannelsResp 
| 参数           | 参数类型                                                                                 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|
| token        | String                                                                               | P2P请求Token                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| device_state | String                                                                               | 在线状态：枚举类型 枚举值： - **OFFLINE** 离线   - **ONLINE** 在线    |
| p2p_nodes    | Array of [P2PMTSListResp] objects | P2P连接可用节点                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   
 表9P2PMTSListResp 
| 参数           | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|
| 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                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
   
 表10Result 
| 参数   | 参数类型   | 描述                                                                      |
|:---|:---|:---|
| code | String | 错误编码：请参见[错误码](https://support.huaweicloud.com/api-ivm/ivm_03_0137.html) |
| 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"
}
}
]
}
```
#### 状态码
请参见[状态码](https://support.huaweicloud.com/api-ivm/ivm_03_0136.html)
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-ivm/ivm_03_0137.html)
