呼叫 SetLiveEdgeTransfer 設定直播轉推配置。
介面說明
呼叫 SetLiveEdgeTransfer 進行的直播邊緣轉推配置僅對配置完成後開始的推流生效。以下為部分典型場景示例:
| 場景 | 分析 | 結果 |
| 1. 使用者在呼叫 SetLiveEdgeTransfer 之前已經開始推流。 | 此時直播邊緣轉推流配置不存在。 | 該推流不受 SetLiveEdgeTransfer 配置的影響,即直播邊緣轉推流不會啟動。 |
| 2. 使用者中斷呼叫 SetLiveEdgeTransfer 之前已經開始的推流,再重新推流。 | 此時直播邊緣轉推流配置已經存在。 | 重新開始的推流會按 SetLiveEdgeTransfer 的配置啟動直播轉推流。 |
| 3. 使用者在呼叫 SetLiveEdgeTransfer 之後開始推流。 | 此時直播邊緣轉推流配置已經存在。 | 此次推流會按 SetLiveEdgeTransfer 的配置啟動直播轉推流。 |
QPS 限制
本介面的單使用者 QPS 限制為 100 次/秒。超過限制,API 呼叫會被限流,這可能會影響您的業務,請合理呼叫。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
調試
授權資訊
|
操作 |
存取層級 |
資源類型 |
條件關鍵字 |
關聯操作 |
|
live:SetLiveEdgeTransfer |
update |
*全部資源
|
無 | 無 |
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| RegionId |
string |
否 |
地域 ID。 |
cn-shanghai |
| DomainName |
string |
是 |
推流網域名稱。直播轉推流以推流的 DomainName 為粒度設定。一個網域名稱只能有一個直播轉推配置。 |
demo.aliyundoc.com |
| AppName |
string |
否 |
直播流所屬應用名稱。支援正則表達式配置但有例外。詳細資訊,請參見下文中的AppName 與 StreamName 參數設定說明。例如:liveApp****[1,2,3],表示允許 liveApp1,liveApp2,liveApp****3 三個 App 轉推。 說明
|
liveApp**** |
| StreamName |
string |
否 |
推流名稱。支援正則表達式配置但有例外。詳細資訊,請參見下文中的AppName 與 StreamName 參數設定說明。例如:liveStream****[1,2,3],表示允許 liveStream1,liveStream2,liveStream****3 三個流轉推。 說明
|
liveStream**** |
| TargetDomainList |
string |
否 |
使用者指定的轉推目標網域名稱列表。多個網域名稱用英文逗號(,)分隔。請求中必須帶有 說明
|
learn.aliyundoc.com,guide.aliyundoc.com |
| HttpDns |
string |
否 |
取得轉推目標位址的 HTTPDNS 介面。請求中必須帶有 說明
若請求參數中設定了 直播轉推對 HTTPDNS 介面返回的訊息結構有要求,詳細資訊,請參見下文中的HTTPDNS 說明。 |
http://developer.aliyundoc.com |
| TransferArgs |
string |
否 |
推流參數是否透傳。取值:
枚舉值:
|
yes |
AppName 與 StreamName 參數設定說明
AppName 與 StreamName 均不支援^、$匹配。二者之中任一取值出現^或$均會導致轉推失敗。
HTTPDNS 說明
如果 SetLiveEdgeTransfer 的請求參數中設定了HttpDns,直播轉推時將存取透過HttpDns設定的 HTTPDNS 介面來取得轉推目標位址。
請求示例如下:
http://developer.aliyundoc.com/?host={
說明:在實際請求 HTTPDNS 介面時會把以下參數按推流 URL 中的資訊進行替換:
{
}:推流網域名稱。 {
}:直播流所屬應用名稱。 {
}:流名。 {<_ali_user_args>}:使用者推流帶的參數。
直播轉推對介面返回碼和返回資料的要求如下:
返回碼為 403 表示存取失敗,不需要轉推。
返回碼為 200 表示存取成功,返回結果為 JSON 格式。結構和參數示例如下:
{
"cdn_types": [
{
"name": "cdnA****",
"upstream_url": "rtmp://developer.aliyundoc.com/live/testedge****"
},
{
"name": "cdnB****",
"upstream_url": "rtmp://developer.aliyundoc.com/live/testedge****"
}
]
}
| 參數 | 描述 | 示例 |
| name | CDN 名稱,可自訂但不能重複。 | cdnA**** |
| upstream_url | 要轉推的推流位址。 | rtmp://developer.aliyundoc.com/live/testedge**** |
轉推網域名稱從返回的 JSON 結果裡面取得。如果返回多個轉推網域名稱,表示需要將原始流推到多路。
返回資料結構不符合要求將導致轉推失敗。
返回參數
|
名稱 |
類型 |
描述 |
樣本值 |
|
object |
|||
| RequestId |
string |
請求 ID。 |
16A96B9A-F203-4EC5-8E43-CB92E68F4CF8 |
樣本
正常返回樣本
JSON格式
{
"RequestId": "16A96B9A-F203-4EC5-8E43-CB92E68F4CF8"
}
錯誤碼
|
HTTP status code |
錯誤碼 |
錯誤資訊 |
描述 |
|---|---|---|---|
| 400 | InvalidParam | Parameter invalid. | 輸入參數不合法 |
| 500 | InternalError | The request processing has failed due to backend service exception. |
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。