نظرة عامة
هذا الدليل مُعد لمطوّري برامج تطبيقات واجهة برمجة التطبيقات الذين يستخدمون موارد liveStream
وliveBroadcast
الافتراضية في قنوات YouTube لبث المحتوى المباشر. والهدف من ذلك هو مساعدتك على ضمان معالجة التطبيق بشكل
سلس لإيقاف البث الافتراضي وعمليات البث الافتراضية. وإذا كان التطبيق تنطبق عليه أي من العبارات التالية:
- تتحقّق من قيمة السمة
للمورد
liveBroadcast
isDefaultBroadcast
. - تتحقّق من قيمة السمة
للمورد
liveStream
isDefaultStream
. تستدعي هذه الطريقة طريقة
liveBroadcasts.list
وتضبط قيمة معلمةbroadcastType
علىpersistent
. اعتبارًا من تاريخ الإيقاف:- إذا كانت قيمة المعلَمة
broadcastType
هيpersistent
، لن تعرض طريقةliveBroadcasts.list
أي نتائج. - إذا كانت قيمة المعلَمة
broadcastType
هيall
، لن تعرض الطريقةliveBroadcasts.list
عمليات البث المتواصلة التي كانت موجودة قبل ذلك الوقت.
- إذا كانت قيمة المعلَمة
إذا كان طلبك متأثرًا بذلك، يُرجى الرجوع إلى قسم تحديث التطبيق، الذي يفسّر التغييرات الإجرائية التي قد يحتاجها تطبيقك لإجراء هذا الإيقاف. يحدّد هذا القسم الخطوات المحدّدة في دليل مدة البث التي قد لا يتبعها عادةً عميل واجهة برمجة التطبيقات إذا كان يستخدم البث والبث التلقائيَين حاليًا.
ما الذي يحدث؟
منذ العام 2015، أنشأت منصة YouTube تلقائيًا بثًا تلقائيًا وبثًا تلقائيًا لقناة عندما كانت ميزة البث المباشر مفعّلة فيها. كانت مجموعة البث التلقائية موجودة إلى أجل غير مسمى وتعذر حذفها. وبالمثل، تم اعتبار البث التلقائي على أنه دائم. وهي موجودة دائمًا، وليس لها وقت بدء أو وقت انتهاء مرتبط بها، ولا ترتبط بحدث معين.
اعتبارًا من تاريخ الإيقاف المذكور أعلاه، لن تنشئ منصّة YouTube مجموعات البث وعمليات البث التلقائية. ويؤثر هذا التغيير على تطبيقات العميل التي تعتمد على هذه الموارد لبث المحتوى المباشر. وسيؤثر هذا الإجراء أيضًا في التطبيقات التي يتم فيها تخصيص واجهة المستخدم للتمييز بين هذه الموارد الافتراضية وعمليات البث وعمليات البث الأخرى التي أنشأها مالكو القناة.
بدلاً من الاعتماد على الموارد التلقائية، على برامج واجهة برمجة التطبيقات إنشاء موارد liveBroadcast
وliveStream
وإدارتها وربط هذه الموارد معًا.
جارٍ تحديث طلبك
لمراجعة المصطلحات بسرعة، يمثل البث حدثًا يمكن مشاهدته على YouTube فور حدوثه، أما البث فهو آلية إرسال محتوى الفيديو الفعلي إلى YouTube. ويمكن أن يكون البث مرتبطًا ببث واحد فقط.
الترحيل من مجموعات البث التلقائية
قبل الإيقاف، كان بإمكان عملاء واجهة برمجة التطبيقات الاختيار بين استخدام البث التلقائي للقناة أو إنشاء بث مخصّص للحدث. كان البث الافتراضي موردًا دائمًا يمكن إعادة استخدامه لعدة أحداث، في حين أن مورد البث المتعلق بالحدث هو مورد يستخدم لمرة واحدة ويتوافق تمامًا مع مقطع فيديو YouTube واحد.
يستخدم تطبيق العميل البث التلقائي إذا استدعى الطريقة liveBroadcasts.list
وينفّذ أيًا مما يلي:
- وهي تضبط قيمة المعلَمة
broadcastType
علىpersistent
. يسترد هذا الطلب البث الافتراضي فقط. - فهي تضبط قيمة المعلَمة
broadcastType
علىall
، ثم تحدد موردliveBroadcast
في استجابة واجهة برمجة التطبيقات التي تكون فيها قيمة الخاصيةisDefaultBroadcast
هيtrue
.
بعد الإيقاف، لن يدعم YouTube سوى عمليات البث الخاصة بالأحداث.
ويعني ذلك أنه بدلاً من الاعتماد على البث التلقائي، ستحتاج تطبيقات العميل إلى إنشاء موارد liveBroadcast
لكل حدث بث فردي.
لإنشاء مورد liveBroadcast
، عليك استدعاء طريقة
liveBroadcasts.insert
.
يتم شرح هذه العملية في الخطوة 1.1 من دليل "فترة البث".
إذا لم تكن واجهة برمجة التطبيقات مناسبة لذلك، يجب أن توفّر واجهة المستخدم آليات للمستخدمين تتيح لهم التمييز بين عمليات البث القادمة الخاصة بالأحداث والاختيار منها.
الترحيل من مجموعات البث التلقائية
يمكّنك البث من نقل محتوى الفيديو الصوتي إلى YouTube، ويحدد إعدادات كيفية بث المحتوى إلى YouTube. من الشائع بالنسبة إلى جهات البث إعادة استخدام البث نفسه للعديد من عمليات البث المختلفة إذا كانت تتم عمليات البث هذه في أوقات مختلفة.
على الرغم من أن التطبيق لا يمكنه استخدام البث التلقائي، يمكنه إنشاء بث قابل لإعادة الاستخدام يمكن إعادة استخدامه في كل عملية بث. لإنشاء مورد liveStream
،
عليك استدعاء طريقة liveStreams.insert
من خلال اتّباع التعليمات الواردة في الخطوة 1.2 من دليل "مدة البث". بشكل تلقائي، يمكن إعادة استخدام أحداث البث التي تم إنشاؤها حديثًا. ويمكنك، إذا أردت، ضبط السمة
contentDetails.isReusable
على false
لإنشاء أحداث بث صالحة للاستخدام لمرّة واحدة، كما أنّ هناك علاقة بين شخص وآخر.
تحتوي القائمة التالية على الخصائص الأربع، إلى جانب عنوان البث ووصف البث، اللذين يمكنك ضبطهما عند إنشاء بث جديد. تعرض القائمة القيم التي تستخدمها ساحات المشاركات التلقائية لكل موقع، وهي على الأرجح الإعدادات التي قد ترغب في استخدامها في تطبيق عميل في حال كنت ترحل عن استخدام مجموعات البث التلقائية.
cdn.frameRate
-variable
cdn.ingestionType
-rtmp
cdn.resolution
-variable
contentDetails.isReusable
-true
ربط عمليات البث بساحات المشاركات
يجب ربط كل مورد liveBroadcast
ببث واحد فقط
قبل أن يبدأ البث المباشر على YouTube. (لا يتم ربط البث بأي مجموعات بث
في وقت إنشائها.)
تم التعامل مع عملية الربط تلقائيًا مع البث الافتراضي، الذي كان مرتبطًا بدرجة كبيرة بالبث الافتراضي. ولكن بعد تاريخ الإيقاف، على تطبيقات العملاء إدارة هذه العملية لكل عمليات البث.
لربط عملية بث بالبث، عليك اتّباع طريقة
liveBroadcasts.bind
كما هو
موضّح في الخطوة 1.3 من دليل
"فترة البث".
- إذا كنت تستخدم بثًا قابلاً لإعادة الاستخدام، يمكنك إنشاء بث مرة واحدة ثم ربط كل عملية بث بهذا البث.
- إذا لم تكن تستخدم بثًا قابلاً لإعادة الاستخدام، عليك إنشاء بث وبث، ثم ربطهما معًا.
اختبار البث
عند عدم استخدام البث الافتراضي، يمكنك اختبار البث. لإجراء اختبار، يمكنك تضمين مشغل يتيح لك معاينة فيديو البث كما يظهر لمشاهدي YouTube، ولكن البث غير مرئي للمشاهدين الآخرين.
إذا استخدم عميل API سابقًا البث والبث التلقائيَين وأردت إضافة مرحلة اختبار إلى عملية البث، يمكنك الاطّلاع على المرحلة 3 من دليل "مدة البث".
إذا أردت اختبار البث، يجب ضبط الخاصية contentDetails.monitorStream.enablemonitorStream
على true
واستخدام السمة contentDetails.enableAutoStart عند
إدراج بث، وذلك عند إدراج البث. هذه هي القيم الافتراضية لكلا الموقعين.
استخدام ميزتي البدء التلقائي والإيقاف التلقائي
بدأ البث الافتراضي تلقائيًا كلما بدأت بث الفيديو عبر البث الافتراضي. وبالمثل، انتهى البث الافتراضي بعد إيقاف بث الفيديو. كل جلسة بث تستخدم هذه الموارد الافتراضية تصبح بعد ذلك فيديو في قناتك.
على الرغم من أن ميزتي التشغيل التلقائي والإيقاف التلقائي كانتا هي السلوك الافتراضي لعمليات البث الافتراضية،
أصبحت هذه الميزات اختيارية ويجب تمكينها للبث
الآخر. وإذا أردت استخدام هاتين الميزتين، يجب إدراج قيمتي contentDetails.enableAutoStart وcontentDetails.enableAutoStop
عند إدراج عملية بث عند إضافتها. true
هذه الميزات مستقلة، لذا يمكنك اختيار استخدام إحداهما بدلاً من الأخرى.
إذا لم يتم تمكين ميزتي البدء التلقائي والإيقاف التلقائي لعمليات البث الجديدة، يجب على عميل واجهة برمجة التطبيقات استدعاء طريقة liveBroadcasts.transit لتحديث حالة البث عند بدء بث الفيديو وإنهائه. في دليل "فترة البث"، راجع الخطوة 4.3 والخطوة 5.2 للحصول على إرشادات حول إدارة عمليات النقل هذه في بداية البث ونهايته.