جدولة البث

يمكنك استخدام API فيديو البث المباشر لإنشاء عمليات بث فيديو البث المباشر التي سيتم بثها مباشرة في وقت محدد مسبقًا وذلك حتى سبعة أيام كحد أقصى من تاريخ الإنشاء.

في 10 يونيو 2024، ستطلق Meta متطلبات جديدة يجب الوفاء بها قبل أن يتم نشر الحساب على فيسبوك. المتطلبات الجديدة هي كما يلي:

لإنشاء عملية بث فيديو البث المباشر مع تعيين تاريخ بدء في المستقبل لدى مستخدم أو في صفحة أو مجموعة أو حدث، أرسل طلبًا إلى:

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 والصقه في مشغل واجهة التحكم لمعاينة البث.

وعلى الرغم من أن معاينة البث باستخدام مشغّل اختباري تابع لجهة خارجية تُعد طريقة جيدة للتحقق من صحة محتوى البث لديك، إلا أننا نوصيك بإجراء البث على صفحة اختبارية. يجب أن تكون مسؤولاً عن الصفحة أو محررًا لها حتى تتمكّن من بث الصفحة. بالإضافة إلى ذلك، يمكنك تعيين معلمة الخصوصية لإنشاء منشورات بث مرئية لك فقط.

الحصول على عمليات البث المجدولة

للحصول على قائمة بمنشورات البث المجدولة لدى مستخدم أو في صفحة أو حدث، يجب الحصول على رمز وصول صحيح مع الإذن 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

سيتم نشر البث إذا كان عنوان URL للبث المرتبط بكائن 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>
}

راجع أيضًا