调用 GeneratePlayURL 接口,生成直播拉流地址。
使用说明 #视频直播拉流地址生成规则请参见最佳实践-生成直播地址。
注意事项 #请求频率:单用户请求频率限制为 25 次/秒。前提条件:如需生成转码流的拉流地址,请先完成对应直播流的转码配置。请求说明 #请求方式:POST请求地址:https://live.volcengineapi.com?Action=GeneratePlayURL&Version=2023-01-01调试 #API Explorer您可以通过 API Explorer 在线发起调用,无需关注签名生成过程,快速获取调用结果。去调试请求参数 #下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数。
Query #参数类型是否必选示例值描述ActionString是GeneratePlayURL接口名称。当前 API 的名称为 GeneratePlayURL。VersionString是2023-01-01接口版本。当前 API 的版本为 2023-01-01。Body #参数类型是否必选示例值描述DomainString是pull.example.com拉流域名。您可以调用 ListDomainDetail 接口或在视频直播控制台的域名管理页面,查看直播流使用的拉流域名。AppString是live应用名称,取值与直播流地址中 AppName 字段取值相同。支持由大小写字母(A - Z、a - z)、数字(0 - 9)、下划线(_)、短横线(-)和句点(.)组成,长度为 1 到 30 个字符。StreamString是example_stream流名称,取值与直播流地址中 StreamName 字段取值相同。支持由大小写字母(A - Z、a - z)、数字(0 - 9)、下划线(_)、短横线(-)和句点(.)组成,长度为 1 到 100 个字符。Type
String
否
fcdn
CDN 类型,默认值为 fcdn,支持如下取值。
fcdn:火山引擎流媒体直播 CDN;3rd:第三方 CDN。SuffixString否5转码流后缀,默认为空,表示生成源流的拉流地址。配置不为空时表示生成转码流的拉流地址,可通过调用 ListVhostTransCodePreset 接口查询对应流的转码流后缀。ValidDuration
Integer
否
3600
拉流地址的有效时长,单位为秒,超过有效时长后需要重新生成。取值范围为正整数,缺省值为 604800,即 7 天。
说明
如果同时设置 ValidDuration 和 ExpiredTime,以 ExpiredTime 的时间为准。
ExpiredTime
String
否
2022-08-19T16:07:25+08:00
拉流地址的过期时间,RFC3339 格式的 UTC 时间,精度为秒,过期后需要重新生成。缺省情况下表示当前时间往后的 7 天。
说明
如果同时设置 ValidDuration 和 ExpiredTime,以 ExpiredTime 的时间为准。
StreamType
String
是
source
生成地址类型,取值如下:
source:生成源流地址。transcode: 生成转码流地址。abr: 生成 ABR 地址。返回参数 #下表仅列出本接口特有的返回参数。更多信息请见返回结构。
参数类型示例值描述AuthType
String
TypeB
生成地址对应匹配到的鉴权类型。取值为空表示当前域名未配置 URL 鉴权。
TypeA:A 类型。TypeB:B 类型。TypeC:C 类型。TypeCustom:自定义类型。说明
更多有关 A、B、C 类型鉴权的信息,详见配置 URL 鉴权。
URLListArray of URLList-拉流地址信息列表。URLList #参数类型示例值描述URLStringhttp://pull.example.com/live/example_stream.sdp生成的拉流地址。Type
String
pull
地址类型,取值及含义如下所示。
pull:拉流地址;3rd_play(relay_source):第三方回源地址,当配置了回源且 CDN 类型为第三方 CDN 时返回;3rd_play(relay_sink):第三方转推地址,当配置了拉流转推且 CDN 类型为第三方 CDN 时返回。CDN
String
fcdn
CDN 类型。
fcdn:火山引擎流媒体直播 CDN;3rd:第三方 CDN。ProtocolStringhls协议类型,包括 hls、flv、rtmp、udp 和 cmaf。SubStreamURLArray of SubStreamURL-子流地址。仅当 StreamType 为 abr 时返回。SubStreamURL #参数类型示例值描述SuffixString_ld子流转码后缀。TagStringLL-HLS地址标签。包括 drm、hls加密等。请求示例 #POST https://live.volcengineapi.com?Action=GeneratePlayURL&Version=2023-01-01
{
"Domain": "pull.example.com",
"App": "live",
"Stream": "example_stream",
"ExpiredTime": "2022-08-19T16:07:25+08:00"
}
返回示例 #{
"ResponseMetadata": {
"RequestId": "20230604110420****100232280022D31",
"Action": "GeneratePlayURL",
"Version": "2023-01-01",
"Service": "live",
"Region": "cn-north-1"
},
"Result": {
"URLList": [
{
"URL": "http://pull.example.com/live/example_stream.sdp",
"CDN": "fcdn",
"Protocol": "hls",
"Type": "pull"
}
],
"AuthType": ""
}
}
错误码 #下表仅列出本接口特有的错误码。更多信息请参见公共错误码获取详细信息。
状态码错误码错误信息说明200CommonErr-未分类错误。建议重试,如果仍返回该错误码,请联系技术支持。400InvalidParam-输入的参数无效或不符合要求,请参照请求参数说明进行检查。400InvalidParam.BindErrorRequest parameter error, please check input data参数未通过校验,请检查参数类型是否正确。400InvalidParam.Format%s format error参数格式错误,请检查错误消息中指定参数中是否存在非法字符或 URL 格式错误。400InvalidParam.OutOfRange%s should be one of {[%s]}%s should be between %d and %d参数超出允许范围,请检查错误消息中指定参数的取值是否超出取值范围。400InvalidParam.TimeLogicstartTime later than endTime, etc.传入的时间参数不符合时间逻辑,请检查是否存在以下问题。开始时间晚于结束时间过期时间早于当前时间403RequestForbidden-请求被拒绝,当前账号下无请求的资源(域名空间、域名、应用、配置模版、证书)。403RequestForbidden.AccountIDNotAllowthis AccountID does not have permission to access the corresponding resource, please check the request parameters请求被拒绝,当前账号下无请求的资源(域名空间、域名、应用、配置模版、证书)。403RequestForbidden.BillingStatusBilling status is not available for the AccountID, please activate the service or recharge.未开通视频直播服务或账号欠费,造成账单不可用,请检查服务开通情况和账号欠费情况。404ResourceNotFound-未找到资源(域名空间、域名、应用、配置模版、证书)。建议重试,如果仍返回该错误码,请联系技术支持。500InternalErroran internal error occurred, please contact the administrator.出现内部错误,请联系技术支持。500InternalError.VhostOrDomainan internal error related to vhost or domain occurred, please contact the administrator.出现与域名空间(Vhost)或域名(Domain)相关的内部错误。请联系技术支持。502InternalServiceErroran internal error occurred, please contact the administrator.服务间出现错误,请联系技术支持。502InternalServiceError.BadResponsean internal error occurred, please contact the administrator.服务间出现错误,请联系技术支持。504InternalServiceTimeoutInternal Service is timeout. please contact the administrator.内部服务超时,请联系技术支持。服务端 SDK #视频直播提供了配套的开发工具集 SDK,支持多种编程语言,帮助您更方便的调用 API。
SDK Link for JavaSDK Link for GolangSDK Link for PythonSDK Link for PHP