LiveStreams

يحتوي مورد liveStream على معلومات حول بث الفيديو الذي ترسله إلى YouTube. يوفّر البث المحتوى الذي سيتم بثه لمستخدمي YouTube. بعد إنشاء مورد liveStream، يمكن ربطه بمورد liveBroadcast واحد أو أكثر.

الطُرق

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

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

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

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

{
  "kind": "youtube#liveStream",
  "etag": etag,
  "id": string,
  "snippet": {
    "publishedAt": datetime,
    "channelId": string,
    "title": string,
    "description": string,
    "isDefaultStream": boolean
  },
  "cdn": {
    "ingestionType": string,
    "ingestionInfo": {
      "streamName": string,
      "ingestionAddress": string,
      "backupIngestionAddress": string
    },
    "resolution": string,
    "frameRate": string
  },
  "status": {
    "streamStatus": string,
    "healthStatus": {
      "status": string,
      "lastUpdateTimeSeconds": unsigned long,
      "configurationIssues": [
        {
          "type": string,
          "severity": string,
          "reason": string,
          "description": string
        }
      ]
    }
  },
  "contentDetails": {
    "closedCaptionsIngestionUrl": string,
    "isReusable": boolean
  }
}

الخصائص

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

الخصائص
kind string
لتحديد نوع مورد واجهة برمجة التطبيقات. ستكون القيمة youtube#liveStream.
etag etag
رقم تعريف Etag لهذا المرجع.
id string
المعرّف الذي تحدّده YouTube لتحديد مصدر البيانات بشكل فريد
snippet object
يحتوي العنصر snippet على تفاصيل أساسية عن البث، بما في ذلك القناة والعنوان والوصف.
snippet.publishedAt datetime
تاريخ ووقت إنشاء البث يتم تحديد القيمة بتنسيق ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ).
snippet.channelId string
المعرّف الذي تستخدمه YouTube لتحديد القناة التي تبث المحتوى بشكل فريد
snippet.title string
عنوان البث يجب أن يتراوح طول القيمة بين حرف واحد و128 حرفًا.
snippet.description string
وصف البث يجب ألا يزيد طول القيمة عن 10,000 حرف.
snippet.isDefaultStream boolean
سيتم إيقاف هذه السمة نهائيًا في 1 أيلول (سبتمبر) 2020 أو بعد هذا التاريخ. وفي هذه الحالة، ستوقف منصة YouTube إنشاء بث وبث تلقائيَين عند تفعيل ميزة البث المباشر في القناة. يُرجى الاطّلاع على الإشعار عن الإيقاف نهائيًا للحصول على مزيد من التفاصيل.
يشير هذا السمة إلى ما إذا كان هذا البث هو البث التلقائي للقناة.

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

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

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

عند انتهاء البث، تحوّل YouTube البث المكتمل إلى فيديو على YouTube وتمنحه رقم تعريف. بعد اكتمال عملية التحويل، يتم تضمين الفيديو في قائمة الفيديوهات التي تم تحميلها على القناة. لا يتوفّر الفيديو بعد انتهاء البث مباشرةً، ويرتبط طول فترة التأخير بالمدة الفعلية للبث.
cdn object
يحدِّد عنصر cdn إعدادات شبكة توصيل المحتوى (CDN) للبث المباشر. تقدّم هذه الإعدادات تفاصيل حول طريقة بث المحتوى إلى YouTube.
cdn.format string
تم إيقاف هذا السمة نهائيًا منذ 18 نيسان (أبريل) 2016، ولن تتمكّن من استخدامها بعد 17 آب (أغسطس) 2020. ولن يتم قبول الطلبات التي لا تزال تستخدم هذا الموقع الإلكتروني كموقع لذلك التاريخ.

بدلاً من ذلك، استخدِم السمتَين cdn.frameRate و cdn.resolution لتحديد معدل عرض اللقطات ودرجة الدقة بشكل منفصل.
cdn.ingestionType string
الطريقة أو البروتوكول المستخدَمَين لنقل بث الفيديو

في ما يلي القيم الصالحة لهذه السمة:
  • dash
  • hls
  • rtmp (بما في ذلك بروتوكول RTMPS)
cdn.ingestionInfo object
يحتوي عنصر ingestionInfo على معلومات تقدّمها منصة YouTube ويجب أن تتوفّر لديك هذه المعلومات لنقل البث إلى YouTube.
cdn.ingestionInfo.streamName string
اسم البث الذي تحدّده منصة YouTube لبث الفيديو
cdn.ingestionInfo.ingestionAddress string
عنوان URL الأساسي الذي يجب استخدامه لبث الفيديو إلى YouTube في حال استخدام RTMP أو DASH أو HLS. يجب بث الفيديو إلى عنوان URL هذا.

استنادًا إلى التطبيق أو الأداة التي تستخدمها لتشفير بث الفيديو، قد تحتاج إلى إدخال عنوان URL للبث واسم بث الفيديو بشكل منفصل أو قد تحتاج إلى تسلسلهما بالتنسيق التالي:
STREAM_URL/STREAM_NAME
cdn.ingestionInfo.backupIngestionAddress string
عنوان URL الاحتياطي الذي يجب استخدامه لبث الفيديو إلى YouTube في حال استخدام RTMP أو DASH أو HLS. يمكنك بث المحتوى الذي ترسله إلى الingestionAddress إلى عنوان URL هذا في الوقت نفسه.
cdn.ingestionInfo.rtmpsIngestionAddress string
عنوان URL الأساسي الذي يجب استخدامه لبث الفيديو إلى YouTube في حال استخدام بروتوكول RTMPS. يجب بث الفيديو إلى عنوان URL هذا.

استنادًا إلى التطبيق أو الأداة التي تستخدمها لترميز بث الفيديو، قد تحتاج إلى إدخال عنوان URL للبث واسم البث بشكل منفصل أو قد تحتاج إلى تسلسلهما بالتنسيق التالي:
STREAM_URL/STREAM_NAME
cdn.ingestionInfo.rtmpsBackupIngestionAddress string
عنوان URL الاحتياطي لتحميل المحتوى الذي يجب استخدامه لبث الفيديو على YouTube في حال استخدام بروتوكول RTMPS.
cdn.resolution string
درجة دقة بيانات الفيديو الواردة.

في ما يلي القيم الصالحة لهذه السمة:
  • 240p
  • 360p
  • 480p
  • 720p
  • 1080p
  • 1440p
  • 2160p
  • variable: استخدِم هذا الخيار للإشارة إلى أنّه على YouTube رصد درجة دقة الفيديو الذي يتم بثّه تلقائيًا. يجب أيضًا ضبط cdn.frameRate على variable.
    يمكنك الانتقال إلى "مركز مساعدة YouTube" للاطّلاع على إعدادات برنامج الترميز المقترَحة.
cdn.frameRate string
عدد اللقطات في الثانية لبيانات الفيديو الواردة.

في ما يلي القيم الصالحة لهذه السمة:
  • 30fps
  • 60fps
  • variable: استخدِم هذا الإعداد للإشارة إلى أنّه على YouTube رصد معدل عرض اللقطات في الفيديو الذي يتم بثه تلقائيًا. يجب أيضًا ضبط cdn.resolution على variable.
    يمكنك الانتقال إلى "مركز مساعدة YouTube" للاطّلاع على إعدادات برنامج الترميز المقترَحة.
status object
يحتوي العنصر status على معلومات عن حالة البث المباشر.
status.streamStatus string
حالة البث.

في ما يلي القيم الصالحة لهذا الحقل:
  • active – مصدر البيانات في حالة نشطة، ما يعني أنّ المستخدم يتلقّى البيانات من خلال مصدر البيانات.
  • created: تم إنشاء البث المباشر ولكنّه لا يتضمّن إعدادات CDN صالحة.
  • error – هناك حالة خطأ في البث.
  • inactive – مصدر البيانات في حالة غير نشطة، ما يعني أنّ المستخدم لا يتلقّى بيانات من خلال مصدر البيانات.
  • ready – يتضمّن البث إعدادات شبكة توصيل المحتوى (CDN) صالحة.
status.healthStatus object
يحتوي هذا العنصر على معلومات عن حالة البث المباشر، والتي يمكن استخدامها لتحديد مشاكل البث المباشر وتحديدها وحلّها.
status.healthStatus.status string
رقم رمز حالة هذا البث.

القيم الصالحة لهذه السمة هي:
  • good: ما مِن مشاكل في الإعدادات لحدتها warning أو أكثر خطورة.
  • ok: ما مِن مشاكل في الإعدادات لحدتها error.
  • bad: يتضمّن البث بعض المشاكل التي تبلغ شدتها error.
  • noData – لا تتوفّر لخوادم الخلفية في البث المباشر على YouTube أي معلومات عن حالة البث.
status.healthStatus.lastUpdateTimeSeconds unsigned long
آخر مرة تم فيها تعديل حالة البث تعكس القيمة طابعًا زمنيًا لنظام التشغيل يونكس بالثواني.
status.healthStatus.configurationIssues[] list
يحتوي هذا العنصر على قائمة بمشاكل الإعداد التي تؤثّر في البث.
status.healthStatus.configurationIssues[].type string
يحدِّد نوع الخطأ الذي يؤثر في البث.
status.healthStatus.configurationIssues[].severity string
يشير إلى مدى خطورة المشكلة في البث.

القيم الصالحة لهذه السمة هي:
  • info: يتم بث الفيديو للمشاهدين بدون أي تأثير سلبي على الأداء.
  • warning: يتم بث الفيديو للمشاهدين، ولكن الأداء ليس مثاليًا.
  • error - لا يمكن بث الفيديو للمشاهدين.
status.healthStatus.configurationIssues[].reason string
وصف موجز للمشكلة يحدّد مستند مشاكل الضبط لموارد البث المباشر السبب المرتبط بكل نوع من أنواع مشاكل الضبط.
status.healthStatus.configurationIssues[].description string
وصف تفصيلي للمشكلة يقدّم الوصف معلومات حول كيفية حلّ المشكلة، إن أمكن. يسرد مستند مشاكل الضبط لموارد البث المباشر جميع أنواع مشاكل الضبط والأوصاف المرتبطة بها.
contentDetails object
يحتوي العنصر content_details على معلومات عن البث، بما في ذلك عنوان URL لعرض الترجمة والشرح.
contentDetails.closedCaptionsIngestionUrl string
عنوان URL لمسار الإدخال الذي يتم إرسال ترجمة وشرح هذا البث المباشر إليه.
contentDetails.isReusable boolean
يشير إلى ما إذا كان البث قابلاً لإعادة الاستخدام، ما يعني أنّه يمكن ربطه بأحداث بث متعددة. من الشائع أن يعيد مُشغّلو البث استخدام البث نفسه في العديد من أحداث البث المختلفة إذا كانت هذه الأحداث تحدث في أوقات مختلفة.

في حال ضبط هذه القيمة على false، لن يكون البث قابلاً لإعادة الاستخدام، ما يعني أنّه لا يمكن ربطه إلا ببث واحد. تختلف أحداث البث غير القابلة لإعادة الاستخدام عن أحداث البث القابلة لإعادة الاستخدام في النقاط التالية:
  • لا يمكن ربط البث غير القابل لإعادة الاستخدام إلا ببث واحد.
  • قد يتم حذف البث غير القابل لإعادة الاستخدام من خلال عملية مبرمَجة بعد انتهاء البث.
  • لا تُدرِج طريقة liveStreams.list أحداث البث غير القابلة لإعادة الاستخدام في حال استدعاء الطريقة وضبط المَعلمة mine على true. إنّ الطريقة الوحيدة لاستخدام هذه الطريقة لاسترداد المورد لمصدر غير قابل لإعادة الاستخدام هي استخدام المَعلمة id لتحديد المصدر.