واجهة برمجة تطبيقات البث المباشر على YouTube - سجل المراجعة

تسرد هذه الصفحة التغييرات في YouTube Live Streaming API وتعديلات المستندات. الاشتراك في سجلّ التغيير هذا اشتراك

‫12 يناير 2026

تتيح واجهة برمجة التطبيقات الآن تفعيل الإعلانات أثناء التشغيل والإدراج الآلي للإعلانات أثناء التشغيل في أحداث البث المباشر.

يمكن لمالك البث المباشر اختيار تفعيل "الإعلانات أثناء التشغيل" في البث المباشر طالما أنّ البث المباشر مؤهّل لعرض هذه الإعلانات. يمكن للمالك أيضًا إيقاف الإعلانات أثناء التشغيل في أي وقت.

إذا تم تفعيل "الإعلانات أثناء التشغيل" في بث مباشر، يمكن لمالك البث المباشر اختيار تفعيل الإدراج التلقائي لهذه الإعلانات. ويمكنهم أيضًا إيقاف الإعلانات الآلية في البث المباشر في أي وقت.

عندما يفعّل مالك البث المباشر الإعلانات المبرمَجة، يمكنه اختيار أحد الخيارات التالية:

  • السماح لمنصة YouTube بتحسين إدراج "الإعلانات أثناء التشغيل" يتوافق هذا الخيار مع ثلاثة أوضاع:
    • "منخفض": إمكانية تحقيق نسبة أقل من الأرباح، وتقديم تجربة مشاهدة أقلّ تقطُّعًا
    • متوسط: إمكانية تحقيق مقدار متوسط من الأرباح، وتقديم تجربة مشاهدة متوازنة
    • "مرتفع": يزداد احتمال تحقيق الربح ولكن تظهر إعلانات أكثر تقاطع تجربة المشاهدة.
  • ضبط استراتيجية إدراج الإعلانات أثناء التشغيل والفاصل الزمني يدويًا في هذه الحالة، على المالك إعداد مَعلمتَين:
    1. استراتيجية جدولة نقاط إشارات الإعلانات يمكن إدراج نقاط الإشارات بشكل متزامن لجميع المشاهدين أو يمكن أن يختلف توقيت نقاط الإشارات من مشاهد إلى آخر. تتيح الاستراتيجية الأخيرة لـ YouTube جدولة نقاط الإشارات بمعدّل أعلى، ما يسمح للمشاهدين بتلقّي نقاط الإشارات عندما يكونون مؤهّلين لذلك.
    2. طول الفترة الفاصلة بين فواصل "الإعلانات أثناء التشغيل"

تعكس المستندات التغييرات التالية في واجهة برمجة التطبيقات لإتاحة هذه الميزة:

  • يحتوي عنصر 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.title
    • status.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.enableContentEncryption
    • contentDetails.enableDvr
    • contentDetails.enableEmbed
    • contentDetails.recordFromStart
    • contentDetails.startWithSlate

    سيؤدي حذف هذه الحقول من الطلب إلى تركها بدون تغيير.

  • تمت إزالة المحتوى المتعلّق بحقول liveBroadcast القديمة:

    • contentDetails.enableContentEncryption
    • contentDetails.startWithSlate

‫1 أبريل 2022

يتضمّن هذا التحديث التغييرات التالية:

  • تتيح السمة snippet.type الآن قيمتَين جديدتَين:

    • membershipGiftingEvent
    • giftMembershipReceivedEvent
  • يحتوي العنصر الجديد snippet.membershipGiftingDetails في المورد liveChatMessage والعناصر الفرعية التابعة له على معلومات حول حدث "إهداء العضوية". وبالمثل، يحتوي العنصر الجديد snippet.giftMembershipReceivedDetails والعناصر الفرعية التابعة له على معلومات حول حدث "العضوية المدفوعة التي تم تلقّيها كهدية".

‫15 سبتمبر 2021

يتضمّن هذا التحديث التغييرات التالية:

  • تتيح السمة snippet.type الآن قيمتَين جديدتَين:

    • newSponsorEvent
    • memberMilestoneChatEvent
  • يحتوي العنصر الجديد 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 من خلال إجراء بعض التغييرات:

بالإضافة إلى ذلك، تعرض مقارنة بروتوكولات النقل الجديدة بروتوكولات النقل التي يتيحها 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. واعتبارًا من ذلك التاريخ:

‫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 الذي حاول الطلب إدراجه. تحدّد القائمة التالية أسباب الخطأ والسمات المرتبطة بها:
      liveStreams.insert تتيح الطريقة liveStreams.insert ظهور خطأين جديدين من النوع 400 (Bad Request)، يشير كل منهما إلى عدم توفّر قيمة مطلوبة في المورد liveStream الذي حاول الطلب إدراجه. تحدّد القائمة التالية أسباب الخطأ والسمات المرتبطة بها:
      وعلى وجه التحديد، عند إدراج مرجع liveStream، يجب تحديد قيمة للسمة cdn.format أو للسمتَين cdn.frameRate و cdn.resolution.
      • تعرض واجهة برمجة التطبيقات الخطأ formatRequired إذا لم تحدّد قيمة لأي من الخصائص الثلاث.
      • تعرض واجهة برمجة التطبيقات الخطأ frameRateRequired إذا حدّدت قيمة cdn.resolution ولكن لم تحدّد cdn.frameRate.
      • تعرض واجهة برمجة التطبيقات الخطأ resolutionRequired إذا حدّدت قيمة cdn.frameRate ولكن لم تحدّد cdn.resolution.
      liveStreams.update تعرض الطريقة liveStreams.update الخطأ 403 (Forbidden) إذا حاولت الطلبات تعديل قيمة أي من الخصائص غير القابلة للتغيير التالية: قيمة 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
      رمز استجابة HTTPforbidden (403)
      السببclosedCaptionsTypeModificationNotAllowed
      الوصفلا يمكن تعديل قيمة contentDetails.closedCaptionsType إلا عندما تكون حالة البث المباشر created أو ready.
      liveBroadcasts.update
      رمز استجابة HTTPinvalidValue (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
      رمز استجابة HTTPforbidden (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).

  • تتيح واجهة برمجة التطبيقات الآن الأخطاء التالية:

    نوع الخطأ تفاصيل الخطأ الوصف
    insufficientPermissions liveStreamingNotEnabled تعرض جميع طرق الموارد liveBroadcast وliveStream هذا الخطأ إذا لم يتم السماح للمستخدم الذي سمح بطلب البيانات من واجهة برمجة التطبيقات ببث فيديو مباشر على YouTube. قد تتوفّر تفاصيل توضّح سبب عدم إمكانية بث الفيديو المباشر في إعدادات قناة المستخدم على https://www.youtube.com/features.
    rateLimitExceeded userRequestsExceedRateLimit تعرض الطريقتان 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 لكل نوع من أنواع الخطأ.

  • تتيح واجهة برمجة التطبيقات الآن الخطأ التالي:

    نوع الخطأ تفاصيل الخطأ الوصف
    insufficientPermissions livePermissionBlocked تعرض الطرق 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.

  • تتيح واجهة برمجة التطبيقات الأخطاء الجديدة التالية:

    نوع الخطأ تفاصيل الخطأ الوصف
    invalidValue conflictingTimeFields تعرض الطريقة liveBroadcasts.control هذا الخطأ إذا كان طلبك يحدّد قيمًا للمَعلمتَين offsetTimeMs وwalltime. يمكن أن يتجاهل الطلب كلتا المَعلمتَين أو يحدّد قيمة لإحداهما.
    invalidValue invalidWalltime تعرض الطريقة liveBroadcasts.control هذا الخطأ إذا كانت قيمة المَعلمة walltime غير صالحة.
    forbidden enableClosedCaptionsModificationNotAllowed تعرض الطريقة liveBroadcasts.update هذا الخطأ إذا حاولت تعديل قيمة contentDetails.enableClosedCaptions وكانت حالة البث المباشر ليست created أو ready.
    invalidValue conflictingTimeFields تعرض الطريقة liveCuepoints.insert هذا الخطأ إذا كان طلبك يحدّد قيمًا للسمتَين settings.offsetTimeMs وsettings.walltime. يمكن أن يحذف الطلب كلتا السمتين أو يحدّد قيمة لإحدى السمتين.

    بالإضافة إلى ذلك، لم تعُد الطريقة liveStreams.update تتيح ظهور الخطأ cdnRequired المشابه للخطأ الذي تتيحه الطريقة liveStreams.insert.

‫10 مايو 2013

يتضمّن هذا التحديث التغييرات التالية:

‫2 مايو 2013

يتضمّن هذا التحديث التغييرات التالية:

‫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 المسموح بها.