获取视频流地址
功能介绍
此接口用于获取指定视频流的地址。该地址用于进行视频流推流或者拉流。
-
实时视频流,可以通过该接口返回的pull_flow_address参数值获取视频流地址。
-
如果编码格式是H264、H265,均可通过该接口返回的hls_pull_flow_address和pull_flow_address获取视频流地址。
-
对于RTMP类型的视频流,该接口可以获取到推流地址(对应push_flow_address参数值),通过该地址,可以将视频流推到VIS中。
当因网络或其它原因,导致视频流中断后自动恢复时,推流地址或拉流地址可能发生变化。请重新调用该接口,并尝试使用新的推流地址再次进行推流。在灾备场景下,拉流地址可能会发生变化,导致已获取的相应地址无效,请重新调用该接口获取新的地址。
为防止接入视频被泄露和盗链,获取的拉流地址中包含防盗链,防盗链的有效期默认为24小时(后续将支持自定义防盗链有效期)。为避免因防盗链超过有效期导致接入视频无法播放,请您在有效期内重新调用该接口获取新的防盗链地址。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
GET /v1/{project_id}/streams/{stream_name}/endpoint
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID,获取方法请参考获取项目ID |
stream_name |
是 |
String |
视频流名称 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
expire_time |
否 |
Integer |
获取的视频流拉流地址的有效时间,设置范围为[600,604800],单位:秒。建议设置为8小时以内。 默认值24小时。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
普通租户的token。 |
Authorization |
否 |
String |
使用AK/SK方式认证时必选,携带的鉴权信息。 |
X-Sdk-Date |
否 |
String |
使用AK/SK方式认证时必选,请求的发生时间。 |
X-Project-Id |
否 |
String |
使用AK/SK方式认证时必选,携带项目ID信息。 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
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
请求错误。具体返回错误码请参考错误码说明
{ "error_msg" : "Stream is not activated successfully, please retry. Can not get endpoint.", "error_code" : "VIS.0204" }
状态码
状态码 |
描述 |
---|---|
200 |
正常 |
400 |
请求错误。具体返回错误码请参考错误码说明 |