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 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 kullanılarak yayınlanacak bir etkinliği temsil eder.
Yöntemler
API, liveBroadcasts
kaynakları için aşağıdaki yöntemleri destekler:
- list
- API istek parametreleriyle eşleşen YouTube yayınlarının listesini döndürür. Hemen deneyin.
- insert
- Yayın oluşturur. Hemen deneyin.
- güncelle
- 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
- Bir YouTube yayınını bir akışa bağlar veya yayın ile akış arasında mevcut bir bağlamayı kaldırır. Bir yayın yalnızca bir video akışına bağlanabilir ancak bir video akışı birden fazla yayına bağlanabilir. 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 şekilde tanımlamak için atadığı kimlik. |
snippet |
object snippet nesnesi; başlık, açıklama, başlangıç zamanı 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 planı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ınları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ın açıklaması. 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 nesneydeki her iç içe yerleştirilmiş nesne için anahtar, küçük resim adıdır ve değer, küçük resimle ilgili diğer bilgileri içeren bir nesnedir. |
snippet.thumbnails.(key) |
object Geçerli anahtar değerleri:
|
snippet.thumbnails.(key).url |
string Resmin 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. Creator Studio, başlangıç saati planlamadan yayın oluşturmayı destekler. Bu durumda yayın, kanal sahibi yayın yapmaya başladığında başlar. Bu yayınlar için datetime değeri, Unix epoch sıfır zamanına karşılık gelir ve bu değer API kullanılarak veya Creator Studio'da 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çekte 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 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 desteği sonlandırma duyurusuna bakın.
Bu özellik, 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 özellik için geçerli değerler şunlardır:
|
status.privacyStatus |
string Yayı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 mülk 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ğiyle ilgili bilgileri içerir. Örneğin, içeriğin yerleşik bir video oynatıcıda gösterilip gösterilemeyeceği veya arşivlenip arşivlenmeyeceği ve dolayısıyla etkinlik sona erdikten sonra görüntülenip görüntülenmeyeceği gibi bilgiler bu nesnede yer alır. |
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 bir sahne 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 özelliği isteğe bağlıdır ve varsayılan değeri true 'tür.Önemli: Yayın testing veya live durumundayken bu özellik güncellenemez. |
contentDetails.monitorStream.broadcastStreamDelayMs |
unsigned integer enableMonitorStream özelliğini true olarak ayarlarsanız bu özellik canlı yayın gecikmesinin uzunluğunu 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 gecikme olmadığını gösterir. Not: Yayın testing veya live durumundayken bu özellik güncellenemez. |
contentDetails.monitorStream.embedHtml |
string İzleme 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ılmayacağı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 özelliği isteğe bağlıdır ve varsayılan değeri true 'tür.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 sararak video oynatma deneyimini kontrol etmesine olanak tanır. 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: Oynatma özelliğini yayın sona erdikten hemen sonra kullanılabilir hale getirmek istiyorsanız değeri true olarak ayarlamanız ve enableArchive mülkünün 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 'dır ve yalnızca yayın kanalının canlı yayınlar için kayıtları devre dışı bırakmasına izin verilirse 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. Ayrıca, kanalınızda bu izin yoksa ve bir yayını recordFromStart mülkünü false olarak ayarlayacak şekilde güncellemeye çalışırsanız API bir modificationNotAllowed hatası döndürür.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: 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 ayarlarsanız ancak enableDvr mülkünü de true olarak ayarlamazsanız arşivlenen videonun oynatılabilmesi için yaklaşık bir gün beklemeniz gerekebilir.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, HTTP POST altyazı özelliğinin bu yayın için etkin olup olmadığını belirtir. Bu mülkü zaten 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 'tür.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österilmesi için gereken süreyi kısaltabilir ancak yayını izleyenlerin çözünürlüğünü de etkileyebilir. |
contentDetails.latencyPreference |
string Bu yayın için hangi gecikme ayarının kullanılacağını belirtir. Bu özellik, ultraLow 'u desteklemeyen enableLowLatency yerine kullanılabilir.Düşük gecikmeli yayın, videonun yayını izleyen kullanıcılara görünmesi için gereken süreyi kısaltabilir ancak oynatmanın akıcılığı da etkilenebilir. Ultra düşük gecikmeli yayın, videonun izleyicilere görünmesi 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ün geçerli değerleri şunlardır:
|
contentDetails.enableAutoStart |
boolean Bağlı live stream cihazda 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 toplam canlı sohbet mesajı sayısı. Yayın kullanıcı tarafından görülebilir durumdaysa, canlı sohbet özelliği etkinse ve en az bir mesaj varsa mülk 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ını bu mülk tanımlamaz. |
monetizationDetails |
object monetizationDetails nesnesi, yayının para kazanma ayrıntıları (ör. reklam otomasyonunun etkin olup olmadığı veya yayın içi reklam eklemenin gecikmeli olup olmadığı) 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 yayına videonun ortasında gösterilen reklamlar 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. |