يمكنك تضمين جماهير محددة واستبعادها من مشاهدة فيديو البث المباشر لديك.
بالنسبة لمقاطع فيديو البث المباشر في أية صفحة، ستحتاج إلى ما يلي:
CREATE_CONTENT
في الصفحةبالنسبة لمقاطع فيديو البث المباشر في أية مجموعة، ستحتاج إلى ما يلي:
أرسل طلب POST /id
حيث يكون المعرف id
هو معرف LiveVideo، وقم بتعيين الحقل targeting
والمعلمات التابعة له
curl -i -X POST \
"https://graph.facebook.com/LIVE_VIDEO_ID
?targeting={age_min:17, geo_locations:{countries:["US","CA","MX"]}}
&access_token=ACCESS_TOKEN"
{ "targeting": { "age_max": 65, "age_min": 17, "geo_locations": { "countries": [ "US", "CA", "MX" ] } }, "id": "LIVE_VIDEO_ID" }
بالنسبة لمقاطع فيديو البث المباشر في أية صفحة، ستحتاج إلى ما يلي:
CREATE_CONTENT
في الصفحةبالنسبة لمقاطع فيديو البث المباشر في أية مجموعة، ستحتاج إلى ما يلي:
أرسل طلب GET /id
حيث يكون المعرف id
هو معرف LiveVideo مع الحقل targeting
.
curl -i -X GET \
"https://graph.facebook.com/LIVE_VIDEO_ID
?fields=targeting&access_token=ACCESS_TOKEN"
{ "targeting": { "age_max": 65, "age_min": 17, "geo_locations": { "countries": [ "US" "CA", "MX" ] } }, "id": "LIVE_VIDEO_ID" }
يمكن أن يحدث تأخير طفيف قبل البث المباشر أثناء فك تشفير بيانات البث الأولية ومعالجة أي طلبات ذات صلة لواجهة API. ويمكن أن يجعل ذلك من الصعب على المواهب التي تظهر على الهواء معرفة وقت البث بدقة. ولتجنب حدوث هذه المشكلة، يمكن تعيين كائنات LiveVideo لقبول بيانات البث، ولكن لا يتم بثها مباشرة للجماهير حتى يتم اكتشاف رسالة RTMP للبث المباشر داخل بيانات البث نفسها. كما يتيح ذلك لأي شخص قادر على معاينة البث مشاهدته مع السماح لبرنامج تشفير البث بالتحكم بدقة في وقت عرض البث المباشر للجمهور وكذلك الإطار الأول الذي يظهر للجمهور.
لتمكين البث المباشر دقيق الإطارات، أنشئ أولًا كائن LiveVideo كما تفعل عادة وقم بتعيين حالته إلى "معاينة". وبمجرد إنشائه، استعلم عن كائن LiveVideo واطلب الحقل secure_stream_url مع الحقول المتداخلة التالية:
secure_stream_url.inband_go_live(require_inband_signal)
سيؤدي ذلك إلى تمكين البث المباشر دقيق الإطارات بكائن LiveVideo وستستجيب واجهة API مع عنوان URL جديد للبث الآمن والذي يمكنك البث إليه بعد ذلك. ويمكنك تجاهل عنوان url الأولي للبث الآمن الذي تم إرساله إليك عندما أنشأت كائن LiveVideo أول مرة.
سيبدأ البث المباشر ويكون مرئيًا للجمهور بعد (1) تعيين حالة البث إلى "مباشر" (من خلال استدعاء واجهة Graph API أو مستخدم ينشر من Live Producer) و (2) يرسل برنامج التشفير رسالة RTMP للبث المباشر.
حزمة AMF0 (النوع 0x12) التي تحتوي على:
onGoLive
timestamp
لمزيد من المعلومات، يمكنك الرجوع إلى مواصفات RTMP وAMF0.
تتوفر عينة من الطلب لتمكين البث المباشر دقيق الإطارات على LiveVideo.
curl -i -X GET \ "https://graph.facebook.com/v19.0
/LIVE_VIDEO_ID?fields=secure_stream_url.inband_go_live(require_inband_signal)&access_token=12345..."
يتوفر عنوان URL للبث الآمن لكائن LiveVideo مع تمكين البث المباشر دقيق الإطارات.
{ "secure_stream_url": "rtmps://rtmp-pc.facebook.com:443/rtmp/LIVE_VIDEO_ID?s_bl=1&s_gl=1&...", "id": "LIVE_VIDEO_ID" }
اعتبارًا من 25 مايو 2021، سيتم إيقاف استخدام مربع الحوار البث المباشر. ولمزيد من المعلومات، يرجى زيارة منشور المدونة.
لقد أنشأنا مكونًا إضافيًا لجعل عملية دمج واجهة Live API سهلة قدر الإمكان مما يتيح لك المصادقة باستخدام Facebook ومعاينة البث المباشر ووصف البث المباشر من خلال نافذة منبثقة قبل بدء البث المباشر. ويتناسب مربع الحوار هذا جيدًا مع الأشخاص الذين يقومون بالبث من جانب العميل. يجب أن تستمر عمليات الدمج الخلفية في استخدام واجهة API مباشرة.
لبدء نافذة منبثقة تحتوي على عناصر تحكم تحدد مكان توجيه الاستجابة POST
لديك، أدخل الرمز البرمجي التالي.
<button id="liveButton">Create Live Stream To Facebook</button> <script> document.getElementById('liveButton').onclick = function() { FB.ui({ display: 'popup', method: 'live_broadcast', phase: 'create', }, function(response) { if (!response.id) { alert('dialog canceled'); return; } alert('{your-stream-url}:' + response.secure_stream_url); FB.ui({ display: 'popup', method: 'live_broadcast', phase: 'publish', broadcast_data: response, }, function(response) { alert("video status: \n" + response.status); }); }); }; </script>
المعلمات | القيمة | الوصف |
---|---|---|
|
| طريقة فتح مربع الحوار في صفحتك على الويب. |
|
| يتيح لك مربع الحوار في مرحلة الإنشاء إمكانية الحصول على عنوان URL للبث المباشر لتحميل فيديو بينما سيوفر مربع الحوار في مرحلة النشر زر البث المباشر والمعاينة. |
| الاستجابة | تُعد هذه المعلمة هي |
في النافذة المنبثقة لمرحلة إنشاء، اختر وجهة البث المباشر التي يمكن أن تكون في أية صفحات أو مجموعات تديرها. ستتضمن الاستجابة POST
الحقلين stream_url
وsecure_stream_url
. ويمكن تقسيمهما إلى عنوان URL للخادم ومفتاح البث.
يمثل عنوان URL للخادم الجزء الأول من stream_url: rtmp://rtmp-api.facebook.com:80/rtmp/
بينما يمثل مفتاح البث الجزء الآخر من stream_url: 10153307708286557?ds=1&a=AdrRKk4mOaqPbQdxDuk
حقل الاستجابة | المرحلة | الوصف |
---|---|---|
|
| معرف فيديو البث. |
|
| عنوان url لـ rtmp الذي يحتوي على خادم البث ومفتاح البث المُستخدم لتحميل البث المباشر. |
|
| عنوان rtmps url، وهو عنوان URL البث مع بروتوكول آمن. |
|
| قيمة سلسلة تشير إلى حالة البث. |
في جزء من الرمز البرمجي المتوفر لدينا، يتوفر لدينا استدعاء alert
يتضمن stream_url
. يجب على العميل بدء البث باستخدام stream_url
. وبعد بدء عملية البث مباشرة، ستلاحظ ظهور معاينة للبث في النافذة المنبثقة لمرحلة النشر. يمكّن مربع الحوار المستخدمين من اختيار إعدادات الخصوصية دون الحاجة إلى ضبط معلمة الخصوصية الخاصة بالطلب وتعيين علامات وصف فيديو البث المباشر وعنوانه وموضوعه.
ملاحظة: إذا كانت النافذة المنبثقة النشرغير متصلة، فتأكد من أن جدار الحماية الخاص بك لا يحظر RTMP وتأكد من إيقاف تشغيل أي برامج لحظر الإعلانات في المتصفح لديك.
عند النقر على البث المباشر، سيتم إغلاق مربع الحوار وفي غضون بضع ثوانٍ يتم تشغيل البث المباشر على الصفحة أو المجموعة وفقًا للوجهة المختارة.
ويتم إدراج بيانات التعريف في الإطار الأول من فيديو البث المباشر مع أوقات بدء دقيقة الإطارات. ويمكن لبرامج الترميز تنفيذ عدّ تنازلي لتنبيه الناشرين بتوقيت البدء الدقيق للفيديو. ويمكنك أيضًا بدء الفيديو وإيقافه من واجهة Facebook.