API artık canlı yayınlarınızı "çocuklara özel" olarak işaretleme özelliğini destekliyor.
liveBroadcast
kaynağında artık canlı yayının "çocuklara özel" durumunu tanımlayan bir özellik bulunuyor. YouTube API Hizmetleri Hizmet Şartları ve Geliştirici Politikaları da 10 Ocak 2020'de güncellendi. Daha fazla bilgi için lütfen YouTube Live Streaming API Hizmeti ve YouTube API Hizmetleri Hizmet Şartları'nın düzeltme geçmişlerine bakın.
liveBroadcast
kaynağı, YouTube'da canlı video üzerinden yayınlanacak bir etkinliği temsil eder.
Yöntemler
API, liveBroadcasts
kaynakları için aşağıdaki yöntemleri destekler:
- list
- API isteği parametreleriyle eşleşen YouTube yayınlarının listesini döndürür. Hemen deneyin.
- insert
- Yayın oluşturur. Hemen deneyin.
- update
- Yayınları günceller. Örneğin,
liveBroadcast
kaynağınıncontentDetails
nesnesinde tanımlanan yayın ayarlarını değiştirebilirsiniz. Hemen deneyin. - sil
- Bir yayını siler. Hemen deneyin.
- bind
- YouTube yayınını bir akışa bağlar veya yayın ile yayın arasındaki mevcut bir bağlantıyı kaldırır. Bir yayın yalnızca bir video akışına bağlı olabilir, ancak bir video akışı birden fazla yayına bağlı olabilir. Hemen deneyin.
- transition
- YouTube canlı yayınının durumunu değiştirir ve yeni durumla ilişkili tüm işlemleri başlatır. Örneğin, bir yayının durumunu
testing
olarak değiştirdiğinizde YouTube, videoyu ilgili yayının monitör yayınına aktarmaya başlar. Bu yöntemi çağırmadan önce, yayınınıza bağlı akış içinstatus.streamStatus
mülkünün değerininactive
olduğunu onaylamanız gerekir. Hemen deneyin. - cuepoint
- Canlı yayına işaret noktası ekler. İşaretçi noktası bir reklam arasını tetikleyebilir.
Kaynak temsili
Aşağıdaki JSON yapısında, liveBroadcasts
kaynağının biçimi gösterilmektedir:
{ "kind": "youtube#liveBroadcast", "etag": etag, "id": string, "snippet": { "publishedAt": datetime, "channelId": string, "title": string, "description": 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 }, "statistics": { "totalChatCount": unsigned long }, "monetizationDetails": { "cuepointSchedule": { "enabled": boolean, "pauseAdsUntil": datetime, "scheduleStrategy": string, "repeatIntervalSecs": unsigned integer, } } } }
Ö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#liveBroadcast olur. |
etag |
etag Bu kaynağın Etag değeri. |
id |
string YouTube'un yayını benzersiz bir şekilde tanımlamak için atadığı kimlik. |
snippet |
object snippet nesnesi, başlığı, açıklaması, başlangıç ve bitiş zamanı da dahil olmak üzere etkinlikle ilgili temel ayrıntıları içerir. |
snippet.publishedAt |
datetime Yayının YouTube'un canlı yayın programına eklendiği tarih ve saat. Değer ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ) biçiminde belirtilir. |
snippet.channelId |
string YouTube'un yayını yayınlayan kanalı benzersiz şekilde tanımlamak için kullandığı kimlik. |
snippet.title |
string Yayının başlığı. Yayının tam olarak bir YouTube videosunu temsil ettiğini unutmayın. Bu alanı, yayın kaynağını değiştirerek veya ilgili video kaynağının title alanını ayarlayarak belirleyebilirsiniz. |
snippet.description |
string Yayını açıklayan metin. title ile olduğu gibi, bu alanı yayın kaynağını değiştirerek veya ilgili video kaynağının description alanını ayarlayarak belirleyebilirsiniz. |
snippet.thumbnails |
object Yayınla ilişkili küçük resimlerin haritası. Bu nesnede iç içe yerleştirilmiş her nesne için anahtar küçük resmin adıdır, değer ise küçük resim hakkında başka bilgileri içeren bir nesnedir. |
snippet.thumbnails.(key) |
object Geçerli anahtar değerleri:
|
snippet.thumbnails.(key).url |
string Görselin URL'si. |
snippet.thumbnails.(key).width |
unsigned integer Resmin genişliği. |
snippet.thumbnails.(key).height |
unsigned integer Resmin yüksekliği. |
snippet.scheduledStartTime |
datetime Yayının başlamasının planlandığı tarih ve saat. Değer ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ) biçiminde belirtilir. İçerik Stüdyosu, başlangıç zamanı planlamadan yayın oluşturma özelliğini destekler. Bu durumda yayın, kanal sahibi yayın yapmaya başladığında başlar. Bu yayınlar için datetime değeri UNIX sıfır zamanına karşılık gelir ve bu değer API veya Creator Studio üzerinden değiştirilemez. |
snippet.scheduledEndTime |
datetime Yayının sona ermesinin planlandığı tarih ve saat. Değer, ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ) biçiminde belirtilir. Bir liveBroadcast kaynağı bu özellik için bir değer belirtmezse yayının süresiz olarak devam etmesi planlanır. Benzer şekilde, bu özellik için bir değer belirtmezseniz YouTube, yayını süresiz olarak devam edecekmiş gibi değerlendirir. |
snippet.actualStartTime |
datetime Yayının gerçekte başladığı tarih ve saat. Bu bilgiler yalnızca yayının durumu live olduğunda kullanılabilir. Değer ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ ) biçiminde belirtilir. |
snippet.actualEndTime |
datetime Yayının gerçekten sona erdiği tarih ve saat. Bu bilgiler yalnızca yayının durumu complete olduğunda kullanılabilir. Değer, ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ ) biçiminde belirtilir. |
snippet.isDefaultBroadcast |
boolean
Bu özelliğin desteği, 1 Eylül 2020'de veya sonrasında 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 ayrıntılı bilgi için lütfen kullanımdan kaldırma duyurusunu inceleyin.
Bu mülk, bu yayının varsayılan yayın olup olmadığını belirtir.Varsayılan yayınlar nasıl çalışır? Bir YouTube kanalı canlı yayın için etkinleştirildiğinde YouTube, kanal için varsayılan bir yayın ve varsayılan bir akış 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.Bir kanal varsayılan akışına video aktarmaya başladığında video, kanalın varsayılan yayınında görünür. Yayın sona erdiğinde YouTube, tamamlanan yayını bir 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üresine bağlı olarak videonun yayınlanması biraz gecikebilir. |
snippet.liveChatId |
string Yayının YouTube canlı sohbetinin kimliği. Bu kimlikle sohbet mesajlarını almak, eklemek veya silmek için liveChatMessage kaynağının yöntemlerini kullanabilirsiniz. Ayrıca sohbet moderatörü ekleyebilir veya kaldırabilir, kullanıcıları canlı sohbetlere katılmaktan men edebilir ya da mevcut engellemeleri kaldırabilirsiniz. |
status |
object status nesnesi, etkinliğin durumuyla ilgili bilgileri içerir. |
status.lifeCycleStatus |
string Yayının durumu. Durum, API'nin liveBroadcasts.transition yöntemi kullanılarak güncellenebilir.Bu mülk için geçerli değerler şunlardır:
|
status.privacyStatus |
string Yayının gizlilik durumu. Yayınların tam olarak bir YouTube videosunu temsil ettiğini ve bu nedenle gizlilik ayarlarının videolar için desteklenen ayarlarla aynı olduğunu unutmayın. Ayrıca, yayın kaynağını değiştirerek veya ilgili video kaynağının privacyStatus alanını ayarlayarak bu alanı ayarlayabilirsiniz.Bu mülkün geçerli değerleri şunlardır:
|
status.recordingStatus |
string Yayının kayıt durumu. Bu özellik için geçerli değerler şunlardır:
|
status.madeForKids |
boolean Bu değer, yayının çocuklara yönelik olarak tanımlanıp tanımlanmadığını belirtir. Bu mülk değeri salt okunur. |
status.selfDeclaredMadeForKids |
boolean liveBroadcasts.insert
isteğinde bu özellik, kanal sahibinin yayını çocuklara yönelik olarak tanımlamasına olanak tanır. liveBroadcasts.list isteğinde, mülk değeri yalnızca kanal sahibi API isteğine yetki verdiyse döndürülür. |
contentDetails |
object contentDetails nesnesi, etkinliğin video içeriği hakkında, içeriğin yerleşik bir video oynatıcıda gösterilip gösterilmeyeceği veya arşivlenip etkinlik sona erdikten sonra görüntülenip görüntülenmeyeceği gibi bilgileri içerir. |
contentDetails.boundStreamId |
string Bu değer, yayına bağlı live stream öğesini benzersiz şekilde tanımlar. |
contentDetails.boundStreamLastUpdateTimeMs |
datetime boundStreamId tarafından referans verilen canlı yayının en son güncellendiği tarih ve saat. |
contentDetails.monitorStream |
object monitorStream nesnesi, yayıncının yayın akışı herkese açık olarak gösterilmeden önce etkinlik içeriğini incelemek için kullanabileceği, izleme akışı hakkında bilgiler içerir. |
contentDetails.monitorStream.enableMonitorStream |
boolean Bu değer, izleme akışının yayın için etkinleştirilip etkinleştirilmeyeceğini belirler. İzleme yayını etkinleştirilirse YouTube, etkinlik içeriğini yalnızca yayıncının kullanabileceği özel bir yayında yayınlar. Yayıncı, etkinlik içeriğini incelemek ve işaret noktaları eklemek için en uygun zamanları belirlemek için yayını kullanabilir. Yayınınız için testing aşaması kullanmak istiyorsanız veya etkinliğiniz için yayın gecikmesi olmasını istiyorsanız bu değeri true olarak ayarlamanız gerekir. Ayrıca, bu özelliğin değeri true ise yayınınızı live durumuna geçirebilmek için önce testing durumuna geçirmeniz gerekir. (Mülkün değeri false ise yayınınızda testing aşaması olamaz. Bu nedenle yayını doğrudan live durumuna geçirebilirsiniz.)update a broadcast yaptığınızda, API isteğiniz part parametre değerinde contentDetails bölümünü içeriyorsa bu özellik ayarlanmalıdır. Ancak insert a broadcast yaptığınızda, özellik isteğe bağlıdır ve varsayılan değeri true olur.Önemli: Yayın testing veya live durumundayken bu özellik güncellenemez. |
contentDetails.monitorStream.broadcastStreamDelayMs |
unsigned integer enableMonitorStream özelliğini true olarak ayarladıysanız canlı yayın gecikmesinin uzunluğunu bu özellik belirler.update a broadcast yaptığınızda, API isteğiniz part parametre değerinde contentDetails bölümünü içeriyorsa bu özellik ayarlanmalıdır. Ancak insert a broadcast özelliği isteğe bağlıdır ve varsayılan değeri 0 'tür. Bu değer, yayında bir yayın gecikmesi olmadığını gösterir. Not: Yayın testing veya live durumundayken bu özellik güncellenemez. |
contentDetails.monitorStream.embedHtml |
string İzleyici akışını oynatan bir oynatıcıyı yerleştiren HTML kodu. |
contentDetails.enableEmbed |
boolean Bu ayar, yayın videosunun yerleşik bir oynatıcıda oynatılıp oynatılamayacağını belirtir. Videoyu arşivlemeyi seçerseniz ( enableArchive mülkünü kullanarak) bu ayar arşivlenen video için de geçerli olur.update a broadcast yaptığınızda, API isteğiniz part parametre değerinde contentDetails bölümünü içeriyorsa bu özellik ayarlanmalıdır. Ancak insert a broadcast yaptığınızda, özellik isteğe bağlıdır ve varsayılan değeri true olur.Not: Yayın testing veya live durumundayken bu özellik güncellenemez. |
contentDetails.enableDvr |
boolean Bu ayar, izleyicilerin videoyu izlerken DVR denetimlerine erişip erişemeyeceğini belirler. DVR kontrolleri, izleyicinin içeriği duraklatarak, geri sararak veya hızlı ileri alarak video oynatma deneyimini kontrol etmesini sağlar. Bu özelliğin varsayılan değeri true . update a broadcast yaptığınızda, API isteğiniz part parametre değerinde contentDetails bölümünü içeriyorsa bu özellik ayarlanmalıdır. Ancak insert a broadcast özelliği isteğe bağlıdır ve varsayılan değeri true 'tür.Önemli: Yayın sona erdikten hemen sonra oynatmayı kullanılabilir hale getirmek isterseniz değeri true olarak ayarlamanız ve ayrıca enableArchive özelliğinin değerini de true olarak ayarlamanız gerekir. Ayrıca, yayın testing veya live durumundayken bu özellik güncellenemez. |
contentDetails.recordFromStart |
boolean Bu ayar, YouTube'un etkinliğin durumu "canlı" olarak değiştikten sonra yayını otomatik olarak kaydedip kaydetmeyeceğini belirtir. Bu özelliğin varsayılan değeri true 'dur ve yalnızca yayın kanalının canlı yayınlar için kayıtları devre dışı bırakmasına izin veriliyorsa false olarak ayarlanabilir.Kanalınızın kayıtları devre dışı bırakma izni yoksa ve recordFromStart mülkü false olarak ayarlanmış bir yayın eklemeye çalışırsanız API bir Forbidden hatası döndürür. Buna ek olarak, kanalınız bu izne sahip değilse ve recordFromStart özelliğini false olarak ayarlamak için bir yayını güncellemeye çalışırsanız API modificationNotAllowed hatası verir.update a broadcast yaptığınızda, API isteğiniz part parametre değerinde contentDetails bölümünü içeriyorsa bu özellik ayarlanmalıdır. Ancak insert a broadcast yaptığınızda, özellik isteğe bağlıdır ve varsayılan değeri true olur.Önemli: Oynatma işleminin yayın sona erdikten hemen sonra kullanılabilmesini istiyorsanız enableDvr mülkünün değerini true olarak da ayarlamanız gerekir. Bu mülkün değerini true olarak ayarlar ancak aynı zamanda enableDvr özelliğini true olarak ayarlamazsanız arşivlenen videonun oynatılabilir hale gelmesi yaklaşık bir gün kadar gecikebilir.Not: Yayın testing veya live durumundayken bu özellik güncellenemez. |
contentDetails.enableClosedCaptions |
boolean Bu özelliğin desteği 17 Aralık 2015'ten itibaren sonlandırılmıştır. Bunun yerine contentDetails.closedCaptionsType özelliğini kullanın.Bu ayar, bu yayın için HTTP POST altyazı özelliğinin etkin olup olmadığını belirtir. Halihazırda bu özelliği kullanan API istemcileri için:
|
contentDetails.closedCaptionsType |
string Not: Bu özellik, contentDetails.enableClosedCaptions mülkünün yerini alır.Bu özellik, yayınınızda altyazıların etkin olup olmadığını ve etkinse ne tür altyazılar sağladığınızı belirtir:
|
contentDetails.projection |
string Bu yayının projeksiyon biçimi. Özelliğin varsayılan değeri rectangular .Bu özellik için geçerli değerler şunlardır:
|
contentDetails.enableLowLatency |
boolean Bu yayının düşük gecikmeli akış için kodlanıp kodlanmayacağını belirtir. Düşük gecikmeli bir yayın, videonun yayını izleyen kullanıcılara görünür olması için gereken süreyi kısaltabilir ancak yayını izleyenler için çözünürlüğü de etkileyebilir. |
contentDetails.latencyPreference |
string Bu yayın için hangi gecikme ayarının kullanılacağını belirtir. Bu mülk, ultraLow 'yi desteklemeyen enableLowLatency yerine kullanılabilir.Düşük gecikmeli yayın, videonun yayını izleyen kullanıcılar tarafından görülebilmesi için gereken süreyi kısaltabilir ancak oynatmanın akıcılığı da etkilenebilir. Ultra düşük gecikmeli yayın, videonun izleyiciler tarafından görülebilmesi için gereken süreyi daha da kısaltarak izleyicilerle etkileşimi kolaylaştırır ancak ultra düşük gecikme, altyazı veya 1080p'den yüksek çözünürlükleri desteklemez. Bu mülk için geçerli değerler şunlardır:
|
contentDetails.enableAutoStart |
boolean Bağlı live stream cihazında video akışı başlattığınızda bu yayının otomatik olarak başlatılıp başlatılmayacağını belirtir. |
contentDetails.enableAutoStop |
boolean Bu yayının, kanal sahibi bağlı video akışında video aktarmayı durdurduktan yaklaşık bir dakika sonra otomatik olarak durup durmayacağını belirtir. |
statistics |
object statistics nesnesi, canlı yayınla ilgili istatistikleri içerir. Bu istatistiklerin değerleri yayın sırasında değişebilir ve yalnızca yayın devam ederken alınabilir. |
statistics.totalChatCount |
unsigned long Yayınla ilişkili canlı sohbet mesajlarının toplam sayısı. Yayın kullanıcı tarafından görülebiliyorsa, canlı sohbet özelliği etkinleştirilmişse ve en az bir mesaj içeriyorsa özellik ve değeri mevcuttur. Bu özelliğin, yayın sona erdikten sonra bir değer belirtmeyeceğini unutmayın. Bu nedenle, tamamlanmış bir canlı yayının arşivlenmiş videosundaki sohbet mesajlarının sayısı bu mülkte tanımlanmaz. |
monetizationDetails |
object monetizationDetails nesnesi, reklam otomasyonunun etkin olup olmadığı veya yayın içi reklam eklemenin gecikmeli olup olmadığı gibi yayının para kazanma ayrıntıları hakkında bilgi içerir. |
monetizationDetails.cuepointSchedule |
object cuepointSchedule nesnesi, yayın için reklam otomasyonu ayarlarını belirtir. |
monetizationDetails.cuepointSchedule.enabled |
boolean Bu değer, reklamların yayına otomatik olarak eklenip eklenmeyeceğini belirler. Değer true ise YouTube, yayına otomatik olarak ara reklam ekler. Reklam yayınlama planı, monetizationDetails.cuepointSchedule nesnesinde diğer alanların değerine göre belirlenir.
|
monetizationDetails.cuepointSchedule.pauseAdsUntil |
datetime Bu değer, YouTube'un belirtilen tarih ve saate kadar videonun ortasında gösterilen reklamları yayına eklememesi gerektiğini belirtir. Değer, ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) biçiminde belirtilir. Reklamların duraklatılması için değer gelecekteki bir tarih ve saate ayarlanmalıdır. Alan değeri, zaman geçtikçe reklamların duraklatılmasını kaldırmak için yakın gelecekteki bir tarih ve saate de ayarlanabilir. |
monetizationDetails.cuepointSchedule.scheduleStrategy |
string Bu değer, YouTube'un işaret noktalarını planlamak için izlemesi gereken stratejiyi belirtir. Geçerli değerler:
|
monetizationDetails.cuepointSchedule.repeatIntervalSecs |
unsigned integer Bu değer, yayın sırasında otomatik reklam ekleme işleminin gerçekleştiği aralığı saniye cinsinden belirtir. Örneğin, değer 300 ise YouTube, videonun ortasında gösterilen reklam işaret noktalarını beş dakikalık aralıklarla ekleyebilir.Değerin, art arda gelen işaret noktalarının başlangıçları arasındaki zamanı belirttiğini unutmayın. Yani aralık, bir işaret noktasının sonundan diğerinin başına kadar ölçülmez. |