直播转推是指当你向声网推流时,声网会将流转推到你指定的第三方平台。
为指定发布点设置转推到第三方平台的配置。
PATCH https://api.sd-rtn.com/v1/projects/{appid}/fls/entry_points/{entry_point}/settings/transfer
参数 | 类型 | 描述 |
---|---|---|
appid |
String | 必填。在声网控制台获取的 App ID。 |
entry_point |
String | 必填。发布点名称。 |
请求包体为 JSON Object 类型,包含以下字段:
字段 | 类型 | 描述 |
---|---|---|
enabled |
Bool | 选填。是否启用直播转推:true :启用直播转推。false :(默认)关闭直播转推。 |
callbackUrl |
String | 选填。你的回调 URL。启用直播转推后,声网会向这个回调 URL 发送请求,获取推流的目标地址。详见直播转推回调格式。 |
如果返回的 HTTP 状态码为 200,表示请求成功。
如果返回的 HTTP 状态码非 200,表示请求失败。你可以参考 HTTP 状态码了解可能的原因。
请求行
PATCH https://api.sd-rtn.com/v1/projects/{your_appid}/fls/entry_points/live/settings/transfer HTTP/1.1
请求 body
{
"enabled": true,
"callbackUrl": "https://example.transfer.com/callback"
}
响应行
HTTP/1.1 200 OK
获取指定发布点转推到第三方平台的配置。
GET https://api.sd-rtn.com/v1/projects/{appid}/fls/entry_points/{entry_point}/settings/transfer
参数 | 类型 | 描述 |
---|---|---|
appid |
String | 必填。在声网控制台获取的 App ID。 |
entry_point |
String | 必填。发布点名称。 |
如果返回的 HTTP 状态码为 200,表示请求成功,响应包体中包含以下字段:
字段 | 类型 | 描述 |
---|---|---|
enabled |
Bool | 直播转推是否已经启用:true :已启用直播转推。false :未启用直播转推。 |
callbackUrl |
String | 你的回调 URL。启用直播转推后,声网会向这个回调 URL 发送请求,获取推流的目标地址。详见直播转推回调格式。 |
如果返回的 HTTP 状态码非 200,表示请求失败。你可以参考 HTTP 状态码了解可能的原因。
请求行
GET https://api.sd-rtn.com/v1/projects/{your_appid}/fls/entry_points/live/settings/transfer HTTP/1.1
响应行
HTTP/1.1 200 OK
响应 body
{
"enabled": true,
"callbackUrl": "https://example.transfer.com/callback"
}
如果你在设置转推到第三方平台配置的请求中设置了 callbackUrl
,声网会向这个回调 URL 发送请求,获取你的推流目标地址。声网发送的请求示例如下:
POST https://example.transfer.com/callback?entry_point={entry_point}&stream_name={stream_name} HTTP/1.1
其中 entry_point
为你的发布点名称,stream_name
为你的直播流名称。
你返回的 HTTP 响应必须满足以下要求:
transferUrls
字段返回目标推流地址,示例如下:{
"transferUrls": [
"rtmp://cdna.example.com/live/testedge",
"rtmp://cdnb.example.com/live/testedge"
]
}
声网成功收到你的 HTTP 响应后,你的直播流将开始转推到第三方平台。
状态码 | 描述 |
---|---|
200 | 请求成功。 |
400 | 参数非法,如 appid 或者 name 为空。 |
401 | 未经授权的(客户 ID/客户密钥匹配错误)。 |
404 | 服务器无法根据请求找到资源,即请求的发布点不存在,或者请求的 URI 路径非法。 |
500 | 服务器内部错误,无法完成请求。 |
504 | 服务器内部错误。充当网关或代理的服务器未从远端服务器获取请求。 |