一般資訊
要使用RTMP輸出,請注意以下幾點
- 您必須已購買活動時間,或任何數字營銷套餐
- RTMP輸出時間將根據活動時間計費
- 每個現場工作最多只能有5個輸出
- 您可以定義一個
label
標籤可以在其中選擇為流選擇的輸出格式之一。如果label
如果未設置,則輸出將默認為輸入源。 - 它們可以與標準作業和重複事件(SEP)一起使用。
- 它們可用於事件或24/7流。
- 它們可以獨立於任何直播流而啟動和停止。
- 對於在實施RTMP輸出功能之前創建的SEP作業,該功能將無法完全使用:在API上,即使實際創建了RTMP輸出,也會顯示失敗。為了獲得最佳結果,請創建一個新的SEP作業以使用RTMP輸出功能。
- 當將RTMP輸出與標準作業(非SEP)一起使用時,RTMP輸出流將在作業結束時結束。
- RTMP輸出做支持
rtmps
網址,如果社交媒體平台支持它們,我們建議使用它們。另請注意,自2019年5月1日起,Facebook將僅允許RTMPS。 - RTMP URL 目前支援的唯一格式為
rtmps://host:port/application/streamName
。
通知
您可以設置以下內容的通知rtmp_output_state_changed
事件。將發送以下狀態的通知:
RTMP 輸出狀態 | (報告為rtmp_output_state_changed 通知為state ) |
---|---|
starting |
流正在開始。 |
connected |
編碼器已連接。 |
Disconnected |
編碼器已中斷連線。 |
error |
串流無法連線。 |
pending_deactivation |
進入點已排入佇列,以便從串流工作者清理。 |
deactivation_in_progress |
進入點正在中斷與串流工作者的連線。 |
cancelled |
入口點已被取消。 |
finished |
進入點已順利完成。 |
RTMP輸出的通知必須在職業等級創建實時作業時。
看到不同state
為RTMP輸出報告的值,請參閱實時通知。
創建RTMP輸出
首先,您將需要像平時一樣創建一個實時作業,然後再提出一個附加請求來創建RTMP端點。
注意:在某些情況下,例如激活/停用作業,此API調用將返回錯誤,如果發生這種情況,請在暫停後重試。
端點
https://api.bcovlive.io/v1/jobs/{jobId}/rtmpouts
方法
POST
要求主體
{
"url": "rtmps://host:port/application/streamName",
"output_label": "480p"
}
欄位名稱 | 必填 | 類型 | 描述 |
---|---|---|---|
url |
是 | 串 | RTMP輸出的URL-示例rtmp://live-api-s.facebook.com:80/rtmp/my_stream |
output_label |
否 | 串 | 作業輸出的標籤,用作RTMP輸出的源。忽略此參數可以簡單地使用RTMP輸入。 |
範例回應
{
"host": "live-api-s.facebook.com",
"port": 80,
"application": "rtmp",
"streamName": "my_stream",
"rtmp_out_id": "asdfg-lkjh"
}
獲取RTMP輸出
端點
https://api.bcovlive.io/v1/jobs/{jobId}/rtmpouts
方法
GET
範例回應
[
{
"rtmp_out_id": "asdfg-lkjh",
"stream_start": 1538746255247,
"connection_info": {
"host": "a.rtmp.youtube.com",
"port": 1935,
"application": "live2",
"streamName": "my_stream",
"sessionStatus": "Active"
}
}
]
停止RTMP輸出
端點
https://api.bcovlive.io/v1/jobs/{jobId}/rtmpouts/{rtmp_out_id}/stop
方法
PUT
範例回應
{
"message": "RTMP out asdfg-lkjh deleted successfully"
}