
# 获取视频流地址
#### 功能介绍
此接口用于获取指定视频流的地址。该地址用于进行视频流推流或者拉流。
- 实时视频流，可以通过该接口返回的pull_flow_address参数值获取视频流地址。
- 如果编码格式是H264、H265，均可通过该接口返回的hls_pull_flow_address和pull_flow_address获取视频流地址。
- 对于RTMP类型的视频流，该接口可以获取到推流地址（对应push_flow_address参数值），通过该地址，可以将视频流推到VIS中。
当因网络或其它原因，导致视频流中断后自动恢复时，推流地址或拉流地址可能发生变化。请重新调用该接口，并尝试使用新的推流地址再次进行推流。在灾备场景下，拉流地址可能会发生变化，导致已获取的相应地址无效，请重新调用该接口获取新的地址。
为防止接入视频被泄露和盗链，获取的拉流地址中包含防盗链，防盗链的有效期默认为24小时（后续将支持自定义防盗链有效期）。为避免因防盗链超过有效期导致接入视频无法播放，请您在有效期内重新调用该接口获取新的防盗链地址。
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=VIS&api=ListStreamsAddresses)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### URI
GET /v1/{project_id}/streams/{stream_name}/endpoint
表1路径参数 
| 参数          | 是否必选 | 参数类型   | 描述                                                                             |
|:---|:---|:---|:---|
| project_id  | 是    | String | 项目ID，获取方法请参考[获取项目ID](https://support.huaweicloud.com/api-vis/vis_03_0005.html) |
| stream_name | 是    | String | 视频流名称                                                                          |
表2Query参数 
| 参数          | 是否必选 | 参数类型    | 描述                                                            |
|:---|:---|:---|:---|
| expire_time | 否    | Integer | 获取的视频流拉流地址的有效时间，设置范围为\[600,604800\]，单位：秒。建议设置为8小时以内。 默认值24小时。 |
#### 请求参数
表3请求Header参数 
| 参数            | 是否必选 | 参数类型   | 描述                       |
|:---|:---|:---|:---|
| X-Auth-Token  | 是    | String | 普通租户的token。              |
| Authorization | 否    | String | 使用AK/SK方式认证时必选，携带的鉴权信息。  |
| X-Sdk-Date    | 否    | String | 使用AK/SK方式认证时必选，请求的发生时间。  |
| X-Project-Id  | 否    | String | 使用AK/SK方式认证时必选，携带项目ID信息。 |
   
#### 响应参数
**状态码： 200**
表4响应Body参数 
| 参数                    | 参数类型   | 描述                                                                                               |
|:---|:---|:---|
| pull_flow_address     | String | 拉流地址，视频流编码格式为H264和H265均会返回该字段。如果视频流的共享类型为PRIVATE（非共享），拉流时必须在请求头中添加X-Auth-Token，值为创建视频流的用户的token。 |
| push_flow_protocol    | String | 只有RTMP类型的流，该字段才有实际参考意义，代表推流协议。                                                                   |
| push_flow_address     | String | 只有RTMP类型的流，该字段才有实际参考意义，代表推流地址。                                                                   |
| hls_pull_flow_address | String | HLS（HTTP Live Streaming）拉流地址，视频编码格式为H265和H264均会返回HLS拉流地址。                                        |
   
#### 请求示例
```
GET /v1/aecdc9b7********9fbc5b04f1d9b525/streams/channel_06640495271320000********/endpoint
```
#### 响应示例
**状态码： 200**
正常
- 示例 1
  ```
  {
    "pull_flow_address" : "https://vps-cn-north-7-cloud.hwcloudvis.com/mss-stable-work001/live?app=vis&stream=xxxxn&project_id=aecdc9b7********9fbc5b04f1d9b525&key=8930f********15cd409b1b8fbe9b8cb&t=1629790048",
    "push_flow_protocol" : "HTTP-FLV",
    "push_flow_address" : "100.95.***.222",
    "hls_pull_flow_address" : "https://vps-cn-north-7-cloud.hwcloudvis.com/mss-stable-work001/hls/xxxxn.m3u8?project_id=aecdc9b7********9fbc5b04f1d9b525&key=8930f********15cd409b1b8fbe9b8cb&t=1629790048"
  }
  ```
- 示例 2
  ```
  {
    "push_flow_protocol" : "GB/T28181",
    "push_flow_address" : "100.95.***.93",
    "hls_pull_flow_address" : "https://vps-cn-north-7-cloud.hwcloudvis.com/mss-stable-work002/hls/channel_06640495271320000********.m3u8?project_id=aecdc9b7********9fbc5b04f1d9b525&key=6eeea********db10dcf3fa30c20d249&t=1629789339",
    "pull_flow_address" : "https://vps-cn-north-7-cloud.hwcloudvis.com/mss-stable-work002/live?app=vis&stream=channel_06640495271320000********&project_id=aecdc9b7********9fbc5b04f1d9b525&key=6eeea********db10dcf3fa30c20d249&t=1629789339"
  }
  ```
**状态码： 400**
请求错误。具体返回错误码请参考[错误码说明](https://support.huaweicloud.com/api-vis/vis_03_0047.html)
```
{
  "error_msg" : "Stream is not activated successfully, please retry. Can not get endpoint.",
  "error_code" : "VIS.0204"
}
```
#### 状态码
| 状态码 | 描述                                                                               |
|:---|:---|
| 200 | 正常                                                                               |
| 400 | 请求错误。具体返回错误码请参考[错误码说明](https://support.huaweicloud.com/api-vis/vis_03_0047.html) |
   
