กำหนดเวลาให้กับการแพร่ภาพ

คุณสามารถใช้ API วิดีโอถ่ายทอดสดเพื่อสร้างการแพร่ภาพวิดีโอถ่ายทอดสดที่จะเริ่มถ่ายทอดสดตามเวลาที่กำหนดไว้สูงสุด 7 วันนับจากวันที่สร้าง

ในวันที่ 10 มิถุนายน 2024 Meta จะเปิดใช้ข้อกำหนดแบบใหม่ ซึ่งต้องปฏิบัติตามก่อนที่บัญชีจะสามารถเริ่มถ่ายทอดสดบน 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_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"

ตัวอย่างการตอบกลับแบบ JSON

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