RTMPS aracılığıyla canlı YouTube içeriği yayınlama

Bu belgede, YouTube'da bir kodlayıcıdan canlı veri yayını yapmak için RTMPS'nin nasıl kullanılacağı açıklanmaktadır. RTMPS, SSL bağlantısı üzerinden tünellenen normal bir RTMP (RealTime Messaging Protocol) video akışıdır. Bu belge, RTMPS desteğini RTMP'yi zaten destekleyen kodlayıcılara eklemek isteyen kodlayıcı satıcıları içindir.

RTMPS, çoğu sıradan kullanıcı içeriği için iyi bir seçimdir. Özellikle düşük gecikme süresi gerektiren içerikler için uygundur. YouTube Canlı Yayın'ın desteklediği farklı besleme protokollerine genel bir bakış için Besleme Protokolü Karşılaştırması'na göz atın.

Şartlar

YouTube Canlı'ya RTMPS göndermek için karşılanması gereken birkaç ön koşul vardır:

  • Bağlantı URL'sinin (<protocol>://<server>/<path>) her bölümü doğru olmalıdır:
    • Protokol rtmps olmalıdır.
    • Sunucu, geçerli bir YouTube RTMPS alım uç noktası olmalıdır.
    • Yol, geçerli bir YouTube Canlı RTMP uygulama adı olmalıdır.
  • Bağlantı, alım sunucusundaki 443 numaralı bağlantı noktasına yapılmalıdır.
  • Multimedya akışı, RTMPS ile (yani SSL bağlantısı üzerinden RTMP kullanılarak) gönderilmelidir.

Bağlantı URL'sini alma

Kodlayıcınız zaten YouTube Live API'yi kullanıyorsa RTMPS besleme URL'si alma süreci, RTMP besleme URL'si alma sürecine benzer. Yeni bir alım akışı oluşturmak için LiveStreams insert (POST) isteği gönderin. Yanıttaki cdn.ingestionInfo.rtmpsIngestionAddress alanı, RTMPS URL'sini belirtir. Çift alımı destekliyorsanız yedek adres cdn.ingestionInfo.rtmpsBackupIngestionAddress olur.

Bağlantıyı oluşturma

Alma URL'sinin belirttiği sunucuda 443 numaralı bağlantı noktasına SSL/TLS bağlantısı oluşturmak için tercih ettiğiniz yuva kitaplığını kullanın. TLS yalnızca aktarım katmanıyla çalıştığından bağlantıyı başlatmak için sunucu ana makine adı kesinlikle gerekli değildir. Ancak sunucularımızla kimlik doğrulama için gereklidir. Bu nedenle, SSL el sıkışmanıza SNI uzantısını (Sunucu Adı Belirtimi) eklediğinizden ve sunucu adını bağlanmakta olduğunuz sunucu ana makine adı olarak ayarladığınızdan emin olun.

SSL bağlantısı kurulduktan sonra, RTMP istemci kitaplığınızın bağlantısı olarak bu bağlantıyı kullanın. Başlatılmış bir SSL bağlantısı, standart bir TCP bağlantısıyla aynı API'ye sahiptir. Bu nedenle, RTMP kitaplığı her ikisiyle de aynı şekilde çalışabilir.

Sorun giderme

SSL hataları

SSL bağlantısı oluşturmaya çalıştığınızda geçersiz bir sertifika alırsanız büyük olasılıkla RTMP bekleyen bir YouTube sunucusuna bağlanıyorsunuzdur. Kullandığınız sunucu adında "rtmps" ifadesinin bulunduğundan emin olun (sonundaki "s" harfine dikkat edin).

URL doğru görünmesine rağmen yine de SSL hatası alıyorsanız yanlış bağlantı noktasına bağlanıyor olabilirsiniz. 443 numaralı bağlantı noktasına bağlandığınızı onaylayın.

URL ve bağlantı noktası doğruysa SSL kitaplığınız sertifikayı doğru şekilde işlemiyor olabilir. SSL hatalarıyla ilgili düşük düzeyli teşhis mesajlarını arayın ve el sıkışma sırasında SNI kullandığınızı tekrar kontrol edin.

Bağlantı zaman aşımına uğradı

Sunucuya bağlanabiliyorsanız ancak RTMP kitaplığınız anlamlı bir yanıt almadan zaman aşımına uğruyorsa RTMPS bekleyen bir YouTube sunucusuna düz metin RTMP bağlantısı ayarlamış olabilirsiniz. Düz TCP bağlantısı değil, SSL bağlantısı oluşturduğunuzdan emin olun.