LiveStreams

liveStream kaynağı, YouTube'a aktardığınız video akışıyla ilgili bilgileri içerir. Akış, YouTube kullanıcılarına yayınlanacak içeriği sağlar. Oluşturulan bir liveStream kaynağı, bir veya daha fazla liveBroadcast kaynağına bağlanabilir.

Yöntemler

API, liveStreams kaynakları için aşağıdaki yöntemleri destekler:

list
API istek parametreleriyle eşleşen video akışlarının listesini döndürür. Hemen deneyin.
insert
Video akışı oluşturur. Akış, videonuzu YouTube'a göndermenize olanak tanır. YouTube, videonuzu kitlenize yayınlayabilir. Hemen deneyin.
güncelle
Video akışını günceller. Değiştirmek istediğiniz özellikler güncellenemiyorsa doğru ayarlarla yeni bir akış oluşturmanız gerekir. Hemen deneyin.
sil
Video akışını siler. Hemen deneyin.

Kaynak temsili

Aşağıdaki JSON yapısında, liveStreams kaynağının biçimi gösterilmektedir:

{
  "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
  }
}

Özellikler

Aşağıdaki tabloda bu kaynakta görünen özellikler tanımlanmaktadır:

Özellikler
kind string
API kaynağının türünü tanımlar. Değer youtube#liveStream olur.
etag etag
Bu kaynağın Etag değeri.
id string
YouTube'un yayını benzersiz şekilde tanımlamak için atadığı kimlik.
snippet object
snippet nesnesi, kanal, başlık ve açıklama dahil olmak üzere yayınla ilgili temel ayrıntıları içerir.
snippet.publishedAt datetime
Aktarmanın oluşturulduğu tarih ve saat. Değer, ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) biçiminde belirtilir.
snippet.channelId string
YouTube'un, yayını yapan kanalı benzersiz şekilde tanımlamak için kullandığı kimlik.
snippet.title string
Akışın başlığı. Değer 1 ila 128 karakter uzunluğunda olmalıdır.
snippet.description string
Yayının açıklaması. Değer 10.000 karakterden uzun olamaz.
snippet.isDefaultStream boolean
Bu özelliğin desteği 1 Eylül 2020'de veya bu tarihten sonra sonlandırılacaktır. Bu tarihten itibaren, bir kanal canlı yayın için etkinleştirildiğinde YouTube varsayılan yayın ve varsayılan yayın oluşturmayı durduracak. Daha fazla bilgi için lütfen kullanımdan kaldırma duyurusuna bakın.
Bu özellik, bu yayının kanal için varsayılan yayın olup olmadığını belirtir.

Varsayılan akışların işleyiş şekli

Bir YouTube kanalı canlı yayın için etkinleştirildiğinde YouTube, kanal için varsayılan bir akış ve varsayılan bir yayın oluşturur. Yayın, kanal sahibinin canlı videoyu YouTube'a nasıl gönderdiğini tanımlar. Yayın ise izleyicilerin varsayılan yayını nasıl görebileceğini belirtir. Kanal sahipleri, bu kaynakları tanımlamak için liveStreams.list ve liveBroadcasts.list yöntemlerini kullanabilir.

Kanalın varsayılan yayını süresiz olarak mevcuttur, başlangıç veya bitiş zamanı yoktur ve silinemez. Kanal sahibinin video bitlerini göndermeye başlaması yeterlidir. Ardından yayın otomatik olarak devam eder.

Bir yayın sona erdiğinde YouTube, tamamlanan yayını YouTube videosuna dönüştürür ve videoya bir YouTube video kimliği atar. Dönüşüm tamamlandıktan sonra video, kanalın yüklenen videolar listesine eklenir. Video, yayın sona erdikten hemen sonra yayınlanmaz. Yayın süresinin uzunluğu, yayının gerçek uzunluğuna bağlıdır.
cdn object
cdn nesnesi, canlı yayının içerik yayınlama ağı (CDN) ayarlarını tanımlar. Bu ayarlar, içeriğinizi YouTube'a aktarma şeklinizle ilgili ayrıntıları içerir.
cdn.format string
Bu özelliğin desteği 18 Nisan 2016'dan beri sonlandırılmıştır ve 17 Ağustos 2020'den itibaren artık desteklenmeyecektir. Bu tarih itibarıyla bu özelliği kullanmaya devam eden istekler başarısız olur.

Bunun yerine, kare hızını ve çözünürlüğü ayrı ayrı belirtmek için cdn.frameRate ve cdn.resolution özelliklerini kullanın.
cdn.ingestionType string
Video akışını iletmek için kullanılan yöntem veya protokol.

Bu özellik için geçerli değerler şunlardır:
  • dash
  • hls
  • rtmp (RTMPS dahil)
cdn.ingestionInfo object
ingestionInfo nesnesi, aktarmanızı YouTube'a iletmek için YouTube'un sağladığı bilgileri içerir.
cdn.ingestionInfo.streamName string
YouTube'un video akışına atadığı akış adı.
cdn.ingestionInfo.ingestionAddress string
RTMP, DASH veya HLS kullanıyorsanız YouTube'da video yayınlamak için kullanmanız gereken birincil besleme URL'sidir. Videoyu bu URL'ye aktarmanız gerekir.

Video akışınızı kodlamak için kullandığınız uygulamaya veya araca bağlı olarak, yayın URL'sini ve yayın adını ayrı ayrı girmeniz veya aşağıdaki biçimde birleştirmeniz gerekebilir:
STREAM_URL/STREAM_NAME
cdn.ingestionInfo.backupIngestionAddress string
RTMP, DASH veya HLS kullanıyorsanız YouTube'da video yayınlamak için kullanmanız gereken yedek besleme URL'si. ingestionAddress'ye gönderdiğiniz içeriği bu URL'de aynı anda yayınlama seçeneğiniz vardır.
cdn.ingestionInfo.rtmpsIngestionAddress string
RTMPS kullanıyorsanız YouTube'da video yayınlamak için kullanmanız gereken birincil besleme URL'si. Bu URL'ye video aktarmanız gerekir.

Video akışınızı kodlamak için kullandığınız uygulamaya veya araca bağlı olarak, yayın URL'sini ve yayın adını ayrı ayrı girmeniz veya aşağıdaki biçimde birleştirmeniz gerekebilir:
STREAM_URL/STREAM_NAME
cdn.ingestionInfo.rtmpsBackupIngestionAddress string
RTMPS kullanıyorsanız YouTube'da video yayınlamak için kullanmanız gereken yedek besleme URL'si.
cdn.resolution string
Gelen video verilerinin çözünürlüğü.

Bu özellik için geçerli değerler şunlardır:
  • 240p
  • 360p
  • 480p
  • 720p
  • 1080p
  • 1440p
  • 2160p
  • variable: YouTube'un, aktarılan videonuzun çözünürlüğünü otomatik olarak algılaması gerektiğini belirtmek için bu ayarı kullanın. Ayrıca cdn.frameRate öğesini variable olarak ayarlamanız gerekir.
    Önerilen kodlayıcı ayarları için YouTube Yardım Merkezi'ne bakın.
cdn.frameRate string
Gelen video verilerinin kare hızı.

Bu özellik için geçerli değerler:
  • 30fps
  • 60fps
  • variable: YouTube'un, aktarılan videonuzun kare hızını otomatik olarak algılaması gerektiğini belirtmek için bu ayarı kullanın. Ayrıca cdn.resolution öğesini variable olarak ayarlamanız gerekir.
    Önerilen kodlayıcı ayarları için YouTube Yardım Merkezi'ne bakın.
status object
status nesnesi, canlı yayının durumuyla ilgili bilgileri içerir.
status.streamStatus string
Aktarmanın durumu.

Bu özellik için geçerli değerler şunlardır:
  • active: Akış etkin durumdadır. Yani kullanıcı, akış üzerinden veri almaktadır.
  • created: Akış oluşturuldu ancak geçerli CDN ayarları yok.
  • error: Akışta bir hata durumu var.
  • inactive: Akış etkin değil. Bu, kullanıcının akış üzerinden veri almadığı anlamına gelir.
  • ready: Yayında geçerli CDN ayarları vardır.
status.healthStatus object
Bu nesne, canlı yayının sağlık durumuyla ilgili bilgileri içerir. Bu bilgiler, yayın sorunlarını tespit etmek, teşhis etmek ve çözmek için kullanılabilir.
status.healthStatus.status string
Bu aktarımın durum kodu.

Bu özellik için geçerli değerler şunlardır:
  • good: Önem düzeyi warning veya daha kötü olan yapılandırma sorunu yoktur.
  • ok: Önem derecesinin error olduğu yapılandırma sorunu yoktur.
  • bad: Yayında, önemi error olan bazı sorunlar var.
  • noData: YouTube'un canlı yayın arka uç sunucularında yayının sağlık durumuyla ilgili bilgi yoktur.
status.healthStatus.lastUpdateTimeSeconds unsigned long
Yayının sağlık durumunun en son güncellendiği zaman. Değer, saniye cinsinden bir UNIX zaman damgasını yansıtır.
status.healthStatus.configurationIssues[] list
Bu nesne, aktarımı etkileyen yapılandırma sorunlarının listesini içerir.
status.healthStatus.configurationIssues[].type string
Aktarımı etkileyen hata türünü tanımlar.
status.healthStatus.configurationIssues[].severity string
Sorunun akış için ne kadar ciddi olduğunu gösterir.

Bu mülk için geçerli değerler şunlardır:
  • info: Video, performansı olumsuz etkilemeden izleyicilere yayınlanır.
  • warning: Video izleyicilere yayınlanır ancak performans optimum değildir.
  • error: Video izleyicilere yayınlanamaz.
status.healthStatus.configurationIssues[].reason string
Sorunun kısa bir açıklaması. Canlı Yayın Kaynakları İçin Yapılandırma Sorunları belgesinde, her yapılandırma sorunu türüyle ilişkili neden açıklanmaktadır.
status.healthStatus.configurationIssues[].description string
Sorunun ayrıntılı açıklaması. Mümkün olduğunda açıklamada, sorunun nasıl çözüleceğiyle ilgili bilgiler verilir. Canlı Yayın Kaynakları İçin Yapılandırma Sorunları belgesinde tüm yapılandırma sorunu türleri ve bunlarla ilişkili açıklamalar listelenmiştir.
contentDetails object
content_details nesnesi, altyazı besleme URL'si dahil olmak üzere akışla ilgili bilgileri içerir.
contentDetails.closedCaptionsIngestionUrl string
Bu yayının altyazılarının gönderildiği besleme URL'si.
contentDetails.isReusable boolean
Aktarımın yeniden kullanılabilir olup olmadığını belirtir. Yani aktarımın birden fazla yayına bağlanıp bağlanamayacağını belirtir. Yayıncıların, farklı zamanlarda gerçekleşen birçok farklı yayın için aynı yayını yeniden kullanması yaygın bir durumdur.

Bu değeri false olarak ayarlarsanız akış yeniden kullanılamaz. Yani yalnızca bir yayına bağlanabilir. Tekrar kullanılamayan akışlar, tekrar kullanılabilir akışlardan aşağıdaki yönlerden farklıdır:
  • Yeniden kullanılamayan bir akış yalnızca bir yayına bağlanabilir.
  • Tekrar kullanılamayan yayınlar, yayın sona erdikten sonra otomatik bir işlemle silinebilir.
  • liveStreams.list yöntemini çağırıp mine parametresini true olarak ayarlarsanız yöntem, yeniden kullanılamayan akışları listelemez. Yeniden kullanılamayan bir akış için kaynağı almak amacıyla bu yöntemi kullanmanın tek yolu, akışı tanımlamak için id parametresini kullanmaktır.