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

تعرض هذه الصفحة التغييرات في واجهة برمجة تطبيقات البث المباشر في YouTube وتعديلات المستندات. اشترِك في سجلّ التغييرات هذا. اشتراك

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

ملاحظة: هذا تعديل على إشعار سابق عن الإيقاف النهائي.

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

20 آب (أغسطس) 2019

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

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

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

تتيح منصة YouTube الآن عرض البث المباشر وفق بروتوكول HTTP (HLS). وفقًا لذلك، تتيح السمة ingestionType في مورد liveStream القيمة الجديدة hls لتحديد أحداث البث التي تم نقلها إلى YouTube باستخدام HLS.

يقدّم الدليل الجديد إرسال محتوى YouTube المباشر من خلال بروتوكول HLS إرشادات حول استخدام بروتوكول HLS لبث محتوى مباشر إلى YouTube من برنامج ترميز. يهدف هذا الدليل إلى مساعدة مورّدي برامج الترميز على إتاحة إرسال المحتوى وفق بروتوكول HTTP (HLS) إلى منتجاتهم.

4 نيسان (أبريل) 2019

يحتوي هذا التحديث على التغييرات التالية:

  • تم تعديل المستندات المرجعية لواجهة برمجة التطبيقات لشرح حالات الاستخدام الشائعة بشكل أفضل لكل طريقة ولتوفير نماذج رموز ديناميكية عالية الجودة من خلال تطبيق APIs Explorer المصغّر. يمكنك الاطّلاع على مستندات طريقة liveBroadcasts.list للاطّلاع على مثال. يتوفّر الآن عنصران جديدان على الصفحات التي تصف طرق واجهة برمجة التطبيقات:

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

    • يصف قسم حالات الاستخدام الشائعة حالة استخدام شائعة واحدة أو أكثر للطريقة الموضّحة في الصفحة. على سبيل المثال، يمكنك استدعاء الإجراء liveBroadcasts.list لاسترداد البيانات حول عملية بث معيّنة أو لاسترداد بيانات حول عمليات بث المستخدم الحالي.

      يمكنك استخدام الروابط في هذا القسم لتعبئة مستكشف واجهات برمجة التطبيقات بنماذج من القيم المرتبطة بحالة الاستخدام أو لفتح مستكشف واجهات برمجة التطبيقات بملء الشاشة باستخدام تلك القيم التي سبق أن تمّت تعبئتها. تهدف هذه التغييرات إلى تسهيل الاطّلاع على نماذج الرموز التي تنطبق مباشرةً على حالة الاستخدام التي تحاول تنفيذها في تطبيقك الخاص.

    تتوافق عيّنات التعليمات البرمجية حاليًا مع Java وJavaScript وPHP وPython وcurl.

  • تحتوي صفحة نماذج الرموز أيضًا على واجهة مستخدم جديدة تقدّم جميع الميزات نفسها الموضّحة أعلاه. وباستخدام هذه الأداة، يمكنك استكشاف حالات الاستخدام لطرق مختلفة، وتحميل القيم في مستكشف واجهات برمجة التطبيقات، وفتح مستكشف واجهات برمجة التطبيقات بملء الشاشة للحصول على عيّنات التعليمات البرمجية في Java وJavaScript وPHP وPython.

    بالتزامن مع هذا التغيير، تمت إزالة الصفحات التي سبق لها إدراج نماذج الرموز المتاحة لـ Java وPHP وPython.

‏25 شباط (فبراير) 2019

تم تعديل المحتوى الخاص بالمرجعَين liveChatMessage وsuperChatEvent ليشير إلى أنّ كلا المرجعَين يمكن أن يتضمّنا الآن معلومات حول "الملصقات العجيبة". "الملصقات العجيبة" هي نوع من رسائل Super Chat التي تعرض صورة. مثل رسائل Super Chat الأخرى، يشتري أحد المعجبين رسالة "ملصق عجيب" أثناء بث مباشر على YouTube.

  • في المورد liveChatMessage، تم ضبط السمة snippet.type على superStickerEvent للإشارة إلى أنّ المورد يحتوي على معلومات حول "ملصق عجيب". في هذه الحالة، يحتوي المورد أيضًا على العنصر 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.

      تتيح واجهة برمجة التطبيقات إدراج أحداث 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 المنشورة حديثًا (يُشار إليها باسم "البنود المعدَّلة")، والتي تمت مناقشتها بالتفصيل في مدوّنة مطوّري البرامج والهندسة في 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.

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 المتوافقة.