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 kılavuz, uygulamanızın varsayılan yayınların ve varsayılan akışların desteğinin sonlandırılmasını sorunsuz bir şekilde ele almasını sağlamanıza yardımcı olmayı amaçlar. Aşağıdaki ifadelerden herhangi biri uygulamanız için geçerliyse bu kılavuz sizin için uygundur:
liveBroadcast
KaynağınisDefaultBroadcast
özelliğinin değerini kontrol eder.liveStream
KaynağınisDefaultStream
özelliğinin değerini kontrol eder.liveBroadcasts.list
yöntemini çağırır vebroadcastType
parametre değerinipersistent
olarak ayarlar. Kullanımdan kaldırılma tarihi itibarıyla:broadcastType
parametre değeripersistent
iseliveBroadcasts.list
yöntemi herhangi bir sonuç döndürmez.broadcastType
parametre değeriall
iseliveBroadcasts.list
yö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 normalde izlemeyebileceği Yayın yaşam döngüsü rehberindeki belirli adımlar açıklanmaktadır.
What is happening?
YouTube, 2015'ten beri canlı yayın özelliği etkinleştirilen kanallar için otomatik olarak varsayılan bir akış ve varsayılan bir yayın oluşturmaktadır. Varsayılan akış süresiz olarak mevcuttu ve silinemiyordu. Benzer şekilde, varsayılan yayın kalıcı olarak kabul edildi. Her zaman vardı, başlangıç veya bitiş zamanı yoktu ve belirli bir etkinliğe bağlı değildi.
YouTube, yukarıda belirtilen kullanımdan kaldırma tarihinden itibaren artık varsayılan yayınlar ve canlı yayınlar oluşturmayacaktır. Bu değişiklik, canlı içerik yayınlamak için bu kaynakları kullanan istemci uygulamalarını etkiler. Bu değişiklik, 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 hızlıca gözden geçirmek için: Yayın, YouTube'da anlık olarak izlenebilen bir etkinliği, akış ise video içeriğini YouTube'a gönderme mekanizmasını ifade eder. Bir yayın, tam olarak bir akışa bağlanabilir ve bağlanmalıdır.
Varsayılan yayınlardan taşıma
Bu desteğin sonlandırılmasından önce API istemcileri, kanalın varsayılan yayınını kullanmayı veya etkinliğe özel bir yayın oluşturmayı seçebiliyordu. Varsayılan yayın, birden fazla etkinlikte 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ırsa ve aşağıdakilerden birini yaparsa varsayılan yayını kullanır:
broadcastType
parametre değerinipersistent
olarak ayarlar. Bu istek yalnızca varsayılan yayını alır.broadcastType
parametre değeriniall
olarak ayarlar, ardından API yanıtındaisDefaultBroadcast
özelliğinin değerinintrue
olduğuliveBroadcast
kaynağını tanımlar.
Desteğin sonlandırılmasının ardından YouTube yalnızca etkinliğe özel yayınları destekleyecektir.
Bu nedenle, istemci uygulamalarının varsayılan yayını kullanmak yerine her bir yayın etkinliği için liveBroadcast
kaynak oluşturması gerekir.
liveBroadcast
kaynağı oluşturmak için liveBroadcasts.insert
yöntemini çağırın.
Bu işlem, "Yayınların yaşam döngüsü" kılavuzunun 1.1. adımında açıklanmaktadır.
Kullanıcı arayüzünüz, henüz yapmıyorsa kullanıcıların yaklaşan etkinliğe özel yayınlar arasında ayrım yapıp seçim yapabilmesi için mekanizmalar da sağlamalıdır.
Varsayılan akışlardan taşıma
Yayın, ses ve video içeriklerini YouTube'a iletmenizi sağlar ve içeriklerinizi YouTube'da nasıl yayınlayacağınızla ilgili ayarları tanımlar. Yayıncıların, farklı zamanlarda gerçekleşen yayınlar için aynı yayını 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
kaynak oluşturmak için liveStreams.insert
yöntemini çağırın ve "Yayın hayatı" rehberinin 1.2. adımındaki talimatları uygulayın. Varsayılan olarak, yeni oluşturulan akışlar 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
-variable
cdn.ingestionType
-rtmp
cdn.resolution
-variable
contentDetails.isReusable
-true
Yayınları akışlara bağlama
YouTube'da canlı yayın başlatılmadan önce her liveBroadcast
kaynağı tam olarak bir akışa bağlanmalıdır. (Yayın, oluşturulduğu sırada herhangi bir akışa bağlı değildir.)
Varsayılan yayın için bağlama işlemi otomatik olarak yapıldı. Bu yayın, varsayılan akışa ayrılmaz bir şekilde bağlıydı. Ancak, desteğin sonlandırılma tarihinden sonra istemci uygulamalarının bu süreci tüm yayınlar için yönetmesi gerekir.
Bir yayını akışa bağlamak için liveBroadcasts.bind
yöntemini "Bir yayının yaşam döngüsü" rehberinin 1.3. adımında açıklandığı şekilde ç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 yayın ve akış 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 özelliğin de varsayılan değerleridir.
Otomatik başlatma ve otomatik durdurma özelliklerini kullanma
Varsayılan yayın, varsayılan akışta video yayını yapmaya başladığınızda otomatik olarak başlatılıyordu. Benzer şekilde, video yayını yapmayı durdurduğunuzda varsayılan yayın da sona erdi. Bu varsayılan kaynakların kullanıldığı her yayın oturumu, kanalınızda video olarak yayınlandı.
Otomatik başlatma ve otomatik durdurma özellikleri, varsayılan yayınlarda varsayılan davranış olsa da diğer yayınlarda isteğe bağlıdır ve etkinleştirilmesi gerekir. Bu özellikleri kullanmak istiyorsanız 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ışına başladığınızda ve akışı bitirdiğinizde yayının durumunu güncellemek için liveBroadcasts.transition yöntemini çağırması gerekir. Bir yayının başında ve sonunda bu geçişleri yönetmeyle ilgili talimatlar için "Bir Yayının Yaşam Döngüsü" kılavuzundaki 4.3. adım ve 5.2. adım'a bakın.