排定直播時間

您可以使用直播視像 API 建立在預定時間發佈的直播影片,預定時間可為建立日期起七天內的任何時間。

Meta 由 2024 年 6 月 10 日起推出一些新的必要條件,帳戶必須達到有關條件,才能在 Facebook 上開始直播。新的必要條件如下:

  • 有關 Facebook 帳戶必須已建立至少 60 天。
  • 有關 Facebook 專頁或專業模式個人檔案必須有至少 100 名追蹤者。

如要在用戶、專頁、群組或事件建立在未來開始的直播視像,請傳送要求至:

POST /<ID>/live_videos?status=SCHEDULED_UNPUBLISHED&event_params=<UNIX_TIMESTAMP_FOR_START_TIME>

使用 event_params 參數和 UNIX 時戳,指定所需的開始時間。

測試 API 呼叫時,您可以在呼叫中加入 access_token 參數,並將其設為您的存取憑證。但是,從您的應用程式發出安全呼叫時,應使用存取憑證類別

這將在目標節點上建立 LiveVideo 物件,並傳回直播視像的 secure_stream_urlid。在排定的開始時間或之前,使用安全串流影片網址與編碼器,將直播視像數據串流至 LiveVideo 物件。只要收到串流數據,直播便可在計劃的開始時間顯示於節點的生活時報/動態消息上。

已排程的直播可在開始日期前的任何時間接收串流影片數據,以用於預覽。

要求範例

curl -i -X POST \ 
      "https://graph.facebook.com/v21.0/<ID>/live_videos?status=SCHEDULED_UNPUBLISHED&event_params=1541539800"

回應範例

{
  "id": "10214937378883406",  //LiveVideo object ID
  "stream_url": "rtmp://rtmp-api.facebook...",
  "secure_stream_url": "rtmps://rtmp-api.facebook..."  //Stream URL
}
    

如要獲取已排程直播清單,請參閱獲取已排程直播

預覽直播

您可以使用直播視像 API 預覽尚未發佈的直播視像;將 status 設定為 SCHEDULED_UNPUBLISHEDUNPUBLISHED,以建立 LiveVideo 物件。

如要預覽尚未發佈的直播視像,請傳送要求至:

GET /<LIVE_VIDEO_ID?fields={fields}

使用 fields 參數以獲取 LiveVideo 物件的 dash_preview_url

要求範例

curl -i -X GET \
 "https://graph.facebook.com/v21.0/<LIVE_VIDEO_ID>?fields=dash_preview_url"

回應範例

{
  'dash_preview_url': 'https://video.xx.fbcdn.net/...',
  'id': '<LIVE_VIDEO_ID>'
}

這會傳回直播視像的 dash_preview_urlid。複製此網址並在 Dash Player 貼上,以預覽直播內容。

雖然使用第三方測試播放器預覽直播內容是驗證直播內容的好方法,但我們建議您在測試專頁播放直播內容。您必須是專頁管理員或編輯,方可在專頁中直播。此外,您可以設定私隱參數,以建立只有您可以看到的串流影片。

獲取已排程直播

如要獲取用戶、專頁或活動的已排程直播清單,請獲取擁有 publish_video 權限的合適存取憑證,並傳送要求至以下位置:

GET /<ID>/live_videos?broadcast_status=["SCHEDULED_UNPUBLISHED"]

請注意,broadcast_status 值必須是陣列。請參閱 LiveVideo 參考資料,獲取其他值的完整清單。

專頁直播內容清單範例

curl -i -X GET \ 
  "https://graph.facebook.com/v21.0/<ID>/live_videos?broadcast_status=["SCHEDULED_UNPUBLISHED"]"

回應範例

{
  "data": [
    {
      "status": "SCHEDULED_UNPUBLISHED",
      "stream_url": "rtmp://rtmp-api-dev.facebook.com:80/rtmp/...",
      "secure_stream_url": "rtmps://rtmp-api-dev.facebook.com:443/rtmp/...",
      "embed_html": "<iframe src=\"https://www.facebook.com/plugins/video.php?...",
      "id": "10214937378883406 "  //LiveVideo object ID
    }
  ]
}

重新排定直播時間

如果更改已排程直播內容的開始時間,請傳送要求至:

POST /<LIVE_VIDEO_ID>?event_params=<UNIX_TIMESTAMP_FOR_NEW_START_TIME>

<UNIX_TIMESTAMP_FOR_NEW_START_TIME> 值必須是 UNIX 時戳,並指明新的開始時間。成功的話,API 將傳回包含 LiveVideo 物件編號的回應。

專頁的直播視像範例

curl -i -X POST \
  "https://graph.facebook.com/v21.0/<LIVE_VIDEO_ID>?event_params=1541540800"

回應範例

{
  "id": "10214937378883406"
}

立即開始直播

如要立即開始直播內容,請傳送要求至:

POST /<LIVE_VIDEO_ID>?status=LIVE_NOW

在與代表直播的 LiveVideo 物件關聯的直播網址收到串流數據後,系統便會開始直播。成功的話,API 將傳回包含 LiveVideo 物件編號的回應。

要求範例

curl -i -X POST \
  "https://graph.facebook.com/v21.0/<LIVE_VIDEO_ID>?status=LIVE_NOW"

JSON 回應範例

{
  "id": "10214937378883406" // <LIVE_VIDEO_ID>
}