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

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

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

يمكنك الاطّلاع على أرقام تعريف الملصقات التي ترتبط بالملصقات العجيبة في ملف CSV هذا، وذلك للرجوع إليه فقط. تم تعديل تعريفات سمة snippet.superStickerDetails.superStickerMetadata.stickerId في المرجع liveChatMessage وسمة snippet.superStickerMetadata.stickerId في المرجع superChatEvent لتعكس هذه المعلومات.

15 أيلول (سبتمبر) 2023

تتيح واجهة برمجة التطبيقات الآن طريقة جديدة لإدراج الإعلانات في أحداث البث المباشر. بالإضافة إلى علامة "liveCuepoints" التي تتيح لك إدراج فواصل إعلانية يدويًا في البث، تتيح منصة YouTube الآن ميزة لإدراج فواصل إعلانية أثناء التشغيل تلقائيًا في البث على فترات زمنية ثابتة.

إذا فعّل مالك البث الإعلانات المبرمَجة، يمكنه الاطّلاع على الجوانب التالية من سلوك الإعلانات:

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

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

  • يحتوي مورد liveBroadcast الآن على عنصر monetizationDetails. تشير حقول العنصر إلى ما إذا كان قد تم تفعيل ميزة إدراج الإعلانات التلقائية لبث المحتوى، كما تحدّد معلومات إضافية لجدولة نقاط البدء.
  • ويمكن استخدام القيمة monetizationDetails في معلَمة part الخاصة بطريقة liveBroadcast.list.
  • يمكن استخدام الطريقة 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 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 Stickers. "الملصقات العجيبة" هي نوع من رسائل 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 الجديدة، أوقف 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 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 المسموح بها.