您可以使用直播視像 API 建立在預定時間發佈的直播影片,預定時間可為建立日期起七天內的任何時間。
Meta 由 2024 年 6 月 10 日起推出一些新的必要條件,帳戶必須達到有關條件,才能在 Facebook 上開始直播。新的必要條件如下:
如要在用戶、專頁、群組或事件建立在未來開始的直播視像,請傳送要求至:
POST /<ID>/live_videos?status=SCHEDULED_UNPUBLISHED&event_params=<UNIX_TIMESTAMP_FOR_START_TIME>
使用 event_params
參數和 UNIX 時戳,指定所需的開始時間。
測試 API 呼叫時,您可以在呼叫中加入 access_token
參數,並將其設為您的存取憑證。但是,從您的應用程式發出安全呼叫時,應使用存取憑證類別。
這將在目標節點上建立 LiveVideo
物件,並傳回直播視像的 secure_stream_url
和 id
。在排定的開始時間或之前,使用安全串流影片網址與編碼器,將直播視像數據串流至 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_UNPUBLISHED
或 UNPUBLISHED
,以建立 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_url
和 id
。複製此網址並在 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"
{ "id": "10214937378883406" // <LIVE_VIDEO_ID> }