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

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

‫14 يوليو 2025

تم تعديل وصف الطريقة liveChatMessages.streamList لتقديم إرشادات حول استخدامات واجهة برمجة التطبيقات streamList.

‫9 أكتوبر 2023

للمرجعية فقط، يمكنك الاطّلاع على أرقام تعريف الملصقات المرتبطة بملصقات Super Stickers في ملف CSV هذا. تم تعديل تعريفَي السمتَين snippet.superStickerDetails.superStickerMetadata.stickerId وsnippet.superStickerMetadata.stickerId في المرجعَين liveChatMessage و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
  • يحتوي العنصر الجديد liveChatMessage في المورد على السمة snippet.membershipGiftingDetails الجديدة والعناصر التابعة لها، وهي تتضمّن معلومات عن فعالية "تقديم العضويات كهدية". وبالمثل، يحتوي العنصر snippet.giftMembershipReceivedDetails الجديد والعناصر الفرعية التابعة له على معلومات حول حدث "العضوية المدفوعة التي تمّ تلقّيها كهدية".

‫15 سبتمبر 2021

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

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

    • newSponsorEvent
    • memberMilestoneChatEvent
  • يحتوي العنصر الجديد snippet.memberMilestoneChatDetails الخاص بالمورد liveChatMessage والعناصر الفرعية التابعة له على معلومات حول حدث "رسالة المحادثة المميّزة الخاصة بالأعضاء". وبالمثل، يحتوي العنصر الجديد snippet.newSponsorDetails والعناصر الفرعية التابعة له على معلومات حول حدث "الراعي الجديد".

1 كانون الأول (ديسمبر) 2020

يتوافق الأسلوب liveBroadcasts.transition في واجهة برمجة التطبيقات مع الخطأ الجديد 403 (Forbidden)، ما يشير إلى أنّ المستخدم أرسل عددًا كبيرًا جدًا من الطلبات خلال إطار زمني معيّن. سبب الخطأ هو userRequestsExceedRateLimit.

21 أيلول (سبتمبر) 2020

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

    لتحديد أنّ البث المباشر مخصّص للأطفال، اضبط قيمة السمة status.selfDeclaredMadeForKids على true عند استدعاء الطريقة liveBroadcasts.insert لإنشاء البث.

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

    سيتم إيقاف الطريقة liveBroadcasts.control نهائيًا في 1 أكتوبر 2020 أو بعد هذا التاريخ. بعد هذا التاريخ، ستعرض جميع الطلبات التي يتم إرسالها إلى هذه الطريقة الخطأ 403 (ممنوع)، وسيتم إزالة الطريقة بالكامل لاحقًا. سيظل بإمكان العملاء تنفيذ عملية إضافة اللوحات بأنفسهم من خلال إضافة طبقة عرض فوق الفيديو المُرسَل إلى خوادم استيعاب المحتوى في YouTube.

    تم تأجيل تاريخ إيقاف الإشعار بشأن الإيقاف النهائي الذي تم إصداره في 16 أبريل 2020، والذي كان من المقرر إيقافه نهائيًا في 1 سبتمبر 2020، وسيتم إيقافه نهائيًا في 1 أكتوبر 2020 أو بعد هذا التاريخ. وبالتالي، سيتم إيقاف الميزات المضمّنة في إشعار الإيقاف النهائي وطريقة liveBroadcasts.control في الوقت نفسه.

17 تموز (يوليو) 2020

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

لن يعود الحقل cdn.format الخاص بمورد liveStream، والذي تم إيقافه نهائيًا في نيسان (أبريل) 2016، متاحًا اعتبارًا من 17 آب (أغسطس) 2020. واعتبارًا من هذا التاريخ، ستتعذّر الطلبات التي لا تزال تستخدم هذا الحقل.

إذا كان الرمز البرمجي لا يزال يستخدم الحقل cdn.format، يجب تعديله لتحديد معدّل عرض اللقطات ودقة الوضوح بشكل منفصل باستخدام السمتَين cdn.frameRate وcdn.resolution.

‫6 تموز (يوليو) 2020

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

بالإضافة إلى ذلك، تعرض مقارنة بروتوكولات النقل الجديدة بروتوكولات النقل التي يتيحها YouTube، وبرامج الترميز المتوافقة مع كل بروتوكول، ومعلومات إضافية حول حالات الاستخدام المناسبة لكل بروتوكول.

16 نيسان (أبريل) 2020

يتضمّن هذا التحديث موقعًا جديدًا وإشعارًا بإيقاف ميزة نهائيًا:

  • يتيح مصدر liveBroadcast الآن استخدام السمة contentDetails.enableAutoStop. تشير السمة إلى ما إذا كان يجب إيقاف البث تلقائيًا بعد حوالي دقيقة واحدة من توقّف مالك القناة عن بث الفيديو على بث الفيديو المرتبط.

    تم تعديل مستند دورة حياة البث لتوضيح كيفية تغيُّر العملية المفصّلة لإنشاء حدث مباشر على YouTube وإدارته في حال ضبط القيمتين contentDetails.enableAutoStart أو contentDetails.enableAutoStop على true.

  • ملاحظة: هذا إشعار بإيقاف نهائي. وستسري هذه التغييرات اعتبارًا من 1 أيلول (سبتمبر) 2020 أو بعده. يُشار إلى التاريخ الفعلي الذي تصبح فيه التغييرات سارية المفعول أدناه باسم تاريخ الإيقاف النهائي.

    يوضّح هذا التحديث تغييرًا محتملاً قد يؤدي إلى حدوث مشاكل. ويؤثّر ذلك في تطبيقات عملاء واجهة برمجة التطبيقات التي تستخدم موارد liveStream وliveBroadcast التلقائية للقنوات لبث محتوى مباشر على YouTube. على وجه التحديد، لن يعمل معرّف البث ومعرّف البث المباشر المرتبطان بالبث المباشر والبث المباشر الدائمين لبدء عمليات بث جديدة.

    سيتأثر تطبيقك في أيّ من الحالات التالية:

    • يتحقّق من قيمة السمة isDefaultBroadcast الخاصة بالمورد liveBroadcast. لن يتم عرض هذه السمة بعد تاريخ الإيقاف النهائي.
    • يتحقّق من قيمة السمة isDefaultStream الخاصة بالمورد liveStream. لن يتم عرض هذه السمة بعد تاريخ الإيقاف النهائي.
    • يتم استدعاء الطريقة liveBroadcasts.list ويتم ضبط قيمة المَعلمة broadcastType على persistent أو all. سيتم إيقاف هذه المَعلمة نهائيًا كجزء من هذه التغييرات. اعتبارًا من تاريخ الإيقاف النهائي:
      • إذا كانت قيمة المَعلمة broadcastType هي persistent، لن تعرض الطريقة liveBroadcasts.list أي نتائج.
      • إذا كانت قيمة المَعلمة broadcastType هي all، لن تعرض الطريقة liveBroadcasts.list عمليات البث المستمرة التي كانت متاحة قبل ذلك الوقت.

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

    اعتبارًا من تاريخ الإيقاف النهائي:

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

    إذا كان تطبيقك متأثرًا بهذا التغيير، يُرجى الرجوع إلى المستندات التالية التي ستساعدك في تعديل تطبيقك لكي يظل يعمل على النحو المتوقّع بعد إجراء هذا التغيير:

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

31 آذار (مارس) 2020

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

تم إيقاف المورد sponsor والطريقة sponsors.list نهائيًا واستبدالهما بالمورد member والطريقة members.list.

لن تتوفّر طريقة sponsors.list في 30 أيلول (سبتمبر) 2020 أو بعد هذا التاريخ. على عملاء واجهة برمجة التطبيقات تعديل طلبات البيانات إلى الطريقة sponsors.list لاستخدام الطريقة members.list بدلاً منها. يُرجى الاطّلاع على سجلّ مراجعات YouTube Data API للحصول على مزيد من المعلومات حول المرجع الجديد.

‫11 آذار (مارس) 2020

تم تعديل قسم نقطة نهاية الاستيعاب في دليل عرض محتوى YouTube المباشر باستخدام بروتوكول HLS لتوضيح العملية التي يجب أن يستخدمها برنامج الترميز لإكمال قيمة المَعلمة file= عند إنشاء عناوين URL الأساسية والاحتياطية للاستيعاب.

‫4 شباط (فبراير) 2020

تم تعديل دليل عرض محتوى YouTube المباشر باستخدام بروتوكول HLS للإشارة إلى أنّ طلبات DELETE اختيارية وأنّ نقطة نهاية HLS في YouTube تتجاهلها. لأسباب تتعلّق بالأداء، ينصح YouTube العملاء بعدم إرسال طلبات DELETE.

‫10 يناير 2020

تتيح واجهة برمجة التطبيقات الآن إمكانية تحديد المحتوى الموجّه إلى الأطفال، والذي يصنّفه YouTube على أنّه "مخصّص للأطفال". مزيد من المعلومات حول المحتوى "المخصّص للأطفال" في "مركز مساعدة YouTube"

  • يتيح المرجع liveBroadcast استخدام سمتَين جديدتَين لمساعدة صنّاع المحتوى والمشاهدين في تحديد المحتوى "المخصّص للأطفال":
    • تتيح السمة selfDeclaredMadeForKids لصنّاع المحتوى تحديد ما إذا كان البث المباشر مخصّصًا للأطفال. يمكن ضبط هذه السمة عند إنشاء بث باستخدام الطريقة liveBroadcasts.insert. يُرجى العِلم أنّ هذه السمة يتم تضمينها فقط في ردود واجهة برمجة التطبيقات التي تحتوي على موارد liveBroadcast إذا سمح مالك القناة بطلب واجهة برمجة التطبيقات.
    • تتيح السمة madeForKids لأي مستخدم لواجهة برمجة التطبيقات استرداد حالة البث المباشر "محتوى مخصّص للأطفال". على سبيل المثال، يمكن تحديد الحالة استنادًا إلى قيمة السمة selfDeclaredMadeForKids. يمكنك الاطّلاع على مركز مساعدة YouTube للحصول على مزيد من المعلومات حول كيفية تحديد الجمهور المستهدف لقناتك أو فيديوهاتك أو أحداث البث المباشر.
  • في YouTube Data API، يتيح المرجع channel أيضًا استخدام سمتَي selfDeclaredMadeForKids وmadeForKids الجديدتَين.

عدّلنا أيضًا "بنود الخدمة" و"سياسات مطوّري البرامج" الخاصة بخدمات YouTube API. يُرجى الاطّلاع على بنود خدمة YouTube API - سجلّ المراجعات للحصول على مزيد من المعلومات. سيتم تطبيق التغييرات على "بنود خدمة YouTube API" و"سياسات المطوّرين" في 10 يناير 2020 بتوقيت المحيط الهادئ.

‫20 أغسطس 2019

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

‫5 أبريل 2018

تم تعديل وصف الطريقة superChatEvents.list ليعكس حقيقة أنّ استجابة واجهة برمجة التطبيقات لم تعُد تحتوي على fanFundingEvents، والتي تم إيقافها نهائيًا في أوائل عام 2017.

3 نيسان (أبريل) 2017

تمت إضافة نماذج رموز Java جديدة توضّح كيفية إدراج رسائل المحادثة المباشرة وإضافتها وحذفها. تستدعي النماذج الطرق التالية:

‫13 فبراير 2017

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

  • تعديلات على المراجع والأساليب الحالية

    • تم تعديل الطريقة liveCuepoints.insert لتعكس حقيقة أنّ المَعلمة onBehalfOfContentOwner مطلوبة حاليًا. بالإضافة إلى ذلك، تم تعديل وصف الطريقة للإشارة إلى أنّه يجب أن يتمّ تفويض عمليات استدعاء هذه الطريقة من خلال حساب مرتبط بمالك محتوى على YouTube.

‫9 فبراير 2017

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

  • تعديلات على المراجع والأساليب الحالية

    • تتيح لك المَعلمة الجديدة hl في الطريقة superChatEvents.list تحديد أنّه يجب تنسيق قيمة السمة snippet.displayString وفقًا لاتفاقيات لغة معيّنة. تم أيضًا تعديل تعريف هذه السمة وفقًا لذلك.

      يجب أن تكون قيمة المَعلمة رمز لغة مضمّنًا في القائمة التي تعرضها الطريقة i18nLanguages.list. القيمة التلقائية هي en، ما يعني أنّ السلوك التلقائي هو تنسيق سلاسل العرض كما سيتم استخدامها باللغة الإنجليزية. على سبيل المثال، يتم تلقائيًا تنسيق السلسلة على النحو $1.00 بدلاً من $1,00.

‫1 فبراير 2017

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

  • المراجع والطرق الجديدة

    • يمثّل المورد الجديد superChatEvent رسالة Super Chat اشتراها أحد المعجبين خلال بث مباشر على YouTube. في المحادثة المباشرة على YouTube، تتميّز رسائل Super Chat عن الرسائل الأخرى بطريقتين:

      • يتم تمييز رسائل Super Chat بلون.
      • تبقى رسائل Super Chat مثبّتة على شريط الدردشة لفترة زمنية محّددة.

      يتم تحديد لون رسالة Super Chat ومدة تثبيتها على شريط الدردشة والحد الأقصى لطول الرسالة حسب مبلغ الشراء. يتضمّن مركز مساعدة YouTube المزيد من المعلومات حول ميزة Super Chat.

      تتيح واجهة برمجة التطبيقات طريقة لإدراج أحداث Super Chat في أحداث البث المباشر التي أجرتها قناة خلال آخر 30 يومًا. تعرض هذه الطريقة أيضًا بيانات حول أحداث "تمويل المعجبين" (fanFundingEvents) من آخر بث مباشر على القناة.

  • تعديلات على المراجع والأساليب الحالية

    • تتيح السمة snippet.type الآن القيمة superChatEvent، ما يشير إلى أنّ المرجع يصف رسالة Super Chat.

      بالإضافة إلى ذلك، يحتوي العنصر الجديد liveChatMessage في المورد على السمة snippet.superChatDetails الجديدة والعناصر التابعة لها، والتي تتضمّن معلومات حول حدث Super Chat.

    • تتيح السمة cdn.resolution الخاصة بالمرجع liveStream الآن القيمة 2160p.

  • الأخطاء الجديدة والمعدَّلة

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

      تفاصيل الخطأ
      "liveBroadcasts.insert" و"liveBroadcasts.update" تعرض الطريقتان liveBroadcasts.insert وliveBroadcasts.update الخطأ 400 (Bad Request) للإشارة إلى أنّ مورد liveBroadcast الذي يتم إدراجه أو تعديله يحتوي على قيمة غير صالحة للخاصية contentDetails.enableEmbed أو الخاصية contentDetails.projection. سببا الخطأين الجديدَين هما invalidEmbedSetting وinvalidProjection على التوالي.

‫12 يناير 2017

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

بالتزامن مع إطلاق ميزة Super Chat الجديدة، أوقف YouTube ميزة "التمويل من المعجبين"، وسيتم إيقاف واجهة برمجة التطبيقات الخاصة بها في 28 فبراير 2017. واعتبارًا من ذلك التاريخ:

‫11 أغسطس 2016

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

  • توفّر "بنود الخدمة المعدَّلة" الخاصة بخدمات YouTube API، والتي تم نشرها مؤخرًا وتمت مناقشتها بالتفصيل في مدوّنة "الهندسة والتطوير في YouTube"، مجموعة كبيرة من التعديلات على بنود الخدمة الحالية. بالإضافة إلى البنود المعدَّلة التي ستصبح سارية اعتبارًا من 10 فبراير 2017، يتضمّن هذا التعديل عدة مستندات مساعِدة للمساعدة في توضيح السياسات التي يجب أن يلتزم بها المطوّرون.

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

‫20 مايو 2016

يتيح YouTube الآن إدخال بيانات DASH. وبناءً على ذلك، تتيح السمة ingestionType الخاصة بمورد liveStream القيمة الجديدة dash لتحديد المحتوى الذي تم تحميله إلى YouTube باستخدام DASH.

يقدّم الدليل الجديد إرسال محتوى مباشر على YouTube باستخدام DASH إرشادات حول استخدام تنسيق DASH Delivery لبث البيانات المباشرة على YouTube من برنامج ترميز. وهي تهدف إلى مساعدة مورّدي برامج الترميز في إضافة إمكانية عرض محتوى DASH إلى منتجاتهم.

‫18 أبريل 2016

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

  • تعديلات على المراجع والأساليب الحالية

    • liveStream إشعارات الموارد
      • يتيح YouTube الآن أحداث البث بدقة 1440p وبسرعة 30 أو 60 إطار في الثانية.

        بالإضافة إلى ذلك، يحتوي المورد liveStream على سمات جديدة لتحديد معدّل عرض اللقطات ودقة بيانات الفيديو الواردة:

        الخصائص
        cdn.frameRate عدد اللقطات في الثانية لبيانات الفيديو الواردة القيم الصالحة هي 30fps و60fps.
        cdn.resolution تمثّل هذه السمة درجة دقة بيانات الفيديو الواردة. قيم السمة الصالحة هي: 1440p و1080p و720p و480p و360p و240p.
      • بموجب طرح السمتَين cdn.frameRate وcdn.resolution للمرجع liveStream، تم إيقاف cdn.format المرجع نهائيًا. تحدّد السمة cdn.format درجة الدقة ومعدّل عرض الإطارات في قيمة واحدة.

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

        يُرجى العِلم أنّه على الرغم من إيقاف السمة cdn.format نهائيًا، إلا أنّها تتوافق الآن مع قيمتَين جديدتَين، 1440p و1440p_hfr، لتعكس توافق واجهة برمجة التطبيقات مع بث بدقة 1440p بمعدّل 30 أو 60 إطارًا في الثانية.

    • liveBroadcast إشعارات الموارد
      • يتضمّن المرجع liveBroadcast السمات الجديدة التالية:

        الخصائص
        contentDetails.boundStreamLastUpdateTimeMs تمثّل هذه السمة تاريخ ووقت آخر تعديل على البث المباشر المشار إليه في السمة contentDetails.boundStreamId الخاصة بالبث.
        contentDetails.projection تمثّل هذه السمة تنسيق العرض للبث. القيمة التلقائية للسمة هي rectangular. القيم الصالحة للسمة هي 360 وrectangular.
      • تم تعديل تعريف السمة statistics.totalChatCount الخاصة بالمرجع liveBroadcast للإشارة إلى أنّ قيمة السمة لا تظهر إلا إذا كان البث المباشر يتضمّن رسالة محادثة واحدة على الأقل.

    • liveChatMessage إشعارات الموارد
      • تتيح السمة snippet.type قيمتَين جديدتَين، هما messageDeletedEvent وuserBannedEvent، تتوافقان مع السمتَين الجديدتَين الموضّحتَين في النقطة التالية. تم أيضًا تعديل تعريف السمة snippet.authorChannelId لتوضيح ما تحدّده قيمة السمة لأنواع الرسائل الجديدة هذه.

      • يتضمّن المرجع liveChatMessage السمات الجديدة التالية:

        الخصائص
        snippet.messageDeletedDetails يحتوي هذا العنصر على معلومات حول رسالة حذفها مشرف في المحادثة. لا يظهر الكائن إلا إذا كانت قيمة السمة snippet.type هي messageDeletedEvent.
        snippet.userBannedDetails يحتوي هذا العنصر على معلومات حول مستخدم تم حظره من المشاركة في المحادثة. يحتوي العنصر أيضًا على معلومات حول الحظر نفسه، أي ما إذا كان الحظر دائمًا أو مؤقتًا. إذا كان الحظر مؤقتًا، تحدّد إحدى سمات العنصر مدة الحظر.

        لا يظهر هذا العنصر إلا إذا كانت قيمة السمة snippet.type هي userBannedEvent.
  • الأخطاء الجديدة والمعدَّلة

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

      تفاصيل الخطأ
      liveBroadcasts.bind تعرض الطريقة liveBroadcasts.bind الخطأ 403 (Forbidden) للإشارة إلى أنّ المستخدم أرسل عددًا كبيرًا جدًا من الطلبات خلال إطار زمني محدّد. سبب الخطأ هو userRequestsExceedRateLimit.

      تتيح الطريقتان liveBroadcasts.insert وliveBroadcasts.update الخطأ نفسه.
      liveStreams.insert تتيح الطريقة liveStreams.insert أربعة أخطاء جديدة 400 (Bad Request) تحدّد قيمة غير صالحة للخاصية في المورد liveStream الذي حاول الطلب إدراجه. تحدّد القائمة التالية أسباب الخطأ والسمات المرتبطة بها:
      liveStreams.insert تتيح الطريقة liveStreams.insert خطأين جديدين من النوع 400 (Bad Request)، يشير كل منهما إلى عدم توفّر قيمة مطلوبة في المورد liveStream الذي حاولت الطلب إدراجه. تحدّد القائمة التالية أسباب الخطأ والسمات المرتبطة بها:
      وعلى وجه التحديد، عند إدراج مرجع liveStream، يجب تحديد قيمة للسمة cdn.format أو للسمتَين cdn.frameRate و cdn.resolution.
      • تعرض واجهة برمجة التطبيقات الخطأ formatRequired إذا لم تحدّد قيمة لأي من الخصائص الثلاث.
      • تعرض واجهة برمجة التطبيقات الخطأ frameRateRequired إذا حدّدت قيمة cdn.resolution ولكن لم تحدّد قيمة cdn.frameRate.
      • تعرض واجهة برمجة التطبيقات الخطأ resolutionRequired إذا حدّدت قيمة cdn.frameRate ولكن لم تحدّد قيمة cdn.resolution.
      liveStreams.update تعرض الطريقة liveStreams.update الخطأ 403 (Forbidden) إذا حاولت الطلب تعديل قيمة أي من الخصائص غير القابلة للتغيير التالية: قيمة reason في ردّ الخطأ هي liveStreamModificationNotAllowed.

‫18 ديسمبر 2015

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

‫17 ديسمبر 2015

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

  • المراجع والطرق الجديدة

    • تتيح واجهة برمجة التطبيقات العديد من الموارد الجديدة لدعم وظيفة الدردشة في البث المباشر. يتيح YouTube وظيفة المحادثة المباشرة أثناء أحداث البث المباشر النشطة، وتتيح هذه المراجع وطرقها استرداد رسائل المحادثة بالإضافة إلى وظائف إدارية للمحادثة.

      الموارد
      liveChatMessage يمثّل هذا المرجع رسالة في محادثة مباشرة على YouTube. يتيح YouTube عدة أنواع من الرسائل، بما في ذلك الرسائل النصية وأحداث "تمويل المعجبين". تحدّد بعض أنواع الرسائل مرحلة معيّنة من المحادثة، مثل بداية فترة مخصّصة للأعضاء فقط أو نهاية المحادثة. تتيح واجهة برمجة التطبيقات طرقًا لعرض رسائل المحادثة المباشرة وإدراجها وحذفها.
      liveChatModerators يحدّد هذا المورد منسّق محادثة. يمكن للمشرفين تنفيذ بعض الوظائف الإدارية، مثل حظر المستخدمين من الدردشة أو إزالة الرسائل. تتيح واجهة برمجة التطبيقات طرقًا لإدراج المشرفين على المحادثة المباشرة وإضافتهم وحذفهم.
      liveChatBans يحدّد هذا المرجع مستخدمًا محظورًا من نشر رسائل في محادثة مباشرة معيّنة. يمكن أن تكون عمليات الحظر مؤقتة أو دائمة. تتيح واجهة برمجة التطبيقات طرقًا لإضافة عمليات حظر في المحادثة المباشرة وحذفها.
      fanFundingEvents يمثّل هذا المورد فعالية "التمويل من المعجبين" على قناة YouTube. توفّر ميزة "التمويل من المعجبين" للمشاهدين طريقة لدعم صنّاع المحتوى على YouTube طوعًا من خلال تقديم مساهمات مالية لمرة واحدة.

      تعرض طريقة fanFundingEvents.list في واجهة برمجة التطبيقات أحداث "التمويل من المعجبين" في قناة معيّنة. تؤدي أحداث "تمويل المعجبين" التي يتم بدؤها من خلال محادثة مباشرة أثناء بث مباشر تملكه القناة أيضًا إلى ظهور رسالة fanFundingEvent في المحادثة المباشرة للبث.

      يمكنك الاطّلاع على مزيد من المعلومات حول ميزة "تمويل المعجبين" في مركز مساعدة YouTube.
      sponsors يحدّد مرجع sponsor جهة راعية لقناة على YouTube. يدفع الراعي رسومًا شهرية للقناة. تظهر شارة بجانب رسائل الجهة الراعية في المحادثات المباشرة على القناة، ويمكن للجهات الراعية أيضًا المشاركة في المحادثات المباشرة الحصرية للجهات الراعية في القناة، إذا كانت متاحة.

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

      يمكنك الاطّلاع على مزيد من المعلومات حول عروض الرعاية في مركز مساعدة YouTube.

  • تعديلات على المراجع والأساليب الحالية

    • يتضمّن المرجع liveBroadcast السمات الجديدة التالية:

      الخصائص
      snippet.liveChatId تمثّل هذه السمة معرّف المحادثة المباشرة على YouTube الخاصة بالبث. باستخدام هذا المعرّف، يمكنك استخدام طرق المورد liveChatMessage لاسترداد رسائل المحادثة أو إدراجها أو حذفها. يمكنك أيضًا إضافة مشرفين إلى المحادثة أو إزالتهم، أو حظر المستخدمين من المشاركة في المحادثات المباشرة، أو إزالة عمليات الحظر الحالية.
      contentDetails.closedCaptionsType ملاحظة: تحلّ هذه السمة محلّ السمة contentDetails.enableClosedCaptions.

      تشير هذه السمة إلى ما إذا كانت ميزة "الترجمة والشرح" مفعّلة في البث المباشر، وإذا كان الأمر كذلك، تشير إلى نوع مقاطع الترجمة والشرح التي تقدّمها:
      • closedCaptionsDisabled: ميزة "الترجمة والشرح" غير مفعَّلة للبث المباشر.
      • closedCaptionsHttpPost: سترسل الترجمة والشرح، من خلال HTTP POST، إلى عنوان URL للاستيعاب مرتبط بالبث المباشر.
      • closedCaptionsEmbedded: سيتم ترميز مقاطع الترجمة والشرح في بث الفيديو باستخدام تنسيقات EIA-608 و/أو CEA-708.
      contentDetails.enableClosedCaptions تم إيقاف هذه السمة نهائيًا اعتبارًا من 17 ديسمبر 2015. بدلاً من ذلك، استخدِم السمة contentDetails.closedCaptionsType. بالنسبة إلى برامج الوصول إلى واجهة برمجة التطبيقات التي تستخدم هذا الموقع حاليًا:
      • ضبط قيمة السمة على true يعادل ضبط السمة contentDetails.closedCaptionsType على closedCaptionsHttpPost.
      • ضبط قيمة السمة على false يعادل ضبط السمة contentDetails.closedCaptionsType على closedCaptionsDisabled.
    • تتيح لك المَعلمة الجديدة broadcastType في الطريقة liveBroadcasts.list فلترة ردّ واجهة برمجة التطبيقات لتضمين عمليات بث الأحداث أو عمليات البث الدائمة أو جميع عمليات البث.

      البث الثابت هو بث متواصل لا يرتبط بحدث معيّن. على وجه التحديد، البث التلقائي للقناة هو بث دائم، ويمكن الوصول إليه من خلال لوحة التحكّم بالبث المباشر في "استوديو صنّاع المحتوى" في YouTube. أما عمليات البث الأخرى على القناة، فهي عمليات بث للفعاليات.

  • يسجّل الحقل status.healthStatus.configurationIssues[].type الخاص بالمورد liveStream أخطاء حالة السلامة الجديدة التالية:

    الأخطاء
    audioTooManyChannels يتضمن الصوت أكثر من قانتين في حين يمكن استخدام قناة (أحادية) واحدة أو قناتين (استريو) فقط. يرجى تصحيح عدد القنوات الصوتية.
    frameRateHigh إنّ عدد اللقطات في الثانية الحالي مرتفع جدًا. يُرجى ضبط عدد اللقطات في الثانية على %(framerate)s أو أقل.
  • تم تصحيح تاريخ نشر آخر تعديل للمستندات.

  • الأخطاء الجديدة والمعدَّلة

    • بالإضافة إلى الأخطاء المحدّدة للموارد الجديدة المذكورة أعلاه، تتيح واجهة برمجة التطبيقات الأخطاء الجديدة التالية:

      تفاصيل الخطأ
      liveBroadcasts.update
      رمز استجابة HTTPforbidden (403)
      السببclosedCaptionsTypeModificationNotAllowed
      الوصفلا يمكن تعديل قيمة contentDetails.closedCaptionsType إلا عندما تكون حالة البث المباشر created أو ready.
      liveBroadcasts.update
      رمز استجابة HTTPinvalidValue (400)
      السببinvalidEnableClosedCaptions
      الوصففي مورد liveBroadcast، تكون قيمة السمة contentDetails.enableClosedCaptions غير متوافقة مع قيمة الإعداد contentDetails.closedCaptionType. عدِّل المرجع لتضمين إحدى السمتَين فقط، ثم أعِد إرسال الطلب.

‫19 أغسطس 2015

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

  • المراجع والطرق الجديدة

    • ملاحظة: إنّ مستندات المرجع liveChat وطُرق استخدامه سرية ولا يمكن الاطّلاع عليها إلا لشركاء محدّدين في YouTube.

      يحتوي مورد liveChat الجديد على تعليق تم نشره أثناء بث مباشر على YouTube. تتيح واجهة برمجة التطبيقات طريقتَين لهذا المرجع:

      الطُرق
      liveChats.list تعرض هذه الطريقة قائمة برسائل المحادثة المباشرة لبث.
      liveChats.insert أنشِئ رسالة محادثة جديدة.

      لا يمكن استرداد رسائل المحادثة المباشرة ونشرها إلا أثناء بث مباشر.

  • تعديلات على المراجع والأساليب الحالية

    • يتضمّن المرجع liveStream السمات الجديدة التالية:

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

      على وجه الخصوص، يسرد العنصر status.healthStatus.configurationIssues[] المشاكل التي تؤثر في بث الفيديو. يتضمّن مستند جديد بعنوان مشاكل الضبط لموارد البث المباشر قائمة بجميع المشاكل التي تبلغ عنها واجهة برمجة التطبيقات.
      contentDetails.isReusable تُستخدَم لتحديد ما إذا كان يمكن إعادة استخدام البث، ما يعني أنّه يمكن ربطه بعمليات بث متعددة. من الشائع أن يعيد المذيعون استخدام البث المباشر نفسه في العديد من عمليات البث المختلفة إذا كانت عمليات البث هذه تحدث في أوقات مختلفة.
    • يتضمّن المرجع liveBroadcast السمات الجديدة التالية:

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

    • بالإضافة إلى الأخطاء المحدّدة لمورد liveChat الجديد، تتيح واجهة برمجة التطبيقات الخطأ الجديد التالي:

      تفاصيل الخطأ
      liveStreams.update
      رمز استجابة HTTPforbidden (403)
      السببliveStreamModificationNotAllowed
      الوصفلا تسمح لك واجهة برمجة التطبيقات بتغيير مجموعة بث قابلة لإعادة الاستخدام إلى مجموعة غير قابلة لإعادة الاستخدام، أو العكس. لمزيد من المعلومات، اطّلِع على التعرّف على البث المباشر.

‫21 مايو 2015

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

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

    تتيح السمة 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 الخاص بالاستيعاب الذي سيتم استخدامه لإنشاء ترجمة وشرح للبث المباشر.

  • يتيح الآن العنصر liveBroadcast استخدام السمة snippet.scheduledEndTime مع عمليات البث المجدوَلة للاستمرار إلى أجل غير مسمى. بعد هذا التغيير، لن تعود السمة مطلوبة في طلبات liveBroadcasts.insert وliveBroadcasts.update.

    إذا استرجعت مصدر liveBroadcast لا يحدّد قيمة لهذه السمة، سيتم تحديد موعد استمرار البث إلى أجل غير مسمى. وبالمثل، إذا استدعيت الطريقة liveBroadcasts.insert أو liveBroadcasts.update ولم تحدّد قيمة لهذه السمة، سيتم تحديد موعد لمواصلة البث إلى أجل غير مسمى.

  • لا يمكن الآن ضبط السمة contentDetails.recordFromStart الخاصة بالمورد liveBroadcast، والتي كانت تتضمّن القيمة التلقائية true، على false إلا إذا كانت القناة الباثة مخوّلة إيقاف التسجيلات للبث المباشر.

    إذا لم يكن لدى قناتك الإذن بإيقاف التسجيلات، وحاولت إدراج بث مع ضبط قيمة السمة recordFromStart على false، ستعرض واجهة برمجة التطبيقات الخطأ Forbidden. بالإضافة إلى ذلك، إذا لم تكن قناتك تملك هذا الإذن وحاولت تعديل بث لضبط قيمة السمة recordFromStart على false، ستعرض واجهة برمجة التطبيقات الخطأ modificationNotAllowed.

  • لم يعُد المرجع liveBroadcast يحتوي على السمة enableArchive التي تمّت الإشارة إليها في أوصاف السمتَين contentDetails.enableDvr وcontentDetails.enableEmbed.

  • تم تعديل قائمة القيم الصالحة للسمة status.lifeCycleStatus الخاصة بمورد liveBroadcast لتتضمّن وصفًا لكل حالة.

  • تحدّد السمة settings.walltime الجديدة الخاصة بمورد liveCuepoint التاريخ والوقت اللذين يجب إدراج نقطة الإشارة فيهما. تعرض واجهة برمجة التطبيقات خطأ إذا حاول طلب إدراج نقطة إشارة تحدّد قيمة لهذه السمة وللسمة settings.offsetTimeMs.

  • يحتوي عنصر contentDetails الجديد في مورد liveStream على معلومات عن البث. في الوقت الحالي، السمة الوحيدة للعنصر هي contentDetails.closedCaptionsIngestionUrl، والتي تحدّد عنوان URL الخاص باستيعاب الترجمة والشرح المرتبطين ببث الفيديو.

  • تم تعديل قائمة القيم الصالحة للسمة status.streamStatus الخاصة بمورد liveStream لتتضمّن وصفًا لكل حالة.

  • تتيح لك المَعلمة الجديدة walltime في الطريقة liveBroadcasts.control تحديد التاريخ والوقت اللذين سيحدث فيهما تغيير في قائمة التشغيل. تعرض واجهة برمجة التطبيقات خطأً إذا حدّد طلب قيمة لهذه المَعلمة وللمَعلمة offsetTimeMs.

  • في الردّ من واجهة برمجة التطبيقات على طلب liveBroadcasts.list، تم تغيير قيمة السمة kind من youtube#liveBroadcastList إلى youtube#liveBroadcastListResponse.

  • في الردّ من واجهة برمجة التطبيقات على طلب liveStreams.list، تم تغيير قيمة السمة kind من youtube#liveStreamList إلى youtube#liveStreamListResponse.

  • تم إيقاف السمة eventId نهائيًا من كلّ من liveBroadcastListResponse وliveStreamListResponse.

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

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

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

‫10 مايو 2013

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

‫2 مايو 2013

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

‫27 مارس 2013

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

  • تغيّرت الخصائص التالية في المورد liveBroadcast:

    • تمت إعادة تسمية السمة startWithSlateCuepoint إلى startWithSlate.
    • تمت إعادة تسمية السمة enableArchive إلى recordFromStart.
    • تم إيقاف العنصر slateSettings نهائيًا وإزالته من المستندات. تم أيضًا إزالة رسائل الخطأ المتعلّقة بالكائن slateSettings أو سماته. أخيرًا، تمت إزالة قسم "عرض اللوحات" من دليل البدء.

  • لم تعُد واجهة برمجة التطبيقات تتيح إمكانية إدراج لوحات إعلانية أثناء عرض الفيديو باستخدام الطريقة liveCuepoints.insert. تم تحديث المستندات التالية لتعكس هذا التغيير:

    • لم تعُد صفحة الفهرس ودليل البدء ودليل مراحل البث التوجيهي تشير إلى هذه الوظيفة.

    • لم تعُد السمة settings.cueType الخاصة بالمرجع liveCuepoint تتيح استخدام slate كقيمة للسمة. (القيمة الوحيدة المسموح بها هي ad.

    • تم إيقاف السمة settings.eventState الخاصة بالمورد liveCuepoint نهائيًا وإزالتها من المستندات.

‫18 مارس 2013

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

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

  • قد تعرض واجهة برمجة التطبيقات الآن عدة أخطاء جديدة. تحدّد القائمة أدناه الخطأ وطريقة واجهة برمجة التطبيقات التي قد تعرض هذا الخطأ:

    • liveBroadcasts.insert – يجب أن يكون وقت انتهاء البث المباشر المُجدوَل بعد وقت بدء البث المباشر المُجدوَل.
    • liveBroadcasts.insert: يحدّد البث حالة خصوصية غير صالحة.
    • liveBroadcasts.update: لا يحتوي المرجع على قيمة للسمة contentDetails.enableArchive أو لم يتم ضبط قيمة لها.
    • liveBroadcasts.update: لا يحتوي المرجع على قيمة للسمة contentDetails.enableContentEncryption أو لم يتم ضبط قيمة لها.
    • liveBroadcasts.update: لا يحتوي المرجع على قيمة للسمة contentDetails.enableDvr أو لم يتم ضبط قيمة لها.
    • liveStreams.insert – يجب أن يتراوح طول عنوان المقتطف بين حرف واحد و128 حرفًا.
    • liveStreams.update: لا يحتوي المرجع على قيمة للسمة snippet.title أو لم يتم ضبط قيمة لها.

  • تم تعديل مستندات liveStream الموارد لتوضيح أنّ البث المتعدد وWebM ليسا من طرق نقل البيانات المتاحة كما كان موضحًا سابقًا. تم تعديل قائمة التنسيقات الخاصة بالسمة cdn.format وفقًا لذلك، وتمت إزالة العنصر cdn.multicastIngestionInfo وسماته الفرعية من مستندات المرجع. بالإضافة إلى ذلك، تمت إزالة http من قائمة قيم cdn.ingestionType المسموح بها.