تسرد هذه الصفحة التغييرات في YouTube Live Streaming API وتعديلات المستندات. الاشتراك في سجلّ التغيير هذا 
12 يناير 2026
تتيح واجهة برمجة التطبيقات الآن تفعيل الإعلانات أثناء التشغيل والإدراج الآلي للإعلانات أثناء التشغيل في أحداث البث المباشر.
يمكن لمالك البث المباشر اختيار تفعيل "الإعلانات أثناء التشغيل" في البث المباشر طالما أنّ البث المباشر مؤهّل لعرض هذه الإعلانات. يمكن للمالك أيضًا إيقاف الإعلانات أثناء التشغيل في أي وقت.
إذا تم تفعيل "الإعلانات أثناء التشغيل" في بث مباشر، يمكن لمالك البث المباشر اختيار تفعيل الإدراج التلقائي لهذه الإعلانات. ويمكنهم أيضًا إيقاف الإعلانات الآلية في البث المباشر في أي وقت.
عندما يفعّل مالك البث المباشر الإعلانات المبرمَجة، يمكنه اختيار أحد الخيارات التالية:
- السماح لمنصة YouTube بتحسين إدراج "الإعلانات أثناء التشغيل" يتوافق هذا الخيار مع ثلاثة أوضاع:
- "منخفض": إمكانية تحقيق نسبة أقل من الأرباح، وتقديم تجربة مشاهدة أقلّ تقطُّعًا
- متوسط: إمكانية تحقيق مقدار متوسط من الأرباح، وتقديم تجربة مشاهدة متوازنة
- "مرتفع": يزداد احتمال تحقيق الربح ولكن تظهر إعلانات أكثر تقاطع تجربة المشاهدة.
- ضبط استراتيجية إدراج الإعلانات أثناء التشغيل والفاصل الزمني يدويًا في هذه الحالة، على المالك إعداد مَعلمتَين:
- استراتيجية جدولة نقاط إشارات الإعلانات يمكن إدراج نقاط الإشارات بشكل متزامن لجميع المشاهدين أو يمكن أن يختلف توقيت نقاط الإشارات من مشاهد إلى آخر. تتيح الاستراتيجية الأخيرة لـ YouTube جدولة نقاط الإشارات بمعدّل أعلى، ما يسمح للمشاهدين بتلقّي نقاط الإشارات عندما يكونون مؤهّلين لذلك.
- طول الفترة الفاصلة بين فواصل "الإعلانات أثناء التشغيل"
تعكس المستندات التغييرات التالية في واجهة برمجة التطبيقات لإتاحة هذه الميزة:
- يحتوي عنصر
liveBroadcastالموردmonetizationDetailsعلى حقول لتفعيل "الإعلانات أثناء التشغيل" وإعدادات الإعلانات المبرمَجة. - يمكن استخدام طريقة
updateلتفعيل "الإعلانات أثناء التشغيل" أو إيقافها. يمكن استخدام هذه الطريقة أيضًا لإعداد الإعلانات المبرمَجة لبث مباشر. تحدّد المستندات عدة أخطاء جديدة يمكن أن تحدث عند تعديل إعدادات تحقيق الربح والإعلانات الآلية في بث مباشر.
14 يوليو 2025
تم تعديل وصف الطريقة liveChatMessages.streamList لتقديم إرشادات حول استخدامات واجهة برمجة التطبيقات streamList.
9 أكتوبر 2023
للمرجعية فقط، يمكنك الاطّلاع على أرقام تعريف الملصقات المرتبطة بملصقات Super Stickers في ملف CSV هذا.
تم تعديل تعريفَي السمتَين snippet.superStickerDetails.superStickerMetadata.stickerId في المورد liveChatMessage وsnippet.superStickerMetadata.stickerId في المورد superChatEvent لتعكسا هذه المعلومات.
15 سبتمبر 2023
تتيح واجهة برمجة التطبيقات الآن طريقة جديدة لإدراج الإعلانات في البث المباشر. بالإضافة إلى
liveCuepoints، التي تتيح لكم
إدراج فواصل إعلانية يدويًا في البث، يتيح YouTube الآن ميزة إدراج
فواصل إعلانية أثناء التشغيل تلقائيًا في البث على فترات زمنية ثابتة.
إذا فعّل مالك البث المباشر الإعلانات المبرمَجة، يمكنه الاطّلاع على الجوانب التالية من سلوك الإعلانات:
- طول الفترة الفاصلة بين فواصل "الإعلانات أثناء التشغيل"
- استراتيجية جدولة نقاط الإشارات في الإعلانات يمكن إدراج نقاط الإشارات بشكل متزامن لجميع المشاهدين أو يمكن أن يختلف توقيت نقاط الإشارات من مشاهد إلى آخر. تتيح الاستراتيجية الأخيرة لـ YouTube جدولة نقاط الإشارات بمعدّل أعلى يسمح للمشاهدين بتلقّي نقاط الإشارات عندما يكونون مؤهّلين لذلك.
- فترة لا يتم خلالها عرض "الإعلانات أثناء التشغيل"، ويحدّد مالك البث في هذه الميزة أنّ إدراج "الإعلانات أثناء التشغيل" متوقف مؤقتًا حتى وقت معيّن.
تعكس المستندات التغييرات التالية في واجهة برمجة التطبيقات لإتاحة هذه الميزة:
- يحتوي المرجع
liveBroadcastالآن على عنصرmonetizationDetails. تشير حقول العنصر إلى ما إذا كان إدراج الإعلانات تلقائيًا مفعّلاً للبث، وتحدّد معلومات إضافية لجدولة نقاط الإشارات. - تتوافق المَعلمة
partالخاصة بالطريقةliveBroadcast.listمع القيمةmonetizationDetails. - يمكن استخدام الطريقة
updateلإيقاف إدراج الإعلانات أثناء التشغيل مؤقتًا لفترة معيّنة خلال بث مباشر. تحدّد المستندات أيضًا الآن عدة أخطاء يمكن أن تحدث عند تعديل تفاصيل تحقيق الربح من بث مباشر.
1 أغسطس 2023
يتضمّن هذا التحديث التغييرات التالية:
-
لم يعُد يتطلّب استخدام طريقة
liveBroadcasts.updateتحديد قيم للحقول التالية:snippet.titlestatus.privacyStatus
سيؤدي حذف هذه الحقول من الطلب إلى تركها بدون تغيير.
1 تشرين الثاني (نوفمبر) 2022
-
تتيح طريقة
liveBroadcasts.cuepointالجديدة لأي مالك قناة يبث محتوًى مباشرًا على YouTube إدراج نقاط إشارات في هذا البث، ما قد يؤدي إلى بدء فواصل إعلانية. تحلّ هذه الطريقة محل الطريقةliveCuepoints.insertالتي كانت تتيح لشركاء المحتوى في YouTube فقط إدراج نقاط الإشارات في البث المباشر.تم تعديل العديد من الأدلة لتوضيح توفّر هذه الطريقة الجديدة.
-
ملاحظة: هذا إشعار بإيقاف نهائي.
تم إيقاف استخدام الطريقة
liveCuepoints.insertنهائيًا. ستتم إزالة إمكانية استخدام طريقة الدفعliveCuepoints.insertفي 1 مايو 2023 أو بعد هذا التاريخ. على مستخدمي واجهة برمجة التطبيقات تعديل تطبيقاتهم لاستخدام طريقةliveBroadcasts.cuepointبدلاً من ذلك. -
تمت إزالة المستندات الخاصة بالطريقة
liveBroadcasts.control. تم نشر إشعار بإيقاف هذه الطريقة نهائيًا في سبتمبر 2020.
1 أكتوبر 2022
يتضمّن هذا التحديث التغييرات التالية:
-
لم يعُد يتطلّب استخدام طريقة
liveBroadcasts.updateتحديد قيم للحقول التالية:contentDetails.enableContentEncryptioncontentDetails.enableDvrcontentDetails.enableEmbedcontentDetails.recordFromStartcontentDetails.startWithSlate
سيؤدي حذف هذه الحقول من الطلب إلى تركها بدون تغيير.
-
تمت إزالة المحتوى المتعلّق بحقول
liveBroadcastالقديمة:contentDetails.enableContentEncryptioncontentDetails.startWithSlate
1 أبريل 2022
يتضمّن هذا التحديث التغييرات التالية:
-
تتيح السمة
snippet.typeالآن قيمتَين جديدتَين:membershipGiftingEventgiftMembershipReceivedEvent
-
يحتوي العنصر الجديد
snippet.membershipGiftingDetailsفي الموردliveChatMessageوالعناصر الفرعية التابعة له على معلومات حول حدث "إهداء العضوية". وبالمثل، يحتوي العنصر الجديدsnippet.giftMembershipReceivedDetailsوالعناصر الفرعية التابعة له على معلومات حول حدث "العضوية المدفوعة التي تم تلقّيها كهدية".
15 سبتمبر 2021
يتضمّن هذا التحديث التغييرات التالية:
-
تتيح السمة
snippet.typeالآن قيمتَين جديدتَين:newSponsorEventmemberMilestoneChatEvent
-
يحتوي العنصر الجديد
snippet.memberMilestoneChatDetailsفي الموردliveChatMessageوالعناصر الفرعية التابعة له على معلومات حول فعالية "رسالة المحادثة المميّزة الخاصة بالأعضاء". وبالمثل، يحتوي العنصر الجديدsnippet.newSponsorDetailsوالعناصر الفرعية التابعة له على معلومات حول حدث "الراعي الجديد".
1 كانون الأول (ديسمبر) 2020
يتوافق الأسلوب liveBroadcasts.transition في واجهة برمجة التطبيقات مع الخطأ الجديد 403 (Forbidden)، ما يشير إلى أنّ المستخدم أرسل عددًا كبيرًا جدًا من الطلبات خلال إطار زمني معيّن. سبب الخطأ هو userRequestsExceedRateLimit.
21 أيلول (سبتمبر) 2020
-
تم تعديل تعريف السمة
status.madeForKidsالخاصة بموردliveBroadcastلتوضيح أنّ السمة للقراءة فقط. وهذا لا يشير إلى حدوث تغيير في وظائف واجهة برمجة التطبيقات.لتحديد أنّ البث المباشر موجّه إلى الأطفال، اضبط قيمة السمة
status.selfDeclaredMadeForKidsعلىtrueعند استدعاء الطريقةliveBroadcasts.insertلإنشاء البث. -
ملاحظة: يشمل هذا التغيير إعلانًا عن الإيقاف النهائي وتعديلاً على إعلان سابق عن الإيقاف النهائي.
سيتم إيقاف الطريقة
liveBroadcasts.controlنهائيًا في 1 أكتوبر 2020 أو بعد هذا التاريخ. بعد هذا التاريخ، ستعرض جميع الطلبات التي يتم إرسالها إلى هذه الطريقة رسالة خطأ (403)، وسيتم إزالة الطريقة بالكامل لاحقًا. سيظل بإمكان العملاء تنفيذ عملية إضافة لوحات إعلانية خاصة بهم من خلال إضافة طبقة عرض فوق الفيديو المُرسَل إلى خوادم استيعاب المحتوى في YouTube.تم تأجيل تاريخ إيقاف إشعار الإيقاف النهائي الذي تم إصداره في 16 أبريل 2020، والذي كان من المقرر إيقافه نهائيًا في 1 سبتمبر 2020، وسيتم إيقافه نهائيًا في 1 أكتوبر 2020 أو بعد هذا التاريخ. وبالتالي، سيتم إيقاف الميزات المضمّنة في إشعار الإيقاف النهائي وطريقة
liveBroadcasts.controlفي الوقت نفسه.
17 تموز (يوليو) 2020
ملاحظة: هذا تعديل على إشعار سابق بشأن إيقاف الميزة نهائيًا.
لن يعود الحقل cdn.format الخاص بمورد liveStream، والذي تم إيقافه نهائيًا في نيسان (أبريل) 2016، متاحًا اعتبارًا من 17 آب (أغسطس) 2020. واعتبارًا من هذا التاريخ، ستتعذّر الطلبات التي لا تزال تستخدم هذا الحقل.
إذا كان الرمز البرمجي لا يزال يستخدم الحقل cdn.format، يجب تعديله لتحديد عدد اللقطات في الثانية ودقة الشاشة بشكل منفصل باستخدام السمتَين cdn.frameRate وcdn.resolution.
6 تموز (يوليو) 2020
تم تعديل دليل إرسال محتوى YouTube المباشر عبر HLS من خلال إجراء بعض التغييرات:
- تم تعديل المدة المقترَحة لمقطع الوسائط لتتراوح بين ثانية واحدة وأربع ثوانٍ.
- يتضمّن هذا القسم الجديد شرحًا حول كيفية الحصول على عنوان URL لإدخال بيانات HLS من "استوديو صنّاع المحتوى على YouTube".
-
تم نقل التعليمات الخاصة بتنسيق قيمة المَعلمة
fileإلى القسم الجديد إكمال عنوان URL الخاص بعرض المحتوى وفق بروتوكول HLS. تنطبق هذه التعليمات بغض النظر عمّا إذا تم الحصول على عنوان URL الخاص بنقل بيانات HLS من YouTube API أو "استوديو YouTube".
بالإضافة إلى ذلك، تعرض مقارنة بروتوكولات النقل الجديدة بروتوكولات النقل التي يتيحها YouTube، وبرامج الترميز المتوافقة مع كل بروتوكول، ومعلومات إضافية حول حالات الاستخدام المناسبة لكل بروتوكول.
16 نيسان (أبريل) 2020
يتضمّن هذا التحديث موقعًا جديدًا وإشعارًا بإيقاف ميزة نهائيًا:
-
يتيح مصدر
liveBroadcastالآن استخدام السمةcontentDetails.enableAutoStop. تشير السمة إلى ما إذا كان يجب إيقاف البث تلقائيًا بعد حوالي دقيقة واحدة من توقّف مالك القناة عن بث الفيديو على بث الفيديو المرتبط.تم تعديل مستند دورة حياة البث لتوضيح كيفية تغيُّر العملية المفصّلة لإنشاء حدث مباشر على YouTube وإدارته في حال ضبط القيمتين
contentDetails.enableAutoStartأوcontentDetails.enableAutoStopعلىtrue. -
ملاحظة: هذا إشعار بإيقاف نهائي. وستسري هذه التغييرات اعتبارًا من 1 سبتمبر 2020 أو بعد هذا التاريخ. يُشار إلى التاريخ الفعلي الذي تصبح فيه التغييرات سارية المفعول أدناه باسم تاريخ الإيقاف النهائي.
يوضّح هذا التحديث تغييرًا محتملاً قد يؤدي إلى حدوث مشاكل. ويؤثر ذلك في تطبيقات عملاء واجهة برمجة التطبيقات التي تستخدم موارد
liveStreamوliveBroadcastالتلقائية للقنوات لبث محتوى مباشر على YouTube. على وجه التحديد، لن يعمل معرّف البث ومعرّف البث المباشر المرتبطان بالبث المباشر والبث المباشر الدائمين لبدء عمليات بث جديدة.سيتأثر تطبيقك في حال استيفاء أيٍّ مما يلي:
- يتحقّق من قيمة السمة
isDefaultBroadcastالخاصة بالمرجعliveBroadcast. لن يتم عرض هذه السمة بعد تاريخ الإيقاف النهائي. - يتحقّق من قيمة السمة
isDefaultStreamالخاصة بالمرجعliveStream. لن يتم عرض هذه السمة بعد تاريخ الإيقاف النهائي. - يتم استدعاء الطريقة
liveBroadcasts.listويتم ضبط قيمة المَعلمةbroadcastTypeعلىpersistentأوall. سيتم إيقاف هذه المَعلمة نهائيًا كجزء من هذه التغييرات. اعتبارًا من تاريخ الإيقاف النهائي:- إذا كانت قيمة المَعلمة
broadcastTypeهيpersistent، لن تعرض الطريقةliveBroadcasts.listأي نتائج. - إذا كانت قيمة المَعلمة
broadcastTypeهيall، لن تعرض الطريقةliveBroadcasts.listعمليات البث المستمرة التي كانت متاحة قبل ذلك الوقت.
- إذا كانت قيمة المَعلمة
في السنوات القليلة الماضية، كان YouTube ينشئ تلقائيًا بثًا تلقائيًا وبثًا تلقائيًا لقناة معيّنة عند تفعيل ميزة البث المباشر فيها. كانت البث المباشر التلقائي متاحًا إلى أجل غير مسمى، ولم يكن مرتبطًا بوقت بدء أو انتهاء، ولم يكن من الممكن حذفه. وبالمثل، تم اعتبار البث التلقائي مستمرًا. كانت هذه السمة متوفّرة دائمًا ولم تكن مرتبطة بحدث معيّن.
اعتبارًا من تاريخ الإيقاف النهائي:
- لن ينشئ YouTube أحداث بث مباشر وفيديوهات بث مباشر تلقائية بعد الآن. بدلاً من الاعتماد على الموارد التلقائية، يجب أن يتمكّن عملاء واجهة برمجة التطبيقات من إنشاء موارد
liveBroadcastوliveStreamوإدارتها وربط هذه الموارد ببعضها. - إذا كان البث التلقائي والقناة التلقائية للبث المباشر في قناة معيّنة نشطَين، أي أنّ القناة تستخدمهما لبث مباشر عند بدء سريان الإيقاف النهائي، لن يتأثّر البث المباشر الجاري. ومع ذلك، بعد انتهاء هذا البث، لن تتمكّن القناة من استخدام البث التلقائي والبث المباشر التلقائي مرة أخرى.
- إذا لم يكن البث التلقائي والقناة التلقائية في بث مباشر، سيتجاهل YouTube أي محاولات لاستخدام هذه الموارد لبث الفيديو بعد أن يصبح الإيقاف النهائي ساريًا.
إذا كان تطبيقك متأثرًا بهذا التغيير، يُرجى الرجوع إلى المستندات التالية التي ستساعدك في تعديل تطبيقك لكي يظل يعمل على النحو المتوقّع بعد إجراء هذا التغيير:
- يحاول دليل نقل البيانات الجديد شرح الخطوات التي قد يحتاج المطوّرون إلى اتّخاذها في برامج واجهة برمجة التطبيقات التي تستخدم حاليًا عمليات البث والتدفقات التلقائية.
- يرشدك دليل رحلة البث إلى الخطوات اللازمة لإنشاء حدث مباشر وإدارته على YouTube. توضّح كل خطوة طلبات البيانات من واجهة برمجة التطبيقات أو الإجراءات الأخرى التي عليك اتّخاذها لإكمال إجراء معيّن، وسيحتاج تطبيقك إلى اتّباع هذه العملية عندما يتوقف YouTube عن إتاحة عمليات البث المباشر وعمليات البث التلقائية.
- يتحقّق من قيمة السمة
31 آذار (مارس) 2020
ملاحظة: هذا إشعار بإيقاف نهائي.
تم إيقاف المورد sponsor والدالة sponsors.list نهائيًا واستبدالهما بالمورد member والدالة members.list.
لن تتوفّر طريقة sponsors.list في 30 أيلول (سبتمبر) 2020 أو بعد هذا التاريخ.
على عملاء واجهة برمجة التطبيقات تعديل طلبات البيانات إلى الطريقة sponsors.list لاستخدام الطريقة members.list بدلاً منها. يُرجى الاطّلاع على
سِجل النُسخ السابقة لـ YouTube Data API للحصول على مزيد من المعلومات
حول المرجع الجديد.
11 آذار (مارس) 2020
تم تعديل قسم نقطة نهاية الاستيعاب في دليل عرض محتوى YouTube المباشر باستخدام بروتوكول HLS لتوضيح العملية التي يجب أن يستخدمها برنامج الترميز لإكمال قيمة المَعلمة file= عند إنشاء عناوين URL الأساسية والاحتياطية للاستيعاب.
4 شباط (فبراير) 2020
تم تعديل دليل عرض محتوى YouTube المباشر باستخدام بروتوكول HLS للإشارة إلى أنّ طلبات DELETE اختيارية وأنّ نقطة نهاية HLS في YouTube تتجاهلها. لأسباب تتعلّق بالأداء، ينصح YouTube العملاء بعدم إرسال طلبات DELETE.
10 يناير 2020
تتيح واجهة برمجة التطبيقات الآن إمكانية تحديد المحتوى الموجّه إلى الأطفال، والذي يصنّفه YouTube على أنّه "محتوى مخصّص للأطفال". مزيد من المعلومات حول المحتوى "المخصّص للأطفال" في "مركز مساعدة YouTube"
-
يتيح المرجع
liveBroadcastاستخدام سمتَين جديدتَين لمساعدة صنّاع المحتوى والمشاهدين في تحديد المحتوى "المخصّص للأطفال":-
تتيح السمة
selfDeclaredMadeForKidsلصنّاع المحتوى تحديد ما إذا كان البث المباشر موجّهًا إلى الأطفال. يمكن ضبط هذه السمة عند إنشاء بث باستخدام الطريقةliveBroadcasts.insert. يُرجى العِلم أنّ هذه السمة يتم تضمينها فقط في ردود واجهة برمجة التطبيقات التي تحتوي على مواردliveBroadcastإذا كان مالك القناة قد سمح بطلب بيانات من واجهة برمجة التطبيقات. -
تتيح السمة
madeForKidsلأي مستخدم لواجهة برمجة التطبيقات استرداد حالة البث المباشر "محتوى مخصّص للأطفال". على سبيل المثال، يمكن تحديد الحالة استنادًا إلى قيمة السمةselfDeclaredMadeForKids. يمكنك الانتقال إلى مركز مساعدة YouTube للحصول على مزيد من المعلومات حول كيفية تحديد الجمهور المستهدف لقناتك أو فيديوهاتك أو أحداث البث المباشر.
-
تتيح السمة
-
في YouTube Data API، يتيح المرجع
channelأيضًا استخدام السمتَين الجديدتَينselfDeclaredMadeForKidsوmadeForKids.
عدّلنا أيضًا بنود الخدمة وسياسات مطوّري البرامج الخاصة بخدمات YouTube API. يُرجى الاطّلاع على بنود خدمة YouTube API - سجلّ المراجعات للحصول على مزيد من المعلومات. سيتم تطبيق التغييرات على "بنود خدمة YouTube API" و"سياسات المطوّرين" في 10 يناير 2020 بتوقيت المحيط الهادئ.
20 أغسطس 2019
تم تعديل قسم المتطلبات في دليل عرض محتوى البث المباشر على YouTube باستخدام HLS من خلال إجراء تغييرَين:
- ويوضح أنّ من أفضل الممارسات تضمين كل من المقاطع التي تم تأكيد استلامها والمقاطع المعلقة في كل قائمة تشغيل وسائط. يقلّل هذا الإجراء من احتمال تخطّي مقطع إذا فقدت قائمة تشغيل الوسائط من جهة الخادم. على سبيل المثال، يمكنك تضمين ما يصل إلى شريحتَين تم تأكيد استلامهما وما يصل إلى خمس شرائح معلّقة في كل قائمة تشغيل وسائط.
- أصبح من المتطلّبات الآن إرسال قائمة تشغيل وسائط لكل جزء من الوسائط. يتيح ذلك للخادم استرداد البيانات بسرعة في حال فقدان قائمة تشغيل الوسائط. كانت هذه الممارسة مُدرَجة سابقًا كاقتراح.
28 حزيران (يونيو) 2019
يتيح YouTube الآن إدخال محتوى بتنسيق HLS. وبناءً على ذلك، تتوافق السمة ingestionType الخاصة بمورد liveStream مع القيمة الجديدة hls لتحديد عمليات البث التي يتم إدخالها إلى YouTube باستخدام HLS.
يقدّم الدليل الجديد بث المحتوى المباشر على YouTube باستخدام بروتوكول HLS إرشادات حول استخدام بروتوكول HLS لبث المحتوى المباشر إلى YouTube من برنامج ترميز. يهدف الدليل إلى مساعدة مورّدي برامج الترميز في إضافة إمكانية عرض محتوى HLS إلى منتجاتهم.
4 نيسان (أبريل) 2019
يتضمّن هذا التحديث التغييرات التالية:
-
تم تعديل مستندات مرجع واجهة برمجة التطبيقات لتوضيح حالات الاستخدام الشائعة لكل طريقة بشكل أفضل وتقديم عيّنات تعليمات برمجية ديناميكية وعالية الجودة من خلال أداة مستكشف واجهات برمجة التطبيقات. يمكنك الاطّلاع على مستندات طريقة
liveBroadcasts.listللحصول على مثال. تتضمّن الصفحات التي تصف طرق واجهة برمجة التطبيقات عنصرَين جديدَين:-
تتيح لك أداة "مستكشف واجهات برمجة التطبيقات" اختيار نطاقات التفويض وإدخال قيم نموذجية للمعلمات والسمات، ثم إرسال طلبات فعلية إلى واجهة برمجة التطبيقات والاطّلاع على الردود الفعلية من واجهة برمجة التطبيقات. توفّر الأداة أيضًا عرضًا بملء الشاشة يعرض عيّنات الرموز البرمجية الكاملة، والتي يتم تعديلها ديناميكيًا لاستخدام النطاقات والقيم التي أدخلتها.
-
يصف قسم حالات الاستخدام الشائعة حالة استخدام شائعة واحدة أو أكثر للطريقة الموضّحة في الصفحة. على سبيل المثال، يمكنك استدعاء الطريقة
liveBroadcasts.listلاسترداد بيانات حول بث مباشر معيّن أو لاسترداد بيانات حول عمليات البث المباشر للمستخدم الحالي.يمكنك استخدام الروابط في هذا القسم لملء "أداة استكشاف واجهات برمجة التطبيقات" بقيم نموذجية لحالة الاستخدام أو لفتح "أداة استكشاف واجهات برمجة التطبيقات" بملء الشاشة مع القيم التي تم ملؤها مسبقًا. تهدف هذه التغييرات إلى تسهيل الاطّلاع على نماذج الرموز التي يمكن تطبيقها مباشرةً على حالة الاستخدام التي تحاول تنفيذها في تطبيقك.
تتوفّر حاليًا عيّنات الرموز البرمجية للغات Java وJavaScript وPHP وPython وcurl.
-
-
تتضمّن صفحة عينات الرموز أيضًا واجهة مستخدم جديدة توفّر كل الميزات نفسها الموضّحة أعلاه. باستخدام هذه الأداة، يمكنك استكشاف حالات استخدام الطرق المختلفة، وتحميل القيم إلى "مستكشف واجهات برمجة التطبيقات"، وفتح "مستكشف واجهات برمجة التطبيقات" بملء الشاشة للحصول على نماذج التعليمات البرمجية بلغات Java وJavaScript وPHP وPython.
بالتزامن مع هذا التغيير، تمت إزالة الصفحات التي كانت تعرض سابقًا عيّنات التعليمات البرمجية المتاحة للغات Java وPHP وPython.
25 شباط (فبراير) 2019
تم تعديل مستندات المرجع liveChatMessage والمرجع superChatEvent لتوضيح أنّه يمكن أن يحتوي كلا المرجعين الآن على معلومات حول Super Stickers. Super Stickers هي نوع من رسائل Super Chat التي تعرض صورة. مثل رسائل Super Chat الأخرى، يشتري المعجبون رسائل Super Stickers أثناء أحداث البث المباشر على YouTube.
- في مورد
liveChatMessage، تم الآن ضبط السمةsnippet.typeعلىsuperStickerEventللإشارة إلى أنّ المورد يتضمّن معلومات حول ملصق Super Sticker. في هذه الحالة، يحتوي المصدر أيضًا على العنصرsnippet.superStickerDetailsالذي يتضمّن معلومات إضافية حول "الملصق العجيب". - في مرجع
superChatEvent، يشير القيمة المنطقيةsnippet.isSuperStickerEventإلى ما إذا كانت رسالة Super Chat هي أيضًا ملصق Super Stickers. في هذه الحالة، يحتوي العنصرsnippet.superStickerMetadataعلى تفاصيل إضافية حول Super Sticker.
5 أبريل 2018
تم تعديل وصف الطريقة superChatEvents.list ليعكس حقيقة أنّ استجابة واجهة برمجة التطبيقات لم تعُد تتضمّن fanFundingEvents، والتي تم إيقافها نهائيًا في أوائل عام 2017.
3 نيسان (أبريل) 2017
تمت إضافة نماذج رموز Java جديدة توضّح كيفية إدراج رسائل المحادثة المباشرة وإضافتها وحذفها. تستدعي النماذج الطرق التالية:
13 فبراير 2017
يتضمّن هذا التحديث التغييرات التالية:
-
تعديلات على المراجع والأساليب الحالية
-
تم تعديل الطريقة
liveCuepoints.insertلتوضيح أنّ المَعلمةonBehalfOfContentOwnerمطلوبة حاليًا. بالإضافة إلى ذلك، تم تعديل وصف الطريقة للإشارة إلى أنّه يجب أن يتم تفويض طلبات البيانات إلى هذه الطريقة من خلال حساب مرتبط بمالك محتوى على YouTube.
-
9 فبراير 2017
يتضمّن هذا التحديث التغييرات التالية:
-
تعديلات على المراجع والأساليب الحالية
-
تتيح لك المَعلمة الجديدة
hlفي الطريقةsuperChatEvents.listتحديد أنّه يجب تنسيق قيمة السمةsnippet.displayStringوفقًا لاتفاقيات لغة معيّنة. تم أيضًا تعديل تعريف هذه السمة وفقًا لذلك.يجب أن تكون قيمة المَعلمة رمز لغة مضمّنًا في القائمة التي تعرضها الطريقة
i18nLanguages.list. القيمة التلقائية هيen، ما يعني أنّ السلوك التلقائي هو تنسيق سلاسل العرض كما سيتم استخدامها باللغة الإنجليزية. على سبيل المثال، يتم تلقائيًا تنسيق السلسلة على النحو$1.00بدلاً من$1,00.
-
1 فبراير 2017
يتضمّن هذا التحديث التغييرات التالية:
-
المراجع والطرق الجديدة
-
يمثّل المورد الجديد
superChatEventرسالة Super Chat اشتراها أحد المعجبين خلال بث مباشر على YouTube. في المحادثة المباشرة على YouTube، تتميّز رسائل Super Chat عن الرسائل الأخرى بطريقتين:- يتم تمييز رسائل Super Chat بلون.
- تبقى رسائل Super Chat مثبّتة على شريط الدردشة لفترة زمنية محّددة.
يتم تحديد لون رسالة Super Chat ومدة تثبيتها على شريط الدردشة والحد الأقصى لطول الرسالة حسب مبلغ الشراء. يتضمّن مركز مساعدة YouTube المزيد من المعلومات حول ميزة Super Chat.
تتيح واجهة برمجة التطبيقات طريقة لإدراج أحداث Super Chat في أحداث البث المباشر التي أجرتها قناة خلال آخر 30 يومًا. تعرض هذه الطريقة أيضًا بيانات حول أحداث "التمويل من المعجبين" (
fanFundingEvents) من آخر بث مباشر على القناة.
-
-
تعديلات على المراجع والأساليب الحالية
-
تتيح السمة
snippet.typeالآن القيمةsuperChatEvent، ما يشير إلى أنّ المرجع يصف رسالة Super Chat.بالإضافة إلى ذلك، يحتوي العنصر الجديد
snippet.superChatDetailsفي الموردliveChatMessageوالعناصر التابعة له على معلومات حول حدث Super Chat. -
تتيح السمة
cdn.resolutionالخاصة بالمرجعliveStreamالآن القيمة2160p.
-
-
الأخطاء الجديدة والمعدَّلة
-
تتيح واجهة برمجة التطبيقات الأخطاء الجديدة التالية:
تفاصيل الخطأ liveBroadcasts.insert،liveBroadcasts.updateتعرض الطريقتان liveBroadcasts.insertوliveBroadcasts.updateالخطأ400(Bad Request) للإشارة إلى أنّ موردliveBroadcastالذي يتم إدراجه أو تعديله يحتوي على قيمة غير صالحة للخاصيةcontentDetails.enableEmbedأو الخاصيةcontentDetails.projection. أسباب الخطأَين الجديدَين هيinvalidEmbedSettingوinvalidProjectionعلى التوالي.
-
12 يناير 2017
ملاحظة: هذا إشعار بإيقاف نهائي.
بالتزامن مع إطلاق ميزة Super Chat الجديدة، أوقف YouTube ميزة "التمويل من المعجبين"، وسيتم إيقاف واجهة برمجة التطبيقات الخاصة بها في 28 فبراير 2017. واعتبارًا من ذلك التاريخ:
- لن يعرض الإجراء
liveChatMessages.listبعد الآن الرسائل التي تتضمّنsnippet.typeبقيمةfanFundingEvent. وبالمثل، لن تحتوي مراجعliveChatMessageعلى العنصرsnippet.fanFundingEventDetails. - لن تعرِض الطريقة
fanFundingEvents.listالبيانات بعد الآن.
11 أغسطس 2016
يتضمّن هذا التحديث التغييرات التالية:
-
توفّر بنود الخدمة الجديدة الخاصة بخدمات YouTube API ("بنود الخدمة المعدَّلة")، والتي تمّت مناقشتها بالتفصيل في مدوّنة "هندسة YouTube" و"مطوّرو البرامج"، مجموعة كبيرة من التعديلات على بنود الخدمة الحالية. بالإضافة إلى البنود المعدَّلة التي ستصبح سارية اعتبارًا من 10 فبراير 2017، يتضمّن هذا التعديل العديد من المستندات الداعمة للمساعدة في شرح السياسات التي يجب أن يلتزم بها المطوّرون.
يمكنك الاطّلاع على المجموعة الكاملة من المستندات الجديدة في سِجل النُسخ السابقة لبنود الخدمة المعدَّلة. بالإضافة إلى ذلك، سيتم أيضًا توضيح التغييرات المستقبلية على "البنود المعدَّلة" أو المستندات الداعمة في سِجل النُسخ السابقة هذا. يمكنك الاشتراك في خلاصة RSS تعرض التغييرات في سجلّ النُسخ السابقة هذا من خلال رابط في هذا المستند.
20 مايو 2016
يتيح YouTube الآن إدخال بيانات DASH. وبناءً على ذلك، تتوافق السمة ingestionType الخاصة بمورد liveStream مع القيمة الجديدة dash لتحديد عمليات البث التي تمّت إضافتها إلى YouTube باستخدام DASH.
يقدّم الدليل الجديد إرسال محتوى مباشر على YouTube باستخدام DASH إرشادات حول استخدام تنسيق DASH Delivery لبث البيانات المباشرة على YouTube من برنامج ترميز. وهي تهدف إلى مساعدة مورّدي برامج الترميز على إضافة إمكانية عرض محتوى DASH إلى منتجاتهم.
18 أبريل 2016
يتضمّن هذا التحديث التغييرات التالية:
-
تعديلات على المراجع والأساليب الحالية
liveStreamتحديثات الموارد-
يتيح YouTube الآن أحداث البث بدقة 1440p وبسرعة 30 أو 60 إطارًا في الثانية.
بالإضافة إلى ذلك، يحتوي المورد
liveStreamعلى سمات جديدة لتحديد عدد اللقطات في الثانية ودقة بيانات الفيديو الواردة:الخصائص cdn.frameRateعدد اللقطات في الثانية لبيانات الفيديو الواردة القيم الصالحة هي 30fpsو60fps.cdn.resolutionتمثّل هذه السمة درجة دقة بيانات الفيديو الواردة. قيم السمة الصالحة هي: 1440pو1080pو720pو480pو360pو240p. -
بموجب طرح السمتَين
cdn.frameRateوcdn.resolutionللمرجعliveStream، تم إيقافcdn.formatالمرجع نهائيًا. تحدّد السمةcdn.formatدرجة الدقة ومعدّل عرض الإطارات في قيمة واحدة.ننصحك بالانتقال إلى الحقول المتوافقة حديثًا. في الوقت الحالي، يواصل
cdn.formatعمله. بالإضافة إلى ذلك، تنجح حاليًا طلبات إدراج أحداث البث المباشر طالما أنّك تحدّد قيمًا للسمةcdn.formatأو السمتَينcdn.frameRateوcdn.resolution. في حال تقديم قيم لجميع الخصائص الثلاث، قد تعرض واجهة برمجة التطبيقات خطأً إذا كانت القيم غير متوافقة.يُرجى العِلم أنّه على الرغم من إيقاف السمة
cdn.formatنهائيًا، إلا أنّها تتيح الآن استخدام قيمتَين جديدتَين،1440pو1440p_hfr، للإشارة إلى أنّ واجهة برمجة التطبيقات تتيح بث المحتوى بدقة 1440p بمعدّل 30 أو 60 إطارًا في الثانية.
-
liveBroadcastتحديثات الموارد-
يحتوي مرجع
liveBroadcastعلى السمات الجديدة التالية:الخصائص contentDetails.boundStreamLastUpdateTimeMsيمثّل هذا الحقل تاريخ ووقت آخر تعديل للبث المباشر المشار إليه في السمة contentDetails.boundStreamIdالخاصة بالبث.contentDetails.projectionتمثّل هذه السمة تنسيق العرض الخاص بالبث. القيمة التلقائية للسمة هي rectangular. القيم الصالحة للسمة هي360وrectangular. -
تم تعديل تعريف السمة
statistics.totalChatCountالخاصة بالمرجعliveBroadcastللإشارة إلى أنّ قيمة السمة لا تظهر إلا إذا كان البث المباشر يتضمّن رسالة محادثة واحدة على الأقل.
-
liveChatMessageتحديثات الموارد-
تتيح السمة
snippet.typeقيمتَين جديدتَين، هماmessageDeletedEventوuserBannedEvent، تتوافقان مع السمتَين الجديدتَين الموضّحتَين في النقطة التالية. تم أيضًا تعديل تعريف السمةsnippet.authorChannelIdلتوضيح ما تحدّده قيمة السمة لأنواع الرسائل الجديدة هذه. -
يحتوي مرجع
liveChatMessageعلى السمات الجديدة التالية:الخصائص snippet.messageDeletedDetailsيحتوي هذا العنصر على معلومات حول رسالة حذفها مشرف في المحادثة. لا يظهر العنصر إلا إذا كانت قيمة السمة snippet.typeهيmessageDeletedEvent.snippet.userBannedDetailsيحتوي هذا العنصر على معلومات حول مستخدم تم حظره من المشاركة في المحادثة. يحتوي العنصر أيضًا على معلومات حول الحظر نفسه، أي ما إذا كان الحظر دائمًا أو مؤقتًا. إذا كان الحظر مؤقتًا، تحدّد إحدى سمات العنصر مدة الحظر.
لا يظهر هذا العنصر إلا إذا كانت قيمة السمةsnippet.typeهيuserBannedEvent.
-
-
الأخطاء الجديدة والمعدَّلة
-
تتيح واجهة برمجة التطبيقات الأخطاء الجديدة التالية:
تفاصيل الخطأ liveBroadcasts.bindتعرض الطريقة liveBroadcasts.bindالخطأ403(Forbidden) للإشارة إلى أنّ المستخدم أرسل عددًا كبيرًا جدًا من الطلبات خلال إطار زمني محدّد. سبب الخطأ هوuserRequestsExceedRateLimit.
تتيح الطريقتانliveBroadcasts.insertوliveBroadcasts.updateالخطأ نفسه.liveStreams.insertتتيح الطريقة liveStreams.insertأربعة أخطاء جديدة400(Bad Request) تحدّد قيمة غير صالحة للخاصية في الموردliveStreamالذي حاول الطلب إدراجه. تحدّد القائمة التالية أسباب الخطأ والسمات المرتبطة بها:
invalidFormat:cdn.formatinvalidFrameRate:cdn.frameRateinvalidIngestionType:cdn.ingestionTypeinvalidResolution:cdn.resolution
liveStreams.insertتتيح الطريقة liveStreams.insertظهور خطأين جديدين من النوع400(Bad Request)، يشير كل منهما إلى عدم توفّر قيمة مطلوبة في الموردliveStreamالذي حاول الطلب إدراجه. تحدّد القائمة التالية أسباب الخطأ والسمات المرتبطة بها:
frameRateRequired:cdn.frameRateresolutionRequired:cdn.resolution
liveStream، يجب تحديد قيمة للسمةcdn.formatأو للسمتَينcdn.frameRateوcdn.resolution.
- تعرض واجهة برمجة التطبيقات الخطأ
formatRequiredإذا لم تحدّد قيمة لأي من الخصائص الثلاث. - تعرض واجهة برمجة التطبيقات الخطأ
frameRateRequiredإذا حدّدت قيمةcdn.resolutionولكن لم تحدّدcdn.frameRate. - تعرض واجهة برمجة التطبيقات الخطأ
resolutionRequiredإذا حدّدت قيمةcdn.frameRateولكن لم تحدّدcdn.resolution.
liveStreams.updateتعرض الطريقة liveStreams.updateالخطأ403(Forbidden) إذا حاولت الطلبات تعديل قيمة أي من الخصائص غير القابلة للتغيير التالية:cdn.formatcdn.frameRatecdn.ingestionTypecdn.resolution
reasonفي الردّ الذي يشير إلى حدوث خطأ هيliveStreamModificationNotAllowed.
-
18 ديسمبر 2015
تتطلّب قوانين الاتحاد الأوروبي تقديم بيانات إفصاح معيّنة والحصول على موافقات من المستخدِمين النهائيين في الاتحاد الأوروبي. لذلك، يجب الالتزام بسياسة موافقة المستخدم في الاتحاد الأوروبي بالنسبة إلى المستخدمين النهائيين في الاتحاد الأوروبي. لقد أضفنا إشعارًا بهذا الشرط في بنود خدمة YouTube API.
17 ديسمبر 2015
يتضمّن هذا التحديث التغييرات التالية:
-
المراجع والطرق الجديدة
-
تتيح واجهة برمجة التطبيقات العديد من الموارد الجديدة لدعم وظيفة الدردشة في البث المباشر. يتيح YouTube وظيفة المحادثة المباشرة أثناء أحداث البث المباشر النشطة، وتتيح هذه المراجع وطرقها استرداد رسائل المحادثة بالإضافة إلى وظائف إدارية للمحادثة.
الموارد liveChatMessageيمثّل هذا المرجع رسالة في محادثة مباشرة على YouTube. يتيح YouTube عدة أنواع من الرسائل، بما في ذلك الرسائل النصية وأحداث "تمويل المعجبين". تحدّد بعض أنواع الرسائل مرحلة معيّنة من المحادثة، مثل بداية فترة مخصّصة للأعضاء فقط أو نهاية المحادثة. تتيح واجهة برمجة التطبيقات طرقًا لعرض رسائل المحادثة المباشرة وإدراجها وحذفها. liveChatModeratorsيحدّد هذا المورد مشرفًا على المحادثة. يمكن للمشرفين تنفيذ بعض الوظائف الإدارية، مثل حظر المستخدمين من الدردشة أو إزالة الرسائل. تتيح واجهة برمجة التطبيقات طرقًا لإدراج المشرفين على المحادثة المباشرة وإضافتهم وحذفهم. liveChatBansيحدّد هذا المرجع مستخدمًا محظورًا من نشر رسائل في محادثة مباشرة معيّنة. يمكن أن تكون عمليات الحظر مؤقتة أو دائمة. تتيح واجهة برمجة التطبيقات طرقًا لإضافة عمليات حظر في المحادثة المباشرة وحذفها. fanFundingEventsيمثّل هذا المورد فعالية "التمويل من المعجبين" على قناة على YouTube. توفّر ميزة "التمويل من المعجبين" للمشاهدين طريقة لدعم صنّاع المحتوى على YouTube طوعًا من خلال تقديم مساهمات مالية لمرة واحدة.
تعرض طريقةfanFundingEvents.listفي واجهة برمجة التطبيقات أحداث "التمويل من المعجبين" في قناة معيّنة. تؤدي أحداث "تمويل المعجبين" التي يتم بدؤها من خلال محادثة مباشرة أثناء بث مباشر تملكه القناة أيضًا إلى ظهور رسالةfanFundingEventفي المحادثة المباشرة للبث.
يمكنك الاطّلاع على مزيد من المعلومات حول ميزة "تمويل المعجبين" في مركز مساعدة YouTube.sponsorsيمثّل مرجع sponsorراعيًا لقناة على YouTube. يدفع الراعي رسومًا شهرية للقناة. تظهر شارة بجانب رسائل الجهة الراعية في المحادثات المباشرة على القناة، ويمكن للجهات الراعية أيضًا المشاركة في المحادثات المباشرة الحصرية للجهات الراعية في القناة، إذا كانت متاحة.
تعرض طريقةsponsors.listفي واجهة برمجة التطبيقات قائمة بالرعاة في قناة معيّنة. عندما يشترك المستخدمون في رعاية قناة أثناء بث مباشر تملكه هذه القناة، تضيف واجهة برمجة التطبيقات أيضًا رسالةnewSponsorEventإلى المحادثة المباشرة للبث.
يمكنك الاطّلاع على مزيد من المعلومات حول عروض الرعاية في مركز مساعدة YouTube.
-
-
تعديلات على المراجع والأساليب الحالية
-
يحتوي مرجع
liveBroadcastعلى السمات الجديدة التالية:الخصائص snippet.liveChatIdتمثّل هذه السمة معرّف المحادثة المباشرة على YouTube الخاصة بالبث. باستخدام هذا المعرّف، يمكنك استخدام طرق المورد liveChatMessageلاسترداد رسائل المحادثة أو إدراجها أو حذفها. يمكنك أيضًا إضافة مشرفين إلى المحادثة أو إزالتهم، أو حظر المستخدمين من المشاركة في المحادثات المباشرة، أو إزالة عمليات الحظر الحالية.contentDetails.closedCaptionsTypeملاحظة: تحلّ هذه السمة محلّ السمة contentDetails.enableClosedCaptions.
تشير هذه السمة إلى ما إذا كانت ميزة "الترجمة والشرح" مفعّلة في البث المباشر، وإذا كان الأمر كذلك، تشير إلى نوع مقاطع الترجمة والشرح التي تقدّمها:-
closedCaptionsDisabled: ميزة "الترجمة والشرح" غير مفعَّلة للبث المباشر. closedCaptionsHttpPost: سترسل الترجمة والشرح، من خلال HTTP POST، إلى عنوان URL خاص بالاستيعاب مرتبط بالبث المباشر.-
closedCaptionsEmbedded: سيتم ترميز مقاطع الترجمة والشرح في بث الفيديو باستخدام تنسيقات EIA-608 و/أو CEA-708.
contentDetails.enableClosedCaptionsتم إيقاف هذه السمة نهائيًا اعتبارًا من 17 ديسمبر 2015. بدلاً من ذلك، استخدِم السمة contentDetails.closedCaptionsType. بالنسبة إلى عملاء واجهة برمجة التطبيقات الذين يستخدمون هذا الموقع حاليًا:- ضبط قيمة السمة على
trueيعادل ضبط السمةcontentDetails.closedCaptionsTypeعلىclosedCaptionsHttpPost. - ضبط قيمة السمة على
falseيعادل ضبط السمةcontentDetails.closedCaptionsTypeعلىclosedCaptionsDisabled.
-
-
تتيح لك المَعلمة الجديدة
broadcastTypeفي الطريقةliveBroadcasts.listفلترة ردّ واجهة برمجة التطبيقات لتضمين عمليات بث الأحداث أو عمليات البث الدائمة أو جميع عمليات البث.البث الثابت هو بث متوفّر دائمًا وغير مرتبط بحدث معيّن. على وجه التحديد، البث التلقائي للقناة هو بث دائم، ويمكن الوصول إليه من خلال لوحة التحكّم بالبث المباشر في "استوديو صنّاع المحتوى" في YouTube. عمليات البث الأخرى على القناة هي عمليات بث أحداث.
-
-
يُبلغ حقل
status.healthStatus.configurationIssues[].typeالخاص بموردliveStreamعن أخطاء جديدة في حالة السلامة على النحو التالي:الأخطاء audioTooManyChannelsيتضمن الصوت أكثر من قانتين في حين يمكن استخدام قناة (أحادية) واحدة أو قناتين (استريو) فقط. يرجى تصحيح عدد القنوات الصوتية. frameRateHighإنّ عدد اللقطات في الثانية الحالي مرتفع جدًا. يُرجى ضبط عدد اللقطات في الثانية على أو أقل.%(framerate)s -
تم تصحيح تاريخ نشر آخر تعديل للمستندات.
-
الأخطاء الجديدة والمعدَّلة
-
بالإضافة إلى الأخطاء المحدّدة للموارد الجديدة المذكورة أعلاه، تتيح واجهة برمجة التطبيقات الأخطاء الجديدة التالية:
تفاصيل الخطأ liveBroadcasts.updateرمز استجابة HTTP forbidden (403)السبب closedCaptionsTypeModificationNotAllowedالوصف لا يمكن تعديل قيمة contentDetails.closedCaptionsTypeإلا عندما تكون حالة البث المباشرcreatedأوready.liveBroadcasts.updateرمز استجابة HTTP invalidValue (400)السبب invalidEnableClosedCaptionsالوصف في مورد liveBroadcast، تكون قيمة السمة contentDetails.enableClosedCaptionsغير متوافقة مع قيمة الإعدادcontentDetails.closedCaptionType. عدِّل المرجع ليتضمّن إحدى السمتَين فقط، ثم أعِد إرسال الطلب.
-
19 أغسطس 2015
يتضمّن هذا التحديث التغييرات التالية:
-
المراجع والطرق الجديدة
-
ملاحظة: إنّ مستندات مرجع
liveChatوطُرقها سرية ولا يمكن الاطّلاع عليها إلا لشركاء محدّدين في YouTube.يحتوي مورد
liveChatالجديد على تعليق تم نشره أثناء بث مباشر على YouTube. تتيح واجهة برمجة التطبيقات طريقتَين لهذا المرجع:الطُرق liveChats.listتعرض هذه الطريقة قائمة برسائل المحادثة المباشرة لبث. liveChats.insertأنشِئ رسالة محادثة جديدة. لا يمكن استرداد رسائل المحادثة المباشرة ونشرها إلا أثناء بث مباشر.
-
-
تعديلات على المراجع والأساليب الحالية
-
يحتوي مرجع
liveStreamعلى السمات الجديدة التالية:الخصائص snippet.isDefaultStreamتحدّد هذه السمة ما إذا كان هذا البث هو البث التلقائي للقناة. يتوفّر البث التلقائي للقناة إلى أجل غير مسمّى، ولا يرتبط بوقت بدء أو انتهاء، ولا يمكن حذفه. اطّلِع على تعريف الموقع لمعرفة المزيد من المعلومات عن طريقة عمل مصادر البيانات التلقائية. status.healthStatusيحتوي هذا العنصر على معلومات يمكن استخدامها لتحديد مشاكل البث وتشخيصها وحلّها. يحتوي العنصر على عدد من الخصائص الفرعية لمساعدتك في تقييم حالة بث فيديو مباشر.
على وجه الخصوص، يسرد العنصرstatus.healthStatus.configurationIssues[]المشاكل التي تؤثر في بث فيديو مباشر. يتضمّن مستند جديد بعنوان مشاكل الإعداد لموارد البث المباشر جميع المشاكل التي تبلغ عنها واجهة برمجة التطبيقات.contentDetails.isReusableتُستخدَم لتحديد ما إذا كان يمكن إعادة استخدام البث، ما يعني أنّه يمكن ربطه بعمليات بث متعددة. من الشائع أن يعيد المذيعون استخدام البث نفسه في العديد من عمليات البث المختلفة إذا كانت عمليات البث هذه تحدث في أوقات مختلفة. -
يحتوي مرجع
liveBroadcastعلى السمات الجديدة التالية:الخصائص snippet.isDefaultBroadcastتحدّد هذه السمة ما إذا كان هذا البث هو البث التلقائي للقناة. عند تفعيل ميزة البث المباشر في قناة على YouTube، ينشئ YouTube بثًا مباشرًا وعرضًا تقديميًا تلقائيًا للقناة. يحدّد البث الطريقة التي يرسل بها مالك القناة فيديو مباشرًا إلى YouTube، ويحدّد البث التلفزيوني الطريقة التي يمكن للمشاهدين من خلالها مشاهدة البث التلقائي. راجِع تعريف السمة للحصول على مزيد من المعلومات حول طريقة عمل عمليات البث التلقائية. contentDetails.enableLowLatencyتحدّد هذه السمة ما إذا كان يجب ترميز هذا البث ليتوافق مع البث المباشر بزمن استجابة منخفض. يمكن أن يقلّل البث بزمن استجابة منخفض الوقت الذي يستغرقه ظهور الفيديو للمستخدمين الذين يشاهدون بثًا مباشرًا، ولكن يمكن أن يؤثّر أيضًا في دقة الفيديو للمشاهدين. statistics.totalChatCountإجمالي عدد رسائل المحادثة المباشرة المرتبطة بالبث تتوفّر السمة وقيمتها إذا كان البث مرئيًا للمستخدم وكانت ميزة المحادثة المباشرة مفعَّلة. يُرجى العِلم أنّ هذه السمة لن تحدّد قيمة بعد انتهاء البث. وبالتالي، لن تحدّد هذه السمة عدد رسائل المحادثة لفيديو مؤرشف لبث مباشر مكتمل.
-
-
الأخطاء الجديدة والمعدَّلة
-
بالإضافة إلى الأخطاء المحدّدة لمورد
liveChatالجديد، تتيح واجهة برمجة التطبيقات الخطأ الجديد التالي:تفاصيل الخطأ liveStreams.updateرمز استجابة HTTP forbidden (403)السبب liveStreamModificationNotAllowedالوصف لا تسمح لك واجهة برمجة التطبيقات بتغيير مجموعة بث قابلة لإعادة الاستخدام إلى مجموعة غير قابلة لإعادة الاستخدام، أو العكس. لمزيد من المعلومات، اطّلِع على التعرّف على البث المباشر.
-
21 مايو 2015
يتضمّن هذا التحديث التغييرات التالية:
-
يتيح YouTube الآن بث الفيديو المباشر بسرعة 60 لقطة في الثانية، ما يعني تشغيلًا أكثر سلاسة للألعاب وغيرها من الفيديوهات التي تتضمّن مشاهد سريعة. عند بدء بث مباشر على YouTube بمعدّل 60 إطارًا في الثانية، يتيح YouTube أيضًا مشاهدة البث بمعدّل 30 إطارًا في الثانية على الأجهزة التي لا تتوفّر فيها بعد إمكانية المشاهدة بمعدّل إطارات مرتفع.
يتيح الموقع
liveStreamاستخدام قيمتين جديدتين لهذه الميزة في الموقعcdn.format:720p_hfrو1080p_hfr.يمكنك الاطّلاع على مدوّنة صنّاع المحتوى في YouTube للحصول على مزيد من المعلومات حول هذه الميزة.
21 أغسطس 2014
يتضمّن هذا التحديث التغييرات التالية:
-
تم تعديل تعريف المَعلمة
walltimeالخاصة بالطريقةliveBroadcasts.controlللإشارة إلى أنّ قيمة السمة يتم تحديدها بالتنسيق ISO 8601 (YYYY-MM-DDThh:mm:ss.sssZ). -
تتيح واجهة برمجة التطبيقات الآن الأخطاء التالية:
نوع الخطأ تفاصيل الخطأ الوصف insufficientPermissionsliveStreamingNotEnabledتعرض جميع طرق الموارد liveBroadcastوliveStreamهذا الخطأ إذا لم يتم السماح للمستخدم الذي سمح بطلب البيانات من واجهة برمجة التطبيقات ببث فيديو مباشر على YouTube. قد تتوفّر تفاصيل توضّح سبب عدم إمكانية بث الفيديو المباشر في إعدادات قناة المستخدم على https://www.youtube.com/features.rateLimitExceededuserRequestsExceedRateLimitتعرض الطريقتان liveBroadcasts.insertوliveStreams.insertهذا الخطأ للإشارة إلى أنّ المستخدم أرسل عددًا كبيرًا جدًا من الطلبات خلال إطار زمني محدّد.
2 مايو 2014
يتضمّن هذا التحديث التغييرات التالية:
-
تم تعديل أوصاف المورد
liveStreamوالطريقةliveBroadcasts.bindللإشارة إلى أنّه يمكن ربط بث مباشر واحد بمجموعة بث فيديو واحدة فقط، ولكن يمكن ربط مجموعة بث فيديو بأكثر من بث مباشر واحد. هذا التغيير هو مجرد تصحيح للمستندات، ولم تتغير وظيفة واجهة برمجة التطبيقات الأساسية. -
تم تعديل الخاصية
contentDetails.monitorStream.enableMonitorStreamالخاصة بالمرجعliveBroadcastلتوضيح أنّه إذا كانت قيمة الخاصية هيtrue، عليك نقل البث إلى الحالةtestingقبل نقله إلى الحالةlive. (إذا كانت قيمة السمةfalse، لا يمكن أن تتضمّن عملية البث مرحلةtesting، لذا يمكنك نقل عملية البث مباشرةً إلى الحالةlive. -
تم تعديل الخاصية
settings.offsetTimeMsالخاصة بالموردliveCuepointللإشارة إلى أنّه يجب عدم تحديد قيمة للخاصية إذا لم يكن البث يتضمّن بثًا مراقبًا. -
تتيح جميع طرق الموارد
liveBroadcastوliveStreamالآن استخدام المَعلمتَينonBehalfOfContentOwnerوonBehalfOfContentOwnerChannel. تتيح لك هذه المَعلمات استخدام بيانات اعتماد التفويض نفسها لإكمال طلبات البيانات من واجهة برمجة التطبيقات لقنوات مختلفة مرتبطة بمالك المحتوى نفسه. -
تم تعديل مستندات طريقة
liveCuepoints.insertللإشارة إلى أنّه يمكنك ضبط قيمة للسمةsettings.walltimeعند استدعاء هذه الطريقة. -
تحدّد مستندات الخطأ الآن رمز استجابة HTTP لكل نوع من أنواع الخطأ.
-
تتيح واجهة برمجة التطبيقات الآن الخطأ التالي:
نوع الخطأ تفاصيل الخطأ الوصف insufficientPermissionslivePermissionBlockedتعرض الطرق liveBroadcasts.insertوliveBroadcasts.transitionوliveStreams.insertهذا الخطأ إذا كان المستخدم الذي منح الإذن بالطلب غير قادر على بث فيديو مباشر على YouTube. قد تتوفّر تفاصيل توضّح سبب عدم إمكانية بث الفيديو المباشر في إعدادات قناة المستخدم على https://www.youtube.com/features. -
تم تعديل الخطأ
invalidScheduledStartTimeفي الطريقةliveBroadcasts.insertلتوضيح أنّه يجب أن يكون وقت البدء المجدوَل قريبًا بما يكفي من التاريخ الحالي كي يمكن جدولة البث بشكل موثوق في ذلك الوقت.
13 ديسمبر 2013
يتضمّن هذا التحديث التغييرات التالية:
-
تحدّد السمة
status.recordingStatusالجديدة في المرجعliveBroadcastالحالة الحالية للبث. -
تشير السمة
contentDetails.enableClosedCaptionsالجديدة الخاصة بموردliveBroadcastإلى ما إذا كان يمكن إدخال مقاطع الترجمة والشرح للبث. يمكن ضبط قيمة السمة عند إدراج بث أو تعديله، ولكن لا يمكن تعديلها بعد أن يصبح البث في الحالةtestingأوlive. إذا ضبطت هذه السمة علىtrue، سيحدّد المرجعliveStreamالمرتبط بالبث عنوان URL الخاص بالاستيعاب الذي سيتم استخدامه لملفات الترجمة والشرح في البث. -
يتيح الآن العنصر
liveBroadcastاستخدام السمةsnippet.scheduledEndTimeمع البث المباشر الذي من المقرّر أن يستمر إلى أجل غير مسمى. بموجب هذا التغيير، لم تعُد السمة مطلوبة في طلباتliveBroadcasts.insertوliveBroadcasts.update.
إذا استرجعت موردliveBroadcastلا يحدّد قيمة لهذه السمة، سيتم تحديد موعد استمرار البث إلى أجل غير مسمى. وبالمثل، إذا استدعيت الطريقةliveBroadcasts.insertأوliveBroadcasts.updateولم تحدّد قيمة لهذه السمة، سيتم تحديد موعد لمواصلة البث إلى أجل غير مسمى. -
لا يمكن الآن ضبط السمة
contentDetails.recordFromStartالخاصة بالموردliveBroadcast، والتي كانت تتضمّن القيمة التلقائيةtrue، إلا علىfalseإذا كانت القناة الباثة مخوّلة إيقاف التسجيلات للبث المباشر.إذا لم يكن لدى قناتك الإذن بإيقاف التسجيلات، وحاولت إدراج بث مع ضبط قيمة السمة
recordFromStartعلىfalse، ستعرض واجهة برمجة التطبيقات الخطأForbidden. بالإضافة إلى ذلك، إذا لم تكن قناتك تملك هذا الإذن وحاولت تعديل بث مباشر لضبط قيمة السمةrecordFromStartعلىfalse، ستعرض واجهة برمجة التطبيقات الخطأmodificationNotAllowed. -
لم يعُد المرجع
liveBroadcastيحتوي على السمةenableArchiveالتي تمّت الإشارة إليها في أوصاف السمتَينcontentDetails.enableDvrوcontentDetails.enableEmbed. -
تم تعديل قائمة القيم الصالحة للسمة
status.lifeCycleStatusالخاصة بموردliveBroadcastلتتضمّن وصفًا لكل حالة. -
تحدّد السمة
settings.walltimeالجديدة الخاصة بالموردliveCuepointالتاريخ والوقت اللذين يجب إدراج نقطة الإشارة فيهما. تعرض واجهة برمجة التطبيقات خطأ إذا حاول طلب إدراج نقطة إشارة تحدّد قيمة لهذه السمة وللسمةsettings.offsetTimeMs. -
يحتوي عنصر
contentDetailsالجديد في موردliveStreamعلى معلومات حول البث. في الوقت الحالي، السمة الوحيدة للعنصر هيcontentDetails.closedCaptionsIngestionUrl، والتي تحدّد عنوان URL الخاص باستيعاب الترجمة والشرح المرتبطين ببث الفيديو. -
تم تعديل قائمة القيم الصالحة للسمة
status.streamStatusالخاصة بموردliveStreamلتتضمّن وصفًا لكل حالة. -
تتيح لك المَعلمة الجديدة
walltimeفي الطريقةliveBroadcasts.controlتحديد التاريخ والوقت اللذين سيحدث فيهما تغيير في اللوحة. تعرض واجهة برمجة التطبيقات خطأً إذا حدّد طلب قيمة لهذه المَعلمة وللمَعلمةoffsetTimeMs. -
في الردّ من واجهة برمجة التطبيقات على طلب
liveBroadcasts.list، تم تغيير قيمة السمةkindمنyoutube#liveBroadcastListإلىyoutube#liveBroadcastListResponse. -
في الردّ من واجهة برمجة التطبيقات على طلب
liveStreams.list، تم تغيير قيمة السمةkindمنyoutube#liveStreamListإلىyoutube#liveStreamListResponse. -
تم إيقاف السمة
eventIdنهائيًا من كلّ منliveBroadcastListResponseوliveStreamListResponse. -
تتيح واجهة برمجة التطبيقات الأخطاء الجديدة التالية:
نوع الخطأ تفاصيل الخطأ الوصف invalidValueconflictingTimeFieldsتعرض الطريقة liveBroadcasts.controlهذا الخطأ إذا كان طلبك يحدّد قيمًا للمَعلمتَينoffsetTimeMsوwalltime. يمكن أن يتجاهل الطلب كلتا المَعلمتَين أو يحدّد قيمة لإحداهما.invalidValueinvalidWalltimeتعرض الطريقة liveBroadcasts.controlهذا الخطأ إذا كانت قيمة المَعلمةwalltimeغير صالحة.forbiddenenableClosedCaptionsModificationNotAllowedتعرض الطريقة liveBroadcasts.updateهذا الخطأ إذا حاولت تعديل قيمةcontentDetails.enableClosedCaptionsوكانت حالة البث المباشر ليستcreatedأوready.invalidValueconflictingTimeFieldsتعرض الطريقة liveCuepoints.insertهذا الخطأ إذا كان طلبك يحدّد قيمًا للسمتَينsettings.offsetTimeMsوsettings.walltime. يمكن أن يحذف الطلب كلتا السمتين أو يحدّد قيمة لإحدى السمتين.بالإضافة إلى ذلك، لم تعُد الطريقة
liveStreams.updateتتيح ظهور الخطأcdnRequiredالمشابه للخطأ الذي تتيحه الطريقةliveStreams.insert.
10 مايو 2013
يتضمّن هذا التحديث التغييرات التالية:
-
لم يعُد YouTube يحدّد الميزات والخدمات التجريبية في واجهة برمجة التطبيقات. بدلاً من ذلك، نوفّر الآن قائمة بواجهات برمجة تطبيقات YouTube التي تخضع لسياسة الإيقاف النهائي.
2 مايو 2013
يتضمّن هذا التحديث التغييرات التالية:
-
تتيح لك طريقة
liveBroadcasts.controlالجديدة تفعيل أو إيقاف إعدادات العرض للوحة إعلانية تظهر في بث مباشر جارٍ. إذا تم تأخير بثك، يمكنك أيضًا استخدام هذه الطريقة لتحديد إزاحة زمنية عند حدوث تغيير اللوحة الإعلانية المطلوب. -
تم تعديل تعريفات السمات التالية لتوضيح أنّه يجب ضبط قيم السمات في حال تعديل الجزء
contentDetailsمن الموردliveBroadcast: -
لم يعُد الحقل
status.streamStatusفي موردliveStreamيتيح استخدام القيمةdeletedكحالة محتملة للبث. -
تمت مراجعة المعلومات التي تعرضها واجهة برمجة التطبيقات للعديد من رسائل الخطأ من أجل توضيح سبب حدوث أخطاء معيّنة بشكل أفضل. تتيح واجهة برمجة التطبيقات أيضًا عدة أخطاء جديدة.
27 مارس 2013
يتضمّن هذا التحديث التغييرات التالية:
-
تغيّرت السمات التالية في المورد
liveBroadcast:- تمت إعادة تسمية الموقع
startWithSlateCuepointليصبحstartWithSlate. - تمت إعادة تسمية الموقع
enableArchiveليصبحrecordFromStart. - تم إيقاف العنصر
slateSettingsنهائيًا وإزالته من المستندات. تم أيضًا إزالة رسائل الخطأ المتعلّقة بالكائنslateSettingsأو سماته. أخيرًا، تمت إزالة قسم "عرض اللوحات" من دليل البدء.
- تمت إعادة تسمية الموقع
-
لم تعُد واجهة برمجة التطبيقات تتيح إمكانية إدراج لوحات إعلانية أثناء عرض الفيديو باستخدام الطريقة
liveCuepoints.insert. تم تحديث المستندات التالية لتعكس هذا التغيير:-
لم تعُد صفحة الفهرس ودليل البدء والدليل التعليمي دورة حياة البث تشير إلى هذه الوظيفة.
-
لم تعُد السمة
settings.cueTypeالخاصة بالمرجعliveCuepointتتيح استخدامslateكقيمة للسمة. (القيمة الوحيدة المسموح بها هيad. -
تم إيقاف السمة
settings.eventStateللموردliveCuepointنهائيًا وإزالتها من المستندات.
-
18 مارس 2013
يتضمّن هذا التحديث التغييرات التالية:
-
تم تعديل جميع رسائل الخطأ في واجهة برمجة التطبيقات لتوضيح الأخطاء المحتملة بشكل أفضل، وتقديم إرشادات حول كيفية إصلاحها عند الإمكان.
-
قد تعرض واجهة برمجة التطبيقات الآن عدة أخطاء جديدة. تحدّد القائمة أدناه الخطأ وطريقة واجهة برمجة التطبيقات التي قد تعرض هذا الخطأ:
liveBroadcasts.insert: يجب أن يكون وقت انتهاء البث المباشر المُجدوَل بعد وقت بدء البث المباشر المُجدوَل.-
liveBroadcasts.insert: يحدّد البث حالة خصوصية غير صالحة. liveBroadcasts.update: لا يحتوي المرجع على قيمة للسمةcontentDetails.enableArchiveأو لم يتم ضبط قيمة لها.liveBroadcasts.update: لا يحتوي المرجع على قيمة للسمةcontentDetails.enableContentEncryptionأو لم يتم ضبط قيمة لها.liveBroadcasts.update: لا يحتوي المرجع على قيمة للسمةcontentDetails.enableDvrأو لم يتم ضبط قيمة لها.liveStreams.insert– يجب أن يتراوح طول عنوان المقتطف بين حرف واحد و128 حرفًا.liveStreams.update: لا يحتوي المرجع على قيمة للسمةsnippet.titleأو لم يتم ضبط قيمة لها.
-
تم تعديل مستندات
liveStreamالموارد لتوضيح أنّ البث المتعدد وWebM ليسا من طرق نقل البيانات غير المتاحة كما كان موضحًا سابقًا. تم تعديل قائمة التنسيقات الخاصة بالسمةcdn.formatوفقًا لذلك، وتمت إزالة العنصرcdn.multicastIngestionInfoوسماته الفرعية من مستندات المرجع. بالإضافة إلى ذلك، تمت إزالةhttpمن قائمة قيمcdn.ingestionTypeالمسموح بها.