Bu belgede, bir kodlayıcıdan YouTube'da canlı veri akışı yapmak için RTMPS'nin nasıl kullanılacağı açıklanmaktadır. RTMPS, SSL bağlantısı üzerinden tünellenen normal bir RTMP (Gerçek Zamanlı Mesajlaşma Protokolü) video akışıdır. Bu belge, RTMP'yi destekleyen kodlayıcılara RTMPS desteği eklemek isteyen kodlayıcı tedarikçileri için hazırlanmıştır.
RTMPS, çoğu sıradan kullanıcı içeriği için iyi bir seçimdir. Özellikle de düşük gecikme süresi gerekiyorsa. YouTube Canlı Yayın'ın desteklediği farklı besleme protokollerine genel bakış için Besleme Protokolü Karşılaştırması'na bakın.
Şartlar
YouTube Canlı'ya RTMPS göndermek için birkaç ön koşul vardır:
- Bağlantı URL'sinin (
<protocol>://<server>/<path>) her bir bölümü doğru olmalıdır:- Protokol
rtmpsolmalıdır. - Sunucu, geçerli bir YouTube RTMPS besleme uç noktası olmalıdır.
- Yol, geçerli bir YouTube Canlı RTMP uygulama adı olmalıdır.
- Protokol
- Bağlantı, besleme sunucusundaki 443 numaralı bağlantı noktasına yapılmalıdır.
- Çoklu ortam yayını, RTMPS ile gönderilmelidir. Yani, SSL bağlantısı üzerinden RTMP kullanılarak gönderilmelidir.
Bağlantı URL'sini alma
Kodlayıcınız YouTube Live API'yi zaten kullanıyorsa RTMPS besleme URL'si alma işlemi, RTMP'ye benzer. Yeni bir besleme yayını oluşturmak için LiveStreams insert (POST) isteği gönderin. Yanıttaki cdn.ingestionInfo.rtmpsIngestionAddress alanı, RTMPS URL'sini belirtir. Çift beslemeyi destekliyorsanız yedek adres cdn.ingestionInfo.rtmpsBackupIngestionAddress olur.
Bağlantı oluşturuluyor
Tercih ettiğiniz soket kitaplığını kullanarak, besleme URL'sinin belirttiği sunucuda 443 numaralı bağlantı noktasına bir SSL/TLS bağlantısı oluşturun. TLS yalnızca taşıma 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ı Göstergesi) eklediğinizden ve sunucu adını, bağlandığınız sunucu ana makine adına ayarladığınızdan emin olun.
SSL bağlantısı kurulduktan sonra bunu RTMP istemci kitaplığınızın bağlantısı olarak 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ışır ancak geçersiz bir sertifika alırsanız muhtemelen RTMP bekleyen bir YouTube sunucusuna bağlanıyorsunuzdur. Kullandığınız sunucu adında "rtmps" ifadesinin yer aldığından emin olun. "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ızdan emin olun.
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 YouTube sunucusuna RTMPS bekleyen bir şifresiz metin RTMP bağlantısı ayarlamış olabilirsiniz. Düz TCP bağlantısı değil, SSL bağlantısı oluşturduğunuzdan emin olun.