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

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

9 تشرين الأول (أكتوبر) 2023

يمكنك الاطّلاع على أرقام تعريف الملصقات التي ترتبط بالملصقات العجيبة في ملف 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 متاحًا اعتبارًا من 17 آب (أغسطس) 2020، علمًا بأنّه تم إيقافه نهائيًا في نيسان (أبريل) 2016. ولن يتم قبول الطلبات التي لا تزال تستخدم هذا الحقل اعتبارًا من ذلك التاريخ.

إذا كان الرمز البرمجي لا يزال يستخدم الحقل 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 Services للحصول على مزيد من المعلومات. ستسري التغييرات على بنود خدمة YouTube API Services وسياسات المطوّرين في 10 كانون الثاني (يناير) 2020 بالتوقيت الرسمي للمحيط الهادئ.

20 آب (أغسطس) 2019

تم تعديل قسم المتطلبات في دليل إرسال محتوى بث مباشر على YouTube عبر بروتوكول HLS من خلال إجراء تغييرَين:

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

28 حزيران (يونيو) 2019

تتيح منصة YouTube الآن نقل بيانات "البث المباشر وفق بروتوكول HTTP". وبناءً على ذلك، تتيح سمة 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 Chat التي تعرض صورة. مثل رسائل Super Chat الأخرى، يشتري المعجب رسالة Super Stickers أثناء بث مباشر على YouTube.

  • في مورد liveChatMessage، تم ضبط السمة snippet.type على superStickerEvent للإشارة إلى أنّ المورد يحتوي على معلومات عن ملصق Super Stickers. في هذه الحالة، يحتوي المرجع أيضًا على العنصر snippet.superStickerDetails الذي يحتوي على معلومات إضافية عن الملصق العجيب.
  • في مورد superChatEvent، يشير العنصر المنطقي snippet.isSuperStickerEvent إلى ما إذا كانت رسالة Super Chat هي أيضًا "ملصق عجيب". إذا كان الأمر كذلك، يعني ذلك أنّ عنصر snippet.superStickerMetadata يحتوي على تفاصيل إضافية عن الملصق الرائع.

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 في أحداث البث المباشر للقناة خلال آخر 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 الجديدة، أوقفنا ميزة "التمويل من المعجبين" نهائيًا، وسيتم إيقاف واجهة برمجة التطبيقات Fan Funding API في 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.format في المرجع liveStream نهائيًا، وذلك بالتزامن مع طرح السمتَين cdn.frameRate وcdn.resolution في المرجع liveStream. تحدّد سمة 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
      الوصففي مورد البث المباشر، لا تتوافق قيمة السمة 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 لقطة في الثانية على الأجهزة التي لا تتيح مشاهدة المحتوى بمعدّل لقطات مرتفع بعد.

    تتيح سمة cdn.format لمصدر liveStream قيمتَين جديدتَين لهذه الميزة: 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 لتحميل المحتوى لاستخدامه في الترجمة والشرح للبث.

  • يتيح الآن الحقل snippet.scheduledEndTime الخاص بمصدر liveBroadcast البثّات التي تم تحديد موعدها لمواصلة البثّ إلى أجل غير مسمى. بعد إجراء هذا التغيير، لم تعُد السمة مطلوبة في طلبات 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 المسموح بها.