LiveBroadcasts

این API اکنون از قابلیت علامت‌گذاری پخش‌های زنده به‌عنوان «ساخته‌شده برای کودکان» پشتیبانی می‌کند و منبع liveBroadcast اکنون دارای دارایی‌ای است که وضعیت «ساخته‌شده برای کودکان» آن پخش زنده را مشخص می‌کند. «شرایط خدمات» و «خط‌مشی توسعه‌دهندگان» «خدمات YouTube API» نیز در تاریخ ۱۰ ژانویه ۲۰۲۰ به‌روزرسانی شدند. برای اطلاعات بیشتر، تاریخچه بازبینی خدمات API جاری‌سازی زنده YouTube و شرایط خدمات خدمات API YouTube را ببینید.

یک منبع liveBroadcast نشان‌دهنده رویدادی است که بااستفاده از ویدیو زنده در YouTube جاری‌سازی خواهد شد.

روش‌ها

«میانای برنامه‌سازی کاربردی» از روش‌های زیر برای منابع liveBroadcasts پشتیبانی می‌کند:

فهرست
فهرستی از همه‌فرستی‌های YouTube را که با پارامترهای درخواست API مطابقت دارند برمی‌گرداند. اکنون امتحان کنید.
درج
همه‌فرستی ایجاد می‌کند. اکنون امتحان کنید.
به‌روزرسانی
همه‌فرستی را به‌روز می‌کند. برای مثال، می‌توانید تنظیمات همه‌فرستی تعریف‌شده در شیء contentDetails منبع liveBroadcast را اصلاح کنید. اکنون امتحان کنید.
حذف
همه‌فرستی را حذف می‌کند. اکنون امتحان کنید.
bind
یک پخش 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 – تصویر ریزعکس پیش‌فرض. ریزعکس پیش‌فرض برای یک ویدیو – یا منبعی که به یک ویدیو ارجاع می‌دهد، مانند یک مورد فهرست پخش یا نتیجه جستجو – ۱۲۰ پیکسل عرض و ۹۰ پیکسل ارتفاع دارد. ریزعکس پیش‌فرض برای کانال ۸۸ پیکسل عرض و ۸۸ پیکسل ارتفاع دارد.
  • medium – نسخه با وضوح بالاتر از تصویر کوچک. برای ویدیو (یا منبعی که به ویدیو ارجاع می‌دهد)، این تصویر ۳۲۰ پیکسل عرض و ۱۸۰ پیکسل ارتفاع دارد. برای یک کانال، این تصویر ۲۴۰ پیکسل عرض و ۲۴۰ پیکسل ارتفاع دارد.
  • high – نسخه‌ای با وضوح بالا از تصویر ریزعکس. برای ویدیو (یا منبعی که به ویدیو اشاره می‌کند)، این تصویر ۴۸۰ پیکسل عرض و ۳۶۰ پیکسل ارتفاع دارد. برای کانال، این تصویر ۸۰۰ پیکسل عرض و ۸۰۰ پیکسل ارتفاع دارد.
  • standard – نسخه‌ای با وضوح حتی بالاتر از تصویر ریزعکس نسبت‌به تصویر با وضوح high. این تصویر برای برخی‌از ویدیوها و منابع دیگری که به ویدیوها ارجاع می‌دهند، مانند موارد فهرست پخش یا نتایج جستجو، دردسترس است. این تصویر ۶۴۰ پیکسل عرض و ۴۸۰ پیکسل ارتفاع دارد.
  • maxres – نسخه با وضوح بالای تصویر کوچک. این اندازه تصویر برای برخی ویدیوها و منابع دیگری که به ویدیوها ارجاع می‌دهند، مانند موارد فهرست پخش یا نتایج جستجو، دردسترس است. این تصویر ۱۲۸۰ پیکسل عرض و ۷۲۰ پیکسل ارتفاع دارد.
  • fhd – نسخه تمام وضوح بالای (۱۰۸۰ پیکسل) تصویر ریزعکس. این اندازه تصویر برای برخی‌از ویدیوها دردسترس است. این تصویر ۱۹۲۰ پیکسل عرض و ۱۰۸۰ پیکسل ارتفاع دارد.
  • qhd – نسخه Quad HD (‏۱۴۴۰ پیکسل / 2K) از ریزعکس. این اندازه تصویر برای برخی‌از ویدیوها دردسترس است. این تصویر ۲۵۶۰ پیکسل عرض و ۱۴۴۰ پیکسل ارتفاع دارد.
  • uhd – نسخه با وضوح فوق‌العاده بالا (4K) از تصویر ریزعکس. این اندازه تصویر برای برخی‌از ویدیوها دردسترس است. عرض این تصویر ۳۸۴۰ پیکسل و ارتفاع آن ۲۱۶۰ پیکسل است.
snippet.thumbnails.(key).url string
نشانی وب تصویر.
snippet.thumbnails.(key).width unsigned integer
عرض تصویر.
snippet.thumbnails.(key).height unsigned integer
ارتفاع تصویر.
snippet.scheduledStartTime datetime
تاریخ و زمانی که برای شروع همه‌فرستی زمان‌بندی شده است. مقدار در قالب ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) مشخص شده است. «استودیوِ محتواساز» از قابلیت ایجاد همه‌فرستی بدون زمان‌بندی زمان شروع پشتیبانی می‌کند. در این حالت، همه‌فرستی هر زمان که مالک کانال جاری‌سازی را شروع کند، آغاز می‌شود. برای این همه‌فرستی‌ها، مقدار datetime با زمان صفر یونیکس مطابقت دارد و این مقدار را نمی‌توان بااستفاده از API یا در «استودیوِ محتواساز» تغییر داد.
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
این دارایی در تاریخ ۱ سپتامبر ۲۰۲۰ یا بعداز آن منسوخ خواهد شد. در آن زمان، 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 ، مقدار ویژگی فقط درصورتی برگردانده می‌شود که مالک کانال درخواست API را مجاز کرده باشد.
contentDetails object
شیء contentDetails حاوی اطلاعاتی درباره محتوای ویدیویی رویداد است، مثلاً اینکه آیا محتوا می‌تواند در پخش‌کننده ویدیو جاسازی‌شده نشان داده شود یا اینکه بایگانی خواهد شد و بنابراین پس‌از پایان رویداد برای مشاهده دردسترس خواهد بود.
contentDetails.boundStreamId string
این مقدار live stream پیوندشده به همه‌فرستی را به‌صورت یکتا شناسایی می‌کند.
contentDetails.boundStreamLastUpdateTimeMs datetime
تاریخ و زمان آخرین به‌روزرسانی جاری‌سازی زنده ارجاع‌شده توسط boundStreamId.
contentDetails.monitorStream object
شیء monitorStream حاوی اطلاعاتی درباره جاری‌سازی مانیتور است که پخش‌کننده می‌تواند از آن برای بازبینی محتوای رویداد قبل‌از نمایش عمومی جاری‌سازی پخش استفاده کند.
contentDetails.monitorStream.enableMonitorStream boolean
این مقدار تعیین می‌کند که آیا جاری‌سازی مانیتور برای همه‌فرستی فعال است یا نه. اگر جاری‌سازی پایش فعال باشد، YouTube محتوای رویداد را در جاری‌سازی ویژه‌ای که فقط برای استفاده پخش‌کننده درنظر گرفته شده است پخش خواهد کرد. پخش‌کننده می‌تواند از جاری‌سازی برای بررسی محتوای رویداد و همچنین شناسایی زمان‌های بهینه برای درج نقاط نشانه استفاده کند.

اگر قصد دارید برای همه‌فرستی خود یک مرحله testing داشته باشید یا اگر می‌خواهید برای رویداد خود تأخیر همه‌فرستی داشته باشید، باید این مقدار را روی true تنظیم کنید. علاوه‌براین، اگر مقدار این ویژگی true باشد، باید همه‌فرستی‌تان را به حالت testing منتقل کنید تا بتوانید آن را به حالت live منتقل کنید. (اگر مقدار دارایی false است، همه‌فرستی شما نمی‌تواند مرحله testing داشته باشد، بنابراین می‌توانید همه‌فرستی را مستقیماً به وضعیت live انتقال دهید.)

وقتی update a broadcast، اگر درخواست API شما شامل بخش contentDetails در مقدار پارامتر part باشد، این دارایی باید تنظیم شود. بااین‌حال، وقتی insert a broadcast، این ویژگی اختیاری است و مقدار پیش‌فرض آن true است.

مهم: این ویژگی را نمی‌توان پس‌از اینکه پخش در وضعیت testing یا live قرار گرفت به‌روز کرد.
contentDetails.monitorStream.broadcastStreamDelayMs unsigned integer
اگر دارایی enableMonitorStream را روی true تنظیم کرده‌اید، این دارایی طول تأخیر همه‌فرستی زنده را تعیین می‌کند.

وقتی update a broadcast، اگر درخواست API شما شامل بخش 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 دسترسی داشته باشند یا خیر. کنترل‌های DVR به بیننده امکان می‌دهد با توقف موقت، عقب بردن، یا جلو بردن سریع محتوا، تجربه بازپخش ویدیو را کنترل کند. مقدار پیش‌فرض برای این دارایی true است.

وقتی update a broadcast، اگر درخواست میانای برنامه‌سازی کاربردی شما شامل بخش contentDetails در مقدار پارامتر part باشد، این ویژگی باید تنظیم شود. بااین‌حال، وقتی insert a broadcast، این دارایی اختیاری است و مقدار پیش‌فرض آن true است.

مهم: اگر می‌خواهید بازپخش بلافاصله پس‌از پایان همه‌فرستی دردسترس قرار گیرد، باید مقدار را روی true تنظیم کنید و مقدار ویژگی enableArchive را نیز روی true تنظیم کنید. علاوه‌براین، وقتی همه‌فرستی در وضعیت testing یا live باشد، این ویژگی را نمی‌توان به‌روز کرد.
contentDetails.recordFromStart boolean
این تنظیم نشان می‌دهد که آیا YouTube پس‌از تغییر وضعیت رویداد به زنده، به‌طور خودکار ضبط همه‌فرستی را شروع می‌کند یا نه.

مقدار پیش‌فرض این ویژگی true است و فقط درصورتی می‌توان آن را روی false تنظیم کرد که کانال پخش‌کننده مجاز به غیرفعال کردن ضبط برای پخش‌های زنده باشد.

اگر کانال شما اجازه غیرفعال کردن ضبط‌ها را نداشته باشد و سعی کنید یک همه‌فرستی را با تنظیم ویژگی recordFromStart روی false درج کنید، API خطای Forbidden را برمی‌گرداند. علاوه‌براین، اگر کانال شما این اجازه را نداشته باشد و شما تلاش کنید تا یک پخش را به‌روزرسانی کنید تا ویژگی recordFromStart را به false تنظیم کنید، API خطای modificationNotAllowed را برمی‌گرداند.

وقتی update a broadcast، اگر درخواست API شما شامل بخش contentDetails در مقدار پارامتر part باشد، این ویژگی باید تنظیم شود. بااین‌حال، وقتی insert a broadcast، این دارایی اختیاری است و مقدار پیش‌فرض آن true است.

مهم: اگر می‌خواهید بازپخش بلافاصله پس‌از پایان همه‌فرستی دردسترس باشد، باید مقدار ویژگی enableDvr را نیز روی true تنظیم کنید. اگر مقدار این دارایی را روی true تنظیم کنید اما دارایی enableDvr را روی true تنظیم نکنید، ممکن است حدود یک روز تأخیر وجود داشته باشد تا ویدیو بایگانی‌شده برای بازپخش دردسترس قرار گیرد.

توجه: پس‌از اینکه همه‌فرستی در وضعیت testing یا live قرار گرفت، این دارایی دیگر قابل به‌روزرسانی نیست.
contentDetails.enableClosedCaptions boolean
این ویژگی از ۱۷ دسامبر ۲۰۱۵ منسوخ شده است. به‌جای آن، از خصوصیت contentDetails.closedCaptionsType استفاده کنید.

این تنظیم نشان می‌دهد که آیا زیرنویس ناشنوایان HTTP POST برای این همه‌فرستی فعال است یا نه. برای کارخواه‌های API که درحال‌حاضر از این ویژگی استفاده می‌کنند:
  • تنظیم مقدار خصوصیت روی true معادل تنظیم خصوصیت contentDetails.closedCaptionsType روی closedCaptionsHttpPost است.
  • تنظیم مقدار خصوصیت روی false معادل تنظیم خصوصیت contentDetails.closedCaptionsType روی closedCaptionsDisabled است.
contentDetails.closedCaptionsType string
توجه: این دارایی دارایی contentDetails.enableClosedCaptions را جایگزین می‌کند.

این دارایی نشان می‌دهد که آیا زیرنویس ناشنوایان برای همه‌فرستی شما فعال است یا نه و اگر فعال است، چه نوع زیرنویس ناشنوایانی ارائه می‌دهید:
  • ‫closedCaptionsDisabled: زیرنویس ناشنوایان برای پخش مستقیم غیرفعال است.
  • closedCaptionsHttpPost: شما زیرنویس ناشنوایان را بااستفاده از HTTP POST به نشانی وب انتقال مرتبط با جاری‌سازی زنده خود ارسال خواهید کرد.
  • closedCaptionsEmbedded: زیرنویس ناشنوایان بااستفاده از قالب‌های EIA-608 و/یا CEA-708 در جاری‌سازی ویدیویی کدبندی خواهد شد.
contentDetails.projection string
قالب پخش زنده. مقدار پیش‌فرض این دارایی rectangular است.

مقادیر معتبر برای این دارایی عبارت‌اند از:
  • 360
  • rectangular
contentDetails.enableLowLatency boolean
نشان می‌دهد که آیا این پخش باید برای جاری‌سازی با تأخیر کم کدبندی شود یا نه. جاری‌سازی با تأخیر کم می‌تواند زمان لازم برای نمایان شدن ویدیو برای کاربرانی که درحال تماشای همه‌فرستی هستند را کاهش دهد، هرچند می‌تواند بر وضوح برای بینندگان جاری‌سازی نیز تأثیر بگذارد.
contentDetails.latencyPreference string
نشان می‌دهد که از کدام تنظیم تأخیر برای این همه‌فرستی استفاده شود. این ویژگی ممکن است به‌جای enableLowLatency استفاده شود که از ultraLow پشتیبانی نمی‌کند.

جاری‌سازی با تأخیر کم می‌تواند مدت زمان لازم برای قابل‌مشاهده شدن ویدیو برای کاربرانی را که پخش را تماشا می‌کنند کاهش دهد، هرچند می‌تواند بر روان بودن بازپخش نیز تأثیر بگذارد.

جاری‌سازی با تأخیر بسیار کم مدت زمان لازم برای قابل‌مشاهده شدن ویدیو برای بینندگان را بیشتر کاهش می‌دهد و تعامل با بینندگان را آسان‌تر می‌کند، اما تأخیر بسیار کم از زیرنویس ناشنوایان یا وضوح‌های بالاتر از ۱۰۸۰ پیکسل پشتیبانی نمی‌کند.

مقادیر معتبر برای این ویژگی عبارتند از:
  • 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»، این مقدار مضربی از ۶ دقیقه از ۶ دقیقه تا ۳۰ دقیقه است. هر عدد صحیحی در درخواست به‌روزرسانی که در این محدوده باشد، هرچند معتبر باشد، به نزدیک‌ترین مضرب ۶ دقیقه گرد می‌شود.