LiveBroadcasts

تتيح واجهة برمجة التطبيقات الآن إمكانية تصنيف بثك المباشر على أنّه "محتوى مخصّص للأطفال"، كما أنّ المورد liveBroadcast يتضمّن الآن سمة تحدّد حالة البث المباشر على أنّه "محتوى مخصّص للأطفال". تم أيضًا تعديل بنود الخدمة وسياسات المطوّرين الخاصة بخدمات YouTube API في 10 يناير 2020. لمزيد من المعلومات، يُرجى الاطّلاع على سجلات المراجعات الخاصة بخدمة YouTube Live Streaming API وبنود الخدمة الخاصة بخدمات YouTube API.

يمثّل مرجع liveBroadcast حدثًا سيتم بثه مباشرةً على YouTube باستخدام فيديو مباشر.

الطُرق

تتيح واجهة برمجة التطبيقات الطرق التالية لموارد liveBroadcasts:

list
تعرض هذه الطريقة قائمة بعمليات البث المباشر على YouTube التي تتطابق مع مَعلمات طلب البيانات من واجهة برمجة التطبيقات. التجربة الآن
إدراج
إنشاء بث التجربة الآن
تعديل
تعدّل هذه الطريقة بثًا مباشرًا. على سبيل المثال، يمكنك تعديل إعدادات البث المحدّدة في عنصر contentDetails الخاص بمورد liveBroadcast. جرِّبها الآن.
حذف
لحذف بث. التجربة الآن
ربط
يربط هذا الإجراء بثًا على YouTube ببث مباشر أو يزيل ربطًا حاليًا بين بث مباشر وبث على YouTube. يمكن ربط البث المباشر بمجموعة بث فيديو واحدة فقط، ولكن يمكن ربط مجموعة بث الفيديو بأكثر من بث مباشر واحد. التجربة الآن
transition
تغيّر هذه الطريقة حالة بث مباشر على YouTube وتبدأ أي عمليات مرتبطة بالحالة الجديدة. على سبيل المثال، عندما تغيّر حالة بث مباشر إلى testing، يبدأ YouTube في إرسال الفيديو إلى مجموعة البث المخصّصة للمراقبة. قبل استدعاء هذه الطريقة، يجب التأكّد من أنّ قيمة السمة status.streamStatus للتدفق المرتبط بالبث هي active. جرِّبها الآن.
cuepoint
تُدرج هذه الطريقة نقطة إشارة في بث مباشر. قد يؤدي موضع الإشارة إلى بدء فاصل إعلاني.

تمثيل الموارد

يعرض بنية JSON التالية تنسيق مورد liveBroadcasts:

{
  "kind": "youtube#liveBroadcast",
  "etag": etag,
  "id": string,
  "snippet": {
    "publishedAt": datetime,
    "channelId": string,
    "title": string,
    "description": string,
    "categoryId": string,
    "thumbnails": {
      (key): {
        "url": string,
        "width": unsigned integer,
        "height": unsigned integer
      }
    },
    "scheduledStartTime": datetime,
    "scheduledEndTime": datetime,
    "actualStartTime": datetime,
    "actualEndTime": datetime,
    "isDefaultBroadcast": boolean,
    "liveChatId": string
  },
  "status": {
    "lifeCycleStatus": string,
    "privacyStatus": string,
    "recordingStatus": string,
    "madeForKids": string,
    "selfDeclaredMadeForKids": string,
  },
  "contentDetails": {
    "boundStreamId": string,
    "boundStreamLastUpdateTimeMs": datetime,
    "monitorStream": {
      "enableMonitorStream": boolean,
      "broadcastStreamDelayMs": unsigned integer,
      "embedHtml": string
    },
    "enableEmbed": boolean,
    "enableDvr": boolean,
    "recordFromStart": boolean,
    "enableClosedCaptions": boolean,
    "closedCaptionsType": string,
    "projection": string,
    "enableLowLatency": boolean,
    "latencyPreference": boolean,
    "enableAutoStart": boolean,
    "enableAutoStop": boolean,
    "availabilityConfig": {
      "globalConfig": {
        "excludedRegionCodes": [
          string
        ],
        "interval": {
          "startTime": datetime,
          "endTime": datetime
        }
      },
      "regionsConfig": {
        "regionIntervals": [
          {
            "regionCode": string,
            "interval": {
              "startTime": datetime,
              "endTime": datetime
            }
          }
        ]
      }
    }
  },
  "statistics": {
    "totalChatCount": unsigned long
  },
  "monetizationDetails": {
    "adsMonetizationStatus": string,
    "eligibleForAdsMonetization": boolean,
    "cuepointSchedule": {
      "enabled": boolean,
      "pauseAdsUntil": datetime,
      "ytOptimizedCuepointConfig": string,
      "creatorCuepointConfig": {
        "scheduleStrategy": string,
        "repeatIntervalSecs": unsigned integer
      }
    }
  }
}

الخصائص

يحدّد الجدول التالي السمات التي تظهر في هذا المرجع:

الخصائص
kind string
تحدّد هذه السمة نوع مورد واجهة برمجة التطبيقات. ستكون القيمة youtube#liveBroadcast.
etag etag
تمثّل هذه السمة Etag الخاصة بهذا المرجع.
id string
المعرّف الذي يحدّده YouTube لتحديد البث بشكل فريد.
snippet object
يحتوي العنصر snippet على تفاصيل أساسية حول الحدث، بما في ذلك عنوانه ووصفه ووقت بدئه ووقت انتهائه.
snippet.publishedAt datetime
تمثّل هذه السمة تاريخ ووقت إضافة البث إلى جدول البث المباشر على YouTube. يتم تحديد القيمة بالتنسيق ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
snippet.channelId string
المعرّف الذي يستخدمه YouTube لتحديد القناة التي تنشر البث بشكل فريد.
snippet.title string
تمثّل هذه السمة عنوان البث. يُرجى العِلم أنّ البث المباشر يمثّل فيديو واحدًا فقط على YouTube. يمكنك ضبط هذا الحقل من خلال تعديل مورد البث أو ضبط الحقل title لمورد الفيديو ذي الصلة.
snippet.description string
تمثّل هذه السمة وصف البث. كما هو الحال مع title، يمكنك ضبط هذا الحقل من خلال تعديل مورد البث أو ضبط الحقل description لمورد الفيديو ذي الصلة.
snippet.categoryId string
تمثّل هذه السمة فئة الفيديو على YouTube المرتبطة بالبث. يمكنك استرداد قائمة بالفئات باستخدام طريقة videoCategories.list.
snippet.thumbnails object
خريطة للصور المصغّرة المرتبطة بالبث بالنسبة إلى كل عنصر متداخل في هذا العنصر، يكون المفتاح هو اسم الصورة المصغّرة، والقيمة هي عنصر يحتوي على معلومات أخرى حول الصورة المصغّرة.
snippet.thumbnails.(key) object
قيم المفاتيح الصالحة هي:
  • default: الصورة المصغّرة التلقائية يبلغ حجم الصورة المصغّرة التلقائية للفيديو أو المرجع الذي يشير إلى فيديو، مثل عنصر في قائمة تشغيل أو نتيجة بحث، 120 بكسل عرضًا و90 بكسل ارتفاعًا. يبلغ عرض الصورة المصغّرة التلقائية للقناة 88 بكسل وطولها 88 بكسل.
  • medium: نسخة من الصورة المصغّرة بدقة أعلى بالنسبة إلى فيديو (أو مرجع يشير إلى فيديو)، يبلغ عرض هذه الصورة 320 بكسل وارتفاعها 180 بكسل. بالنسبة إلى قناة، يبلغ عرض هذه الصورة 240 بكسل وارتفاعها 240 بكسل.
  • high: نسخة عالية الدقة من الصورة المصغّرة بالنسبة إلى فيديو (أو مرجع يشير إلى فيديو)، يبلغ عرض هذه الصورة 480 بكسل وارتفاعها 360 بكسل. بالنسبة إلى القناة، يبلغ عرض هذه الصورة 800 بكسل وارتفاعها 800 بكسل.
  • standard: نسخة من الصورة المصغّرة بدقة أعلى من دقة الصورة high. تتوفّر هذه الصورة لبعض الفيديوهات والمراجع الأخرى التي تشير إلى الفيديوهات، مثل عناصر قائمة التشغيل أو نتائج البحث. يبلغ عرض هذه الصورة 640 بكسل وارتفاعها 480 بكسل.
  • maxres: نسخة عالية الدقة من الصورة المصغّرة يتوفّر حجم الصورة هذا لبعض الفيديوهات والمراجع الأخرى التي تشير إلى الفيديوهات، مثل عناصر قائمة التشغيل أو نتائج البحث. يبلغ عرض هذه الصورة 1280 بكسل وارتفاعها 720 بكسل.
  • fhd: نسخة الصورة المصغّرة بدقة فائقة (1080p) يتوفّر حجم الصورة هذا لبعض الفيديوهات. يبلغ عرض هذه الصورة 1920 بكسل وارتفاعها 1080 بكسل.
  • qhd – نسخة الصورة المصغّرة بدقة Quad High Definition (1440p / 2K) يتوفّر حجم الصورة هذا لبعض الفيديوهات. يبلغ عرض هذه الصورة 2560 بكسل وارتفاعها 1440 بكسل.
  • uhd: نسخة الصورة المصغّرة فائقة الدقة (4K) يتوفّر حجم الصورة هذا لبعض الفيديوهات. يبلغ عرض هذه الصورة 3840 بكسل وارتفاعها 2160 بكسل.
snippet.thumbnails.(key).url string
تمثّل عنوان URL الخاص بالصورة.
snippet.thumbnails.(key).width unsigned integer
تمثّل هذه السمة عرض الصورة.
snippet.thumbnails.(key).height unsigned integer
تمثّل هذه السمة ارتفاع الصورة.
snippet.scheduledStartTime datetime
تمثّل هذه السمة تاريخ ووقت بدء البث المجدوَل. يتم تحديد القيمة بالتنسيق ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ). يتيح "استوديو صنّاع المحتوى" إمكانية إنشاء بث مباشر بدون تحديد وقت بدء. في هذه الحالة، يبدأ البث المباشر عندما يبدأ مالك القناة بالبث. بالنسبة إلى عمليات البث هذه، تتوافق قيمة datetime مع الوقت صفر في نظام Unix، ولا يمكن تغيير هذه القيمة باستخدام واجهة برمجة التطبيقات أو في "استوديو صنّاع المحتوى".
snippet.scheduledEndTime datetime
تمثّل هذه السمة تاريخ ووقت انتهاء البث المجدوَل. يتم تحديد القيمة بالتنسيق ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ). إذا لم يحدّد مرجع liveBroadcast قيمة لهذه السمة، سيتم تحديد موعد استمرار البث إلى أجل غير مسمى. وبالمثل، إذا لم تحدّد قيمة لهذه السمة، سيتعامل YouTube مع البث كما لو أنّه سيستمر إلى أجل غير مسمّى.
snippet.actualStartTime datetime
تمثّل هذه السمة تاريخ ووقت بدء البث فعليًا. لا تتوفّر هذه المعلومات إلا بعد أن تصبح حالة البث live. يتم تحديد القيمة بالتنسيق ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
snippet.actualEndTime datetime
تمثّل هذه السمة تاريخ ووقت انتهاء البث فعليًا. لا تتوفّر هذه المعلومات إلا بعد أن تصبح حالة البث complete. يتم تحديد القيمة بالتنسيق ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
snippet.isDefaultBroadcast boolean
سيتم إيقاف هذه السمة نهائيًا في 1 سبتمبر 2020 أو بعد هذا التاريخ. في ذلك الوقت، سيتوقّف YouTube عن إنشاء بث مباشر تلقائي وبث تلقائي عند تفعيل خدمة البث المباشر في قناة. يمكنك الاطّلاع على الإشعار عن الإيقاف النهائي لمعرفة المزيد من التفاصيل.
تشير هذه السمة إلى ما إذا كان هذا البث هو البث التلقائي.

طريقة عمل عمليات البث التلقائية

عند تفعيل البث المباشر على قناة على YouTube، ينشئ YouTube بثًا تلقائيًا وعملية بث تلقائية للقناة. يحدّد البث المباشر الطريقة التي يرسل بها مالك القناة الفيديو المباشر إلى YouTube، ويحدّد البث الطريقة التي يمكن للمشاهدين من خلالها مشاهدة البث المباشر التلقائي. يمكن لمالك القناة استخدام الطريقتَين liveStreams.list وliveBroadcasts.list لتحديد هذه الموارد.

عندما تبدأ قناة ببث فيديو إلى البث التلقائي، يصبح الفيديو مرئيًا في البث التلقائي للقناة. عند انتهاء البث، يحوّل YouTube البث المكتمل إلى فيديو على YouTube ويمنحه معرّف فيديو على YouTube.

بعد اكتمال عملية التحويل، يتم تضمين الفيديو في قائمة الفيديوهات المحمّلة على القناة. لا يتوفّر الفيديو مباشرةً بعد انتهاء البث، ويعتمد طول فترة التأخير على مدة البث الفعلية.
snippet.liveChatId string
تمثّل هذه السمة المعرّف الخاص بالمحادثة المباشرة على YouTube. باستخدام هذا المعرّف، يمكنك استخدام طرق المورد liveChatMessage لاسترداد رسائل المحادثة أو إدراجها أو حذفها. يمكنك أيضًا إضافة مشرفين إلى المحادثة أو إزالتهم، أو حظر المستخدمين من المشاركة في المحادثات المباشرة، أو إزالة عمليات الحظر الحالية.
status object
يحتوي الكائن status على معلومات حول حالة الحدث.
status.lifeCycleStatus string
حالة البث يمكن تعديل الحالة باستخدام طريقة liveBroadcasts.transition في واجهة برمجة التطبيقات.

القيم الصالحة لهذه السمة هي:
  • complete: انتهى البث.
  • created: يتضمّن البث إعدادات غير مكتملة، لذا فهو غير جاهز للانتقال إلى الحالة live أو testing، ولكن تم إنشاؤه وهو صالح بخلاف ذلك.
  • live: يعني أنّ البث نشط.
  • liveStarting: البث في طور الانتقال إلى الحالة live.
  • ready: اكتملت إعدادات البث ويمكن أن تنتقل حالة البث إلى live أو testing.
  • revoked: تمت إزالة هذا البث من خلال إجراء اتّخذه أحد المشرفين.
  • testStarting: البث في طور الانتقال إلى الحالة testing.
  • testing: لا يمكن مشاهدة البث إلا من قِبل الشريك.
status.privacyStatus string
حالة خصوصية البث يُرجى العلم أنّ البث المباشر يمثّل فيديو واحدًا فقط على YouTube، لذا تكون إعدادات الخصوصية مماثلة لتلك المتاحة للفيديوهات. بالإضافة إلى ذلك، يمكنك ضبط هذا الحقل من خلال تعديل مصدر البث أو ضبط الحقل privacyStatus لمصدر الفيديو ذي الصلة.

القيم الصالحة لهذه السمة هي:
  • private
  • public
  • unlisted
status.recordingStatus string
تعرض هذه السمة حالة تسجيل البث.

في ما يلي القيم الصالحة لهذه السمة:
  • notRecording
  • recorded
  • recording
status.madeForKids boolean
تشير هذه القيمة إلى ما إذا كان البث المباشر مصنّفًا على أنّه موجّه إلى الأطفال. قيمة هذه السمة مخصّصة للقراءة فقط.
status.selfDeclaredMadeForKids boolean
في liveBroadcasts.insert طلب، تتيح هذه السمة لمالك القناة تصنيف البث المباشر على أنّه موجّه إلى الأطفال. في طلب liveBroadcasts.list، لا يتم عرض قيمة السمة إلا إذا فوّض مالك القناة طلب واجهة برمجة التطبيقات.
contentDetails object
يحتوي العنصر contentDetails على معلومات حول محتوى الفيديو الخاص بالحدث، مثل ما إذا كان يمكن عرض المحتوى في مشغّل فيديو مضمّن أو ما إذا كان سيتم أرشيفته وبالتالي سيكون متاحًا للمشاهدة بعد انتهاء الحدث.
contentDetails.boundStreamId string
تحدّد هذه القيمة بشكل فريد live stream المرتبط بالبث.
contentDetails.boundStreamLastUpdateTimeMs datetime
يشير هذا العنصر إلى تاريخ ووقت آخر تعديل على البث المباشر المشار إليه في boundStreamId.
contentDetails.monitorStream object
يحتوي العنصر monitorStream على معلومات حول بث المراقبة، ويمكن للمذيع استخدامها لمراجعة محتوى الحدث قبل عرض بث الحدث بشكل علني.
contentDetails.monitorStream.enableMonitorStream boolean
تحدّد هذه القيمة ما إذا كان سيتم تفعيل بث الشاشة للحدث. في حال تفعيل بث المراقبة، سيبثّ YouTube محتوى الحدث على بث خاص مخصّص للاستهلاك من قِبل المذيع فقط. يمكن للمذيع استخدام البث لمراجعة محتوى الحدث وتحديد الأوقات المثالية لإدراج نقاط الإشارات.

يجب ضبط هذه القيمة على true إذا كنت تنوي إعداد testing مرحلة لبثك أو إذا كنت تريد الوقت الفاصل بين تسجيل البث وظهوره لدى المشاهدين لحدثك. بالإضافة إلى ذلك، إذا كانت قيمة هذه السمة هي true، يجب نقل البث إلى الحالة testing قبل نقله إلى الحالة live. (إذا كانت قيمة السمة هي false، لا يمكن أن يتضمّن البث مرحلة testing، لذا يمكنك نقل البث مباشرةً إلى الحالة live).

عند update a broadcast، يجب ضبط هذه السمة إذا كان طلب البيانات من واجهة برمجة التطبيقات يتضمّن الجزء contentDetails في قيمة المَعلمة part. ومع ذلك، عند insert a broadcast، تكون السمة اختيارية وقيمتها التلقائية هي true.

ملاحظة مهمة: لا يمكن تعديل هذه السمة بعد أن يصبح البث في الحالة testing أو live.
contentDetails.monitorStream.broadcastStreamDelayMs unsigned integer
إذا ضبطت السمة enableMonitorStream على true، ستحدّد هذه السمة مدة تأخير البث المباشر.

عند update a broadcast، يجب ضبط هذه السمة إذا كان طلب البيانات من واجهة برمجة التطبيقات يتضمّن الجزء contentDetails في قيمة المَعلمة part. ومع ذلك، عند insert a broadcast، تكون السمة اختيارية وقيمتها التلقائية هي 0. تشير هذه القيمة إلى أنّ البث لا يتضمّن الوقت الفاصل بين تسجيل البث وظهوره لدى المشاهدين. ملاحظة: لا يمكن تعديل هذه السمة بعد أن يصبح البث في الحالة testing أو live.
contentDetails.monitorStream.embedHtml string
رمز HTML الذي يضمّن مشغّلاً يعرض بث الشاشة.
contentDetails.enableEmbed boolean
يشير هذا الإعداد إلى ما إذا كان يمكن تشغيل فيديو البث المباشر في مشغّل مضمّن. إذا اخترت أرشفة الفيديو (باستخدام السمة enableArchive)، سينطبق هذا الإعداد أيضًا على الفيديو المؤرشف.

عند update a broadcast، يجب ضبط هذه السمة إذا كان طلب البيانات من واجهة برمجة التطبيقات يتضمّن الجزء contentDetails في قيمة المَعلمة part. ومع ذلك، عند insert a broadcast، تكون السمة اختيارية وقيمتها التلقائية هي true.

ملاحظة: لا يمكن تعديل هذه السمة بعد أن تصبح حالة البث testing أو live.
contentDetails.enableDvr boolean
يحدّد هذا الإعداد ما إذا كان بإمكان المشاهدين استخدام عناصر التحكّم في مسجّل الفيديو الرقمي أثناء مشاهدة الفيديو. تتيح عناصر التحكّم في DVR للمشاهد التحكّم في تجربة تشغيل الفيديو من خلال إيقاف المحتوى مؤقتًا أو إرجاعه أو تقديمه بسرعة. القيمة التلقائية لهذه السمة هي true.

عند update a broadcast، يجب ضبط هذه السمة إذا كان طلب البيانات من واجهة برمجة التطبيقات يتضمّن الجزء contentDetails في قيمة المَعلمة part. ومع ذلك، عند insert a broadcast، تكون السمة اختيارية وقيمتها التلقائية هي true.

ملاحظة مهمة: يجب ضبط القيمة على true وضبط قيمة السمة enableArchive على true أيضًا إذا أردت إتاحة التشغيل فور انتهاء البث. بالإضافة إلى ذلك، لا يمكن تعديل هذه السمة عندما تكون حالة البث testing أو live.
contentDetails.recordFromStart boolean
يشير هذا الخيار إلى ما إذا كان YouTube سيبدأ تلقائيًا بتسجيل البث بعد أن تتغيّر حالة الحدث إلى "مباشر".

القيمة التلقائية لهذه السمة هي true، ولا يمكن ضبطها على false إلا إذا كانت القناة التي تبث الحدث المباشر مخوّلة إيقاف تسجيله.

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

عند update a broadcast، يجب ضبط هذه السمة إذا كان طلب البيانات من واجهة برمجة التطبيقات يتضمّن الجزء contentDetails في قيمة المَعلمة part. ومع ذلك، عند insert a broadcast، تكون السمة اختيارية وقيمتها التلقائية هي true.

ملاحظة مهمة: يجب أيضًا ضبط قيمة السمة enableDvr على true إذا أردت أن يكون التشغيل متاحًا فور انتهاء البث. إذا ضبطت قيمة هذه السمة على true ولكن لم تضبط السمة enableDvr على true أيضًا، قد يحدث تأخير لمدة يوم واحد تقريبًا قبل أن يصبح الفيديو المؤرشف متاحًا للتشغيل.

ملاحظة: لا يمكن تعديل هذه السمة بعد أن تصبح حالة البث testing أو live.
contentDetails.enableClosedCaptions boolean
تم إيقاف هذه السمة نهائيًا اعتبارًا من 17 ديسمبر 2015. يُرجى استخدام السمة contentDetails.closedCaptionsType بدلاً منها.

يشير هذا الإعداد إلى ما إذا كانت ميزة "الترجمة والشرح" عبر HTTP POST مفعّلة لهذا البث. بالنسبة إلى عملاء واجهة برمجة التطبيقات الذين يستخدمون هذا الموقع حاليًا:
  • ضبط قيمة السمة على true يعادل ضبط السمة contentDetails.closedCaptionsType على closedCaptionsHttpPost.
  • ضبط قيمة السمة على false يعادل ضبط السمة contentDetails.closedCaptionsType على closedCaptionsDisabled.
contentDetails.closedCaptionsType string
ملاحظة: تحلّ هذه السمة محلّ السمة contentDetails.enableClosedCaptions.

تشير هذه السمة إلى ما إذا كانت ميزة "الترجمة والشرح" مفعّلة في البث المباشر، وإذا كان الأمر كذلك، تشير إلى نوع مقاطع الترجمة والشرح التي تقدّمها:
  • closedCaptionsDisabled: ميزة "الترجمة والشرح" غير مفعَّلة للبث المباشر.
  • closedCaptionsHttpPost: سترسل الترجمة والشرح باستخدام HTTP POST إلى عنوان URL خاص بالاستيعاب مرتبط ببثك المباشر.
  • closedCaptionsEmbedded: سيتم ترميز مقاطع الترجمة والشرح في بث الفيديو باستخدام تنسيقات EIA-608 و/أو CEA-708.
contentDetails.projection string
تمثّل هذه السمة تنسيق العرض لهذا البث. القيمة التلقائية لهذه السمة هي rectangular.

القيم الصالحة لهذه السمة هي:
  • 360
  • rectangular
contentDetails.enableLowLatency boolean
يشير هذا الإعداد إلى ما إذا كان يجب ترميز هذا البث ليكون متوافقًا مع البث المباشر بزمن استجابة منخفض. يمكن أن يؤدي البث بزمن استجابة منخفض إلى تقليل الوقت الذي يستغرقه ظهور الفيديو للمستخدمين الذين يشاهدون بثًا مباشرًا، ولكن يمكن أن يؤثّر أيضًا في دقة الفيديو للمشاهدين.
contentDetails.latencyPreference string
تحدّد هذه السمة إعدادات وقت الاستجابة التي سيتم استخدامها في هذا البث. يمكن استخدام هذه السمة بدلاً من enableLowLatency التي لا تتوافق مع ultraLow.

يمكن أن يقلّل بث الفيديو بزمن استجابة منخفض من الوقت الذي يستغرقه ظهور الفيديو للمستخدمين الذين يشاهدون البث، ولكنّه قد يؤثر أيضًا في سلاسة التشغيل.

يقلّل بث الفيديو بزمن استجابة منخفض جدًا من الوقت الذي يستغرقه ظهور الفيديو للمشاهدين، ما يسهّل التفاعل معهم، ولكنّه لا يتيح استخدام الترجمة والشرح أو دقة أعلى من 1080p.

القيم الصالحة لهذه السمة هي:
  • normal
  • low
  • ultraLow
contentDetails.enableAutoStart boolean
يشير إلى ما إذا كان يجب بدء هذا البث تلقائيًا عند بدء بث الفيديو على live stream المرتبط.
contentDetails.enableAutoStop boolean
يشير إلى ما إذا كان يجب إيقاف هذا البث تلقائيًا بعد حوالي دقيقة واحدة من توقّف مالك القناة عن بث الفيديو على بث الفيديو المرتبط.
contentDetails.availabilityConfig object
إعدادات مدى توفّر البث المباشر تُستخدَم لضبط مدى التوفّر في منطقة معيّنة أو حظر مناطق معيّنة. وهي اختيارية، فإذا لم يتم ضبطها، لن يتم فرضها.
contentDetails.availabilityConfig.globalConfig object
إعدادات التوفّر على مستوى العالم للبث يتوفّر الفيديو في جميع المناطق باستثناء تلك المحدّدة في قائمة excludedRegionCodes.
contentDetails.availabilityConfig.globalConfig.excludedRegionCodes list (string)
قائمة بالمناطق التي تم حظر الفيديو فيها.
contentDetails.availabilityConfig.globalConfig.interval object
تمثّل هذه السمة الفترة الزمنية التلقائية التي يكون فيها الفيديو متاحًا في جميع المناطق غير المحظورة. ملاحظة: لا تتوفّر هذه السمة لعمليات البث المباشر القادمة أو النشطة.
contentDetails.availabilityConfig.globalConfig.interval.startTime datetime
تمثّل هذه السمة تاريخ ووقت توفّر الفيديو. في حال عدم تحديدها، يكون الفيديو متاحًا. يتم تحديد القيمة بالتنسيق ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
contentDetails.availabilityConfig.globalConfig.interval.endTime datetime
تمثّل هذه السمة التاريخ والوقت اللذين سيتوقف الفيديو عن الظهور بعدهما. في حال عدم تحديدها، سيبقى الفيديو متاحًا إلى الأبد. لا يمكن أن يكون وقت البدء ووقت الانتهاء المحدّدان بعد أكثر من خمس سنوات في المستقبل. يتم تحديد القيمة بالتنسيق ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
contentDetails.availabilityConfig.regionsConfig object
تمثّل هذه السمة إعدادات مدى التوفّر الجغرافي للبث. يتوفّر الفيديو في المناطق المحدّدة فقط.
contentDetails.availabilityConfig.regionsConfig.regionIntervals list (object)
قائمة بالمناطق والفترات الزمنية التي يتوفّر فيها الفيديو في حال تحديد منطقة عدة مرات، يتم استخدام اتحاد جميع الفواصل الزمنية.
contentDetails.availabilityConfig.regionsConfig.regionIntervals.regionCode string
تمثّل هذه السمة المنطقة التي يتوفّر فيها الفيديو.
contentDetails.availabilityConfig.regionsConfig.regionIntervals.interval object
تمثّل هذه السمة الفترة الزمنية التي يتوفّر فيها الفيديو في المنطقة المحدّدة. ملاحظة: لا تتوفّر هذه السمة لعمليات البث المباشر القادمة أو النشطة.
contentDetails.availabilityConfig.regionsConfig.regionIntervals.interval.startTime datetime
يمثّل هذا الحقل تاريخ ووقت إتاحة الفيديو في المنطقة المحدّدة. في حال عدم تحديدها، يكون الفيديو متاحًا. يتم تحديد القيمة بالتنسيق ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
contentDetails.availabilityConfig.regionsConfig.regionIntervals.interval.endTime datetime
تمثّل هذه السمة تاريخ ووقت توقّف الفيديو عن الظهور في المنطقة المحدّدة. في حال عدم تحديدها، سيبقى الفيديو متاحًا إلى الأبد. لا يمكن أن يكون وقت البدء ووقت الانتهاء المحدّدان بعد أكثر من خمس سنوات في المستقبل. يتم تحديد القيمة بالتنسيق ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
statistics object
يحتوي العنصر statistics على إحصاءات متعلقة ببث مباشر. يمكن أن تتغيّر قيم هذه الإحصاءات أثناء البث، ولا يمكن استردادها إلا أثناء البث المباشر.
statistics.totalChatCount unsigned long
تمثّل هذه السمة إجمالي عدد رسائل المحادثة المباشرة المرتبطة بالبث. تظهر السمة وقيمتها إذا كان البث مرئيًا للمستخدم، وكانت ميزة "المحادثة المباشرة" مفعّلة، وكان هناك رسالة واحدة على الأقل. يُرجى العِلم أنّ هذه السمة لن تحدّد قيمة بعد انتهاء البث. وبالتالي، لن تحدّد هذه السمة عدد رسائل المحادثة لفيديو مؤرشف من بث مباشر مكتمل.
monetizationDetails object
يحتوي العنصر monetizationDetails على معلومات حول تفاصيل تحقيق الربح من البث، مثل ما إذا كانت ميزة "أداة إنشاء الإعلانات" مفعّلة أو ما إذا تم تأخير إدراج "الإعلانات أثناء التشغيل".

monetizationDetails.adsMonetizationStatus string
تشير هذه السمة إلى ما إذا كان البث المباشر للفيديو يتيح عرض إعلانات أثناء التشغيل. القيم الصالحة هي on وoff.
monetizationDetails.eligibleForAdsMonetization string
تشير هذه السمة إلى ما إذا كان بث الفيديو مؤهلاً لعرض إعلانات أثناء التشغيل. قد يكون البث المباشر غير مؤهّل لأسباب مختلفة، مثل وجود مطالبة حالية أو عدم إعداد القناة لتحقيق الربح.
monetizationDetails.cuepointSchedule object
يحدّد الكائن cuepointSchedule إعدادات أتمتة الإعلانات للبث.
monetizationDetails.cuepointSchedule.enabled boolean
تحدّد هذه القيمة ما إذا كان يتم إدراج الإعلانات تلقائيًا في البث. إذا كانت القيمة هي true، سيُدرج YouTube تلقائيًا إعلانات أثناء التشغيل في البث. سيتم تحديد جدول عرض الإعلانات حسب قيمة الحقول الأخرى في الكائن monetizationDetails.cuepointSchedule.
monetizationDetails.cuepointSchedule.pauseAdsUntil datetime
تحدّد هذه القيمة أنّه على YouTube عدم إدراج إعلانات أثناء التشغيل في البث إلى حين حلول التاريخ والوقت المحدّدَين. يتم تحديد القيمة بتنسيق ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ). يجب ضبط القيمة على تاريخ ووقت مستقبليَين لإيقاف الإعلانات مؤقتًا، ويمكن أيضًا ضبط قيمة الحقل على تاريخ ووقت سابقَين أو قيمة فارغة لاستئناف الإعلانات.
monetizationDetails.cuepointSchedule.ytOptimizedCuepointConfig string
يحدّد هذا الحقل الخيار المحدّد لنقاط الإشارات للإعلانات التي يتم إدراجها تلقائيًا. يمكن للحقل تحديد أحد الأوضاع الثلاثة التالية:
  • LOW: إمكانية تحقيق نسبة أقل من الأرباح، وتقديم تجربة مشاهدة أقلّ تقطُّعًا
  • MEDIUM: إمكانية تحقيق مقدار متوسط من الأرباح، وتقديم تجربة مشاهدة متوازنة
  • HIGH: إمكانية تحقيق نسبة أعلى من الأرباح، وتقديم تجربة مشاهدة أكثر تقطُّعًا
monetizationDetails.cuepointSchedule.creatorCuepointConfig object
يحدّد العنصر creatorCuepointConfig خيار أداة التشغيل الآلي للإعلانات، ما يتيح لصنّاع المحتوى اختيار طريقة ظهور "الإعلانات أثناء التشغيل".
monetizationDetails.cuepointSchedule.creatorCuepointConfig.scheduleStrategy string
تحدّد هذه القيمة الاستراتيجية التي يجب أن يتّبعها YouTube لجدولة نقاط الإشارات. القيم الصالحة هي:
  • CONCURRENT: يتم تحديد موعد عرض نقاط الإشارات في الوقت نفسه لجميع المشاهدين
  • NON_CONCURRENT: يتم تحديد مواعيد نقاط الإشارات في أوقات مختلفة للمشاهدين المختلفين. يتيح هذا النهج عرض الإعلانات بمعدّل أعلى، ما يسمح للمشاهدين بتلقّي نقاط الإشارات عندما يكونون مؤهّلين.
monetizationDetails.cuepointSchedule.creatorCuepointConfig.repeatIntervalSecs unsigned integer
تحدّد هذه القيمة الفاصل الزمني بالثواني بين عمليات إدراج الإعلانات التلقائية أثناء البث. على سبيل المثال، إذا كانت القيمة 360، يمكن لـ YouTube إدراج نقاط بداية "الإعلانات أثناء التشغيل" بفواصل زمنية مدتها ست دقائق.

ملاحظة:
  • تحدّد القيمة الوقت الفاصل بين بداية نقاط الإشارات المتتالية. أي أنّ الفاصل الزمني لا يتم قياسه من نهاية نقطة إشارة إلى بداية نقطة الإشارة التالية.
  • للحفاظ على اتساق الإعدادات مع "استوديو YouTube"، يجب أن تكون هذه القيمة من مضاعفات 6 دقائق، أي من 6 دقائق إلى 30 دقيقة. سيتم تقريب أي عدد صحيح في طلب التعديل ضمن هذا النطاق إلى أقرب مضاعف لـ 6 دقائق، على الرغم من أنّه صالح.