پیاده‌سازی: همه‌فرستی‌ها و جاری‌سازی‌ها

نمونه‌های زیر نحوه استفاده از YouTube Live Streaming API را برای ایجاد و مدیریت پخش‌های زنده و جاری‌سازی‌ها نشان می‌دهند.

ایجاد همه‌فرستی

برای زمان‌بندی رویداد زنده جدید، روش liveBroadcasts.insert را فراخوانی کنید. بدنه درخواست باید عنوان، زمان شروع زمان‌بندی‌شده، و وضعیت حریم خصوصی همه‌فرستی را تعریف کند. همچنین می‌توانید به‌صورت اختیاری دسته ویدیو را بااستفاده از دارایی snippet.categoryId مشخص کنید. بااستفاده از روش videoCategories.list می‌توانید فهرستی از دسته‌ها را بازیابی کنید.

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.liveBroadcasts.insert?
        part=snippet,status

بدنه درخواست حاوی منبع liveBroadcast است. در این مثال، متن درخواست عبارت است از:

{
  "snippet": {
    "title": "My Live Event",
    "scheduledStartTime": "2026-10-30T19:00:00Z",
    "categoryId": "17"
  },
  "status": {
    "privacyStatus": "unlisted"
  }
}

ایجاد جاری‌سازی

روش liveStreams.insert را فراخوانی کنید تا جاری‌سازی‌ای ایجاد شود که تنظیمات انتقال را برای ویدیو شما تعریف می‌کند. باید عنوان جاری‌سازی و تنظیمات CDN آن (نوع انتقال داده، وضوح، و نرخ فریم) را مشخص کنید.

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.liveStreams.insert?
        part=snippet,cdn

بدنه درخواست حاوی منبع liveStream است. در این مثال، متن درخواست عبارت است از:

{
  "snippet": {
    "title": "My Live Stream"
  },
  "cdn": {
    "frameRate": "30fps",
    "ingestionType": "rtmp",
    "resolution": "720p"
  }
}

اتصال همه‌فرستی به جاری‌سازی

برای مرتبط کردن همه‌فرستی با جاری‌سازی، روش liveBroadcasts.bind را فراخوانی کنید. پارامتر id را روی شناسه همه‌فرستی و پارامتر پُرسمان streamId را روی شناسه جاری‌سازی تنظیم کنید.

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.liveBroadcasts.bind?
        id=BROADCAST_ID
        &streamId=STREAM_ID
        &part=id,snippet

وضعیت همه‌فرستی انتقال

برای تغییر وضعیت همه‌فرستی، روش liveBroadcasts.transition را فراخوانی کنید. برای مثال، برای شروع آزمایش، وضعیت را به testing تغییر دهید. برای شروع پخش واقعی، وضعیت را به live تغییر دهید.

این مثال همه‌فرستی را به testing انتقال می‌دهد. پارامتر id را روی شناسه همه‌فرستی و پارامتر broadcastStatus را روی testing تنظیم کنید.

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.liveBroadcasts.transition?
        broadcastStatus=testing
        &id=BROADCAST_ID
        &part=id,status

بازیابی همه‌فرستی‌ها

برای بازیابی کردن همه‌فرستی‌ها، روش liveBroadcasts.list را فراخوانی کنید. می‌توانید براساس broadcastStatus (مثلاً active، completed، upcoming) فیلتر کنید یا بااستفاده از پارامتر mine، همه‌فرستی‌های خودتان را بازیابی کنید.

این مثال، پخش‌های آتی کاربر اصالت‌سنجی‌شده را بازیابی می‌کند.

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.liveBroadcasts.list?
        part=snippet,status
        &broadcastStatus=upcoming
        &mine=true