Genel Bakış
Bu kılavuz, canlı içerik yayınlamak için YouTube kanallarının varsayılan liveStream ve liveBroadcast kaynaklarını kullanan API istemci uygulamalarının geliştiricileri için hazırlanmıştır. Bu araç, uygulamanızın varsayılan yayınların ve varsayılan akışların desteğinin sonlandırılmasını sorunsuz bir şekilde yönetmesini sağlamanıza yardımcı olmayı amaçlar. Aşağıdaki ifadelerden herhangi biri uygulamanız için geçerliyse bu araç sizin için uygundur:
liveBroadcastkaynağınınisDefaultBroadcastözelliğinin değerini kontrol eder.liveStreamkaynağınınisDefaultStreamözelliğinin değerini kontrol eder.liveBroadcasts.listyöntemini çağırır vebroadcastTypeparametre değerinipersistentolarak ayarlar. Desteğin sonlandırıldığı tarih itibarıyla:broadcastTypeparametre değeripersistentiseliveBroadcasts.listyöntemi herhangi bir sonuç döndürmez.broadcastTypeparametre değerialliseliveBroadcasts.listyöntemi, o zamandan önce var olan kalıcı yayınları döndürmez.
Uygulamanız etkileniyorsa lütfen Uygulamanızı güncelleme bölümüne bakın. Bu bölümde, desteğin sonlandırılması nedeniyle uygulamanızda yapmanız gerekebilecek prosedür değişiklikleri açıklanmaktadır. Bu bölümde, API istemcinizin şu anda varsayılan yayını ve akışı kullanıyorsa genellikle izlemeyebileceği Yayın yaşam döngüsü kılavuzundaki belirli adımlar açıklanmaktadır.
Neler oluyor?
YouTube, 2015'ten beri canlı yayın özelliği etkinleştirilen kanallar için otomatik olarak varsayılan bir yayın ve varsayılan bir canlı yayın oluşturuyordu. Varsayılan akış süresiz olarak mevcuttu ve silinemiyordu. Benzer şekilde, varsayılan yayın kalıcı olarak kabul ediliyordu. Her zaman vardı, başlangıç veya bitiş zamanı yoktu ve belirli bir etkinliğe bağlı değildi.
YouTube, yukarıda belirtilen desteğin sonlandırılma tarihinden itibaren artık varsayılan yayınlar ve yayınlar oluşturmayacaktır. Bu değişiklik, canlı içerik yayınlamak için bu kaynakları kullanan istemci uygulamalarını etkiler. Bu durum, kullanıcı arayüzünün varsayılan kaynaklar ile kanal sahiplerinin oluşturduğu diğer yayınlar ve akışlar arasında ayrım yapacak şekilde özelleştirildiği uygulamaları da etkiler.
API istemcilerinin, varsayılan kaynakları kullanmak yerine liveBroadcast ve liveStream kaynakları oluşturup yönetmesi ve bu kaynakları birbirine bağlaması gerekir.
Uygulamanızı güncelleme
Terminolojiyi kısaca gözden geçirelim: Yayın, YouTube'da gerçekleştiği anda izlenebilen bir etkinliği temsil eder. Canlı yayın ise asıl video içeriğini YouTube'a gönderme mekanizmasıdır. Bir yayın tam olarak bir akışa bağlanabilir ve bağlanmalıdır.
Varsayılan yayınlardan geçiş yapma
Bu değişiklikten önce API istemcileri, kanalın varsayılan yayınını kullanma veya etkinliğe özel yayın oluşturma arasında seçim yapabiliyordu. Varsayılan yayın, birden fazla etkinlik için yeniden kullanılabilen kalıcı bir kaynaktı. Etkinliğe özel yayın kaynağı ise tam olarak bir YouTube videosuna karşılık gelen tek kullanımlık bir kaynaktır.
İstemci uygulamanız, liveBroadcasts.list yöntemini çağırır ve aşağıdakilerden birini yaparsa varsayılan yayını kullanır:
broadcastTypeparametre değerinipersistentolarak ayarlar. Bu istek yalnızca varsayılan yayını alır.broadcastTypeparametre değeriniallolarak ayarlar, ardından API yanıtındaisDefaultBroadcastözelliğinin değerinintrueolduğuliveBroadcastkaynağını tanımlar.
Bu değişiklikten sonra YouTube yalnızca etkinliğe özel yayınları destekleyecek.
Bu, istemci uygulamaların varsayılan yayını kullanmak yerine her yayın etkinliği için ayrı ayrı liveBroadcast kaynakları oluşturması gerektiği anlamına gelir.
liveBroadcast kaynağı oluşturmak için liveBroadcasts.insert yöntemini çağırın.
Bu süreç, "Yayınların yaşam döngüsü" kılavuzunun 1.1. adımında açıklanmaktadır.
Kullanıcı arayüzünüz, yaklaşan etkinliğe özel yayınları ayırt etmek ve seçmek için kullanıcılara mekanizmalar da sağlamalıdır (henüz sağlamıyorsa).
Varsayılan akışlardan taşıma
Yayın, ses ve video içeriklerini YouTube'a aktarmanıza olanak tanır ve içeriğinizi YouTube'da yayınlama ayarlarını tanımlar. Yayıncıların, farklı zamanlarda yayın yapmaları durumunda aynı yayını birçok farklı yayında yeniden kullanması yaygın bir durumdur.
Uygulamanız varsayılan akışı kullanamasa da her yayın için yeniden kullanılabilen bir akış oluşturabilir. liveStream
kaynağı oluşturmak için liveStreams.insert
yöntemini çağırın ve "Yayın süreci" rehberinin 1.2. adımındaki talimatları uygulayın. Yeni oluşturulan yayınlar varsayılan olarak yeniden kullanılabilir. Ancak isterseniz tek kullanımlık yayınlar oluşturmak ve yayınlar ile akışlar arasında bire bir ilişki kurmak için contentDetails.isReusable özelliğini false olarak ayarlayabilirsiniz.
Aşağıdaki listede, yeni bir yayın oluştururken ayarlayabileceğiniz yayın başlığı ve yayın açıklaması dışında dört özellik yer almaktadır. Bu listede, varsayılan akışların her mülk için kullandığı değerler gösterilir. Bu değerler, varsayılan akışları kullanmayı bırakıp geçiş yapıyorsanız bir istemci uygulamasında kullanmak isteyeceğiniz ayarlar olabilir.
cdn.frameRate-variablecdn.ingestionType-rtmpcdn.resolution-variablecontentDetails.isReusabletrue
Yayınları akışlara bağlama
YouTube'da canlı yayın başlayabilmesi için her liveBroadcast kaynağının tam olarak bir yayına bağlanması gerekir. (Yayın, oluşturulduğu sırada herhangi bir akışa bağlı değildir.)
Bağlama işlemi, varsayılan yayına ayrılmaz bir şekilde bağlı olan varsayılan yayın için otomatik olarak gerçekleştiriliyordu. Ancak desteğin sonlandırılacağı tarihten sonra istemci uygulamaların bu süreci tüm yayınlar için yönetmesi gerekir.
Bir yayını bir canlı yayına bağlamak için "Bir yayının ömrü" kılavuzunun 1.3 adımında açıklandığı şekilde liveBroadcasts.bind yöntemini çağırın.
- Yeniden kullanılabilir bir yayın kullanıyorsanız yayını bir kez oluşturup her yayını bu yayına bağlayabilirsiniz.
- Yeniden kullanılabilir bir yayın kullanmıyorsanız bir canlı yayın ve bir yayın oluşturup bunları birbirine bağlamanız gerekir.
Yayınlarınızı test etme
Varsayılan yayını kullanmadığınızda yayınınızı test etme seçeneğiniz vardır. Test yapmak için yayın videosunu YouTube izleyicilerine görüneceği şekilde önizlemenize olanak tanıyan bir oynatıcı yerleştirirsiniz. Ancak yayın, diğer izleyiciler tarafından görülemez.
API istemciniz daha önce varsayılan yayını ve akışı kullandıysa ve akış sürecinize bir test aşaması eklemek istiyorsanız "Yayın süreci" kılavuzunun 3. aşamasına bakın.
Akışınızı test etmek istiyorsanız yayın eklerken contentDetails.monitorStream.enableMonitorStream özelliğini true, contentDetails.enableAutoStart özelliğini ise false olarak ayarlamanız gerekir. Bunlar, her iki özellik için de varsayılan değerlerdir.
Otomatik başlatma ve otomatik durdurma özelliklerini kullanma
Varsayılan yayında video akışı başlatıldığında varsayılan yayın otomatik olarak başlatılıyordu. Benzer şekilde, video yayını durdurulduktan sonra varsayılan yayın da sona erdi. Bu varsayılan kaynakları kullanan her canlı yayın oturumu, daha sonra kanalınızda bir video haline geldi.
Otomatik başlatma ve otomatik durdurma özellikleri, varsayılan yayınlar için varsayılan davranış olsa da diğer yayınlar için isteğe bağlıdır ve etkinleştirilmesi gerekir. Bu özellikleri kullanmak istiyorsanız bir yayın eklerken contentDetails.enableAutoStart ve contentDetails.enableAutoStop özellik değerlerini true olarak ayarlamanız gerekir. Bu özellikler birbirinden bağımsızdır. Dolayısıyla, birini kullanıp diğerini kullanmamayı tercih edebilirsiniz.
Yeni yayınlar için otomatik başlatma ve otomatik durdurma özelliklerini etkinleştirmezseniz API istemcinizin, video akışını başlattığınızda ve bitirdiğinizde yayının durumunu güncellemek için liveBroadcasts.transition yöntemini çağırması gerekir. Yayınların başlangıcında ve sonunda bu geçişleri yönetmeyle ilgili talimatlar için "Yayınların Yaşam Döngüsü" kılavuzundaki 4.3. adım ve 5.2. adım'a bakın.