LiveStreams

liveStream kaynağı, YouTube'a ilettiğiniz video akışı hakkında bilgi içerir. Akış, YouTube kullanıcılarına yayınlanacak içeriği sağlar. liveStream kaynağı oluşturulduktan sonra bir veya daha fazla liveBroadcast kaynağına bağlanabilir.

Yöntemler

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

list
API isteği parametreleriyle eşleşen video akışlarının listesini döndürür. Hemen deneyin.
ekle
Video akışı oluşturur. Akış, videonuzu YouTube'a gönderebilmenize olanak sağlar, ardından videoyu kitlenize yayınlayabilir. Hemen deneyin.
güncelle
Video akışını günceller. Değiştirmek istediğiniz özellikler güncellenemiyorsa uygun 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ı, bir liveStreams kaynağının biçimini göstermektedir:

{
  "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 olacak.
etag etag
Bu kaynağın Etag'i.
id string
YouTube'un canlı yayını benzersiz şekilde tanımlamak için atadığı kimlik.
snippet object
snippet nesnesi, kanal, başlık ve açıklama dahil olmak üzere akışla ilgili temel ayrıntıları içerir.
snippet.publishedAt datetime
Canlı yayını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 akışı aktaran kanalı benzersiz şekilde tanımlamak için kullandığı kimlik.
snippet.title string
Canlı yayının başlığı. Değer 1-128 karakter uzunluğunda olmalıdır.
snippet.description string
Akış açıklaması. Değer 10.000 karakterden uzun olamaz.
snippet.isDefaultStream boolean
Bu mülk 1 Eylül 2020'de veya bu tarihten sonra kullanımdan kaldırılacaktır. Bu aşamada YouTube, bir kanal canlı yayın için etkinleştirildiğinde varsayılan yayın ve varsayılan yayın oluşturmayı durdurur. Daha fazla ayrıntı için lütfen kullanımdan kaldırma duyurusuna bakın.
Bu özellik, bu akışın kanal için varsayılan akış olup olmadığını gösterir.

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 akış ve varsayılan yayın oluşturur. Akış, kanal sahibinin YouTube'a canlı videoyu nasıl gönderdiğini tanımlar ve yayın, izleyicilerin varsayılan akışı nasıl göreceğini belirler. Kanal sahipleri bu kaynakları belirlemek için liveStreams.list ve liveBroadcasts.list yöntemlerini kullanabilir.

Kanalın varsayılan akışı süresiz olarak ilişkilendirilir, bununla ilişkilendirilmiş başlangıç veya bitiş zamanı yoktur ve silinemez. Kanal sahibi yalnızca video biti göndermeye başladığında akış otomatik olarak gerçekleşir.

Bir yayın sona erdiğinde YouTube, tamamlanmış yayını bir YouTube videosuna dönüştürür ve videoya 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 kullanılamaz ve gecikmenin süresi, yayının gerçek uzunluğuyla ilgilidir.
cdn object
cdn nesnesi, canlı yayının içerik yayınlama ağı (CDN) ayarlarını tanımlar. Bu ayarlar, içeriğinizi YouTube'da nasıl yayınladığınız hakkında ayrıntılı bilgi sağlar.
cdn.format string
Bu mülk 18 Nisan 2016 itibarıyla kullanımdan kaldırılmıştır ve 17 Ağustos 2020 tarihinden itibaren desteklenmeyecektir. Belirtilen tarihten itibaren bu mülkü kullanmaya devam eden istekler başarısız olur.

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

Bu mülk için geçerli değerler şunlardır:
  • dash
  • hls
  • rtmp (RTMPS dahil)
cdn.ingestionInfo object
ingestionInfo nesnesi, YouTube'un canlı yayınınızı YouTube'a iletmeniz için 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 videoyu YouTube'da canlı yayınlamak için kullanmanız gereken birincil besleme URL'si. Videoyu bu URL'ye yayınlamanız gerekir.

Video akışınızı kodlamak için kullandığınız uygulama veya araca bağlı olarak, akış URL'sini ve akış adını ayrıca girmeniz ya da bunları aşağıdaki biçimde birleştirmeniz gerekebilir:
STREAM_URL/STREAM_NAME
cdn.ingestionInfo.backupIngestionAddress string
RTMP, DASH veya HLS kullanıyorsanız videoyu YouTube'da canlı oynatmak için kullanmanız gereken yedek besleme URL'si. ingestionAddress hizmetine gönderdiğiniz içeriği aynı anda bu URL'ye aktarma seçeneğiniz vardır.
cdn.ingestionInfo.rtmpsIngestionAddress string
RTMPS kullanıyorsanız YouTube'da video akışı gerçekleştirmek için kullanmanız gereken birincil besleme URL'si. Videoyu bu URL'ye aktarmanız gerekir.

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

Bu mülk için geçerli değerler şunlardır:
  • 240p
  • 360p
  • 480p
  • 720p
  • 1080p
  • 1440p
  • 2160p
  • variable: YouTube'un yayınlanan 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 şunlardır:
  • 30fps
  • 60fps
  • variable: YouTube'un, canlı yayınınızın 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 bilgiler içerir.
status.streamStatus string
Akış durumu.

Bu mülk için geçerli değerler şunlardır:
  • active – Akış etkin durumdadır. Bu, kullanıcının akış üzerinden veri aldığı anlamına gelir.
  • created – Akış oluşturuldu ancak geçerli CDN ayarlarına sahip değil.
  • error – Akışta bir hata koşulu var.
  • inactive: Akış etkin değil durumundadır. Bu, kullanıcının akış üzerinden veri almadığı anlamına gelir.
  • ready – Akış geçerli CDN ayarlarına sahip.
status.healthStatus object
Bu nesne, canlı yayının sağlık durumu hakkında bilgiler içeriyor. Bu bilgiler, akış sorunlarını tanımlamak, teşhis etmek ve çözmek için kullanılabilir.
status.healthStatus.status string
Bu akışın durum kodu.

Bu mülk için geçerli değerler şunlardır:
  • goodÖnem derecesinin warning veya daha kötü olduğu bir yapılandırma sorunu yok.
  • okÖnem derecesi error olan bir yapılandırma sorunu yok.
  • bad – Akışta ağırlık değerinin error olduğu bazı sorunlar var.
  • noData – YouTube'un canlı yayın arka uç sunucularının yayın durumu hakkında bilgi yoktur.
status.healthStatus.lastUpdateTimeSeconds unsigned long
Canlı yayının sağlık durumu en son güncellendi. Değer, UNIX zaman damgasını saniye cinsinden yansıtır.
status.healthStatus.configurationIssues[] list
Bu nesne, akışı etkileyen yapılandırma sorunlarının listesini içerir.
status.healthStatus.configurationIssues[].type string
Akışı etkileyen hatanın 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 seviyede değildir.
  • error – Video, izleyicilere yayınlanamaz.
status.healthStatus.configurationIssues[].reason string
Sorunun kısa bir açıklaması. LiveStream Kaynakları için Yapılandırma Sorunları belgesi, her bir yapılandırma sorunu türüyle ilişkili nedeni tanımlar.
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 bilgi verilir. LiveStream Kaynakları için Yapılandırma Sorunları dokümanında, tüm yapılandırma sorunu türleri ve ilişkili açıklamaları listelenir.
contentDetails object
content_details nesnesi, akışla ilgili bilgileri (altyazı besleme URL'si dahil) içerir.
contentDetails.closedCaptionsIngestionUrl string
Bu akışın altyazılarının gönderildiği besleme URL'si.
contentDetails.isReusable boolean
Yeniden kullanılabilir olup olmadığını gösterir. Yani birden fazla yayına bağlanabilir. Yayıncıların farklı zamanlarda gerçekleştirdikleri birçok yayın için aynı akışı tekrar kullanmaları yaygın bir durumdur.

Bu değeri false olarak ayarlarsanız yayın yeniden kullanılamaz. Bu durumda, yalnızca bir yayına bağlanabilir. Tekrar kullanılamayan akışlar, yeniden kullanılabilir akışlardan şu yönleriyle ayrılır:
  • Tekrar kullanılamayan canlı yayınlar yalnızca bir yayına bağlanabilir.
  • Tekrar kullanılabilen bir canlı yayın, yayın sona erdikten sonra otomatik bir işlemle silinebilir.
  • Yöntemi çağırıp mine parametresini true değerine ayarlarsanız liveStreams.list yöntemi, yeniden kullanılamayan akışları listelemez. Tekrar kullanılamayan bir canlı yayın için kaynağı almanın tek yolu, id parametresini kullanarak akışı tanımlamaktır.