คุณสามารถใช้ API วิดีโอถ่ายทอดสดเพื่อสร้างการแพร่ภาพวิดีโอถ่ายทอดสดที่จะเริ่มถ่ายทอดสดตามเวลาที่กำหนดไว้สูงสุด 7 วันนับจากวันที่สร้าง
ในวันที่ 10 มิถุนายน 2024 Meta จะเปิดใช้ข้อกำหนดแบบใหม่ ซึ่งต้องปฏิบัติตามก่อนที่บัญชีจะสามารถเริ่มถ่ายทอดสดบน 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
ของวิดีโอถ่ายทอดสด ให้ใช้ URL สตรีมที่ปลอดภัยกับตัวเข้ารหัสของคุณเพื่อสตรีมข้อมูลวิดีโอถ่ายทอดสดไปยังอ็อบเจ็กต์ 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 วิดีโอถ่ายทอดสดเพื่อดูตัวอย่างการแพร่ภาพวิดีโอถ่ายทอดสดที่ยังไม่ได้เผยแพร่ ซึ่งเป็นอ็อบเจ็กต์ LiveVideo ที่สร้างขึ้นโดยมี status
เป็น SCHEDULED_UNPUBLISHED
หรือ UNPUBLISHED
หากต้องการดูตัวอย่างของการแพร่ภาพวิดีโอถ่ายทอดสดที่ยังไม่ได้เผยแพร่ ให้ส่งคำขอไปยัง:
GET /<LIVE_VIDEO_ID?fields={fields}
ใช้พารามิเตอร์ fields
เพื่อรับ dash_preview_url
สำหรับอ็อบเจ็กต์ LiveVideo
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
ของวิดีโอถ่ายทอดสด ให้คัดลอกและวาง URL ลงใน 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 จะตอบกลับด้วย ID ของอ็อบเจ็กต์ 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
การแพร่ภาพจะเริ่มถ่ายทอดสดหาก URL สตรีมที่เชื่อมโยงกับอ็อบเจ็กต์ LiveVideo
ซึ่งแสดงถึงการแพร่ภาพดังกล่าวรับข้อมูลสตรีม เมื่อดำเนินการสำเร็จ API จะตอบกลับด้วย ID ของอ็อบเจ็กต์ LiveVideo
curl -i -X POST \
"https://graph.facebook.com/v21.0
/<LIVE_VIDEO_ID>?status=LIVE_NOW"
{ "id": "10214937378883406" // <LIVE_VIDEO_ID> }