SRTLA alıcısını kendin barındırmak

LOLS IRL standart BELABOX uyumlu srtla konuşur, yani kendi alıcın barındırdığımız relay'lerle tamamen aynı davranır. Burada ne çalıştıracağın, hangi portların önemli olduğu ve mobil bağlantının kutuna hiç ulaşamamasına yol açan tek hata var.

Hiçbir şey barındırman gerekmiyor: ücretsiz LOLS Cloud relay'leri bonding kutudan çıktığı gibi çalışsın diye var, ya da kendi alıcını barındırıp kimseye bağımlı olmayabilirsin. İnsanlar iyi sebeplerle barındırmayı seçiyor. Yayının kontrol ettiğin bir altyapıya düşmesini istiyorsun, yakınında bizim relay'imizin olmadığı yerde fiziksel olarak sana yakın bir makine istiyorsun, düşünmen gereken bir pay istemiyorsun ya da sadece kendi şeylerini çalıştırmayı seviyorsun. Uygulamada hiçbir şey bizim sunucularımıza bağlı değil, yani geçmek bir host adı değişikliğinden ibaret.

Ne kuruyorsun

telefon (wifi + mobil veri)
   |
   |  srtla, UDP, ağ başına bir soket
   v
srtla_rec          herkese açık bir UDP portunu dinler, bağlantıları birleştirir
   |
   |  düz SRT, UDP, localhost üzerinde
   v
medya sunucusu     MediaMTX ya da benzeri
   |
   +--> OBS, ya da Twitch / Kick / YouTube'a yeniden yayın

İki parça, her birinin tek bir işi var. BELABOX projesinden srtla_rec, bonding'i anlayan kısım: telefonunun açtığı her bağlantı ona tek bir grubun parçası olarak kaydolur ve o da grubu yeniden tek bir düz SRT yayınına çevirir. Sonra bu yayını bir SRT dinleyicisine iletir; medya sunucusu burada devralır. MediaMTX olağan seçimdir ve yayını OBS'ye verebilir, yeniden yayınlayabilir ya da kaydedebilir, ama SRT kabul eden her şey olur.

Nerede çalıştırılır

Alıcıya telefonunun yayın yaptığı her ağdan ulaşılabilmeli, bu da pratikte herkese açık bir adres demek. Küçük bir VPS yeter: burada yapılan iş paket yönlendirme, transcode değil; yani çekirdekten çok megabit ve ılımlı bir CPU önemli. Yayın yaptığın yere coğrafi olarak yakın koy, en yakın relay'i seçtiğin sebeple: mesafe geri alamayacağın gecikmedir ve her yeniden gönderimde tekrar ödenir.

Neredeyse herkesi yakalayan hata

Ev LAN'ındaki bir alıcıya, mesela 192.168.1.50 adresindekine, yalnızca Wi-Fi'ından ulaşılır, başka hiçbir yerden değil. Mobil bağlantın özel bir adrese yönlenemez; yani kaydolmaz ve bonding'li değilsin, fazladan adımlı bir Wi-Fi yayını yapıyorsun ve istatistikler iki yerine tek bağlantı gösterir.

Ya herkese açık adresi olan bir makinede barındır ya da router'ındaki UDP portunu LAN'ındaki kutuya yönlendir ve uygulamayı router'ının herkese açık adresine yönelt. Dinamik bir DNS adı, adresin her değiştiğinde yeniden yazmaktan seni kurtarır.

Portlar

PortNe için
UDP, srtla portun, internetten gelenTelefonun dokunduğu tek port. 5000 gelenek. Bonding'li her bağlantı kendi kaynak adresinden ve portundan gelir, yani bağlantı başına açılacak ya da ayarlanacak bir şey yok.
UDP, SRT dinleyicin, yerelsrtla_rec'in birleştirdiği yayını ilettiği yer. MediaMTX varsayılan olarak SRT'yi 8890'da dinler. Düz SRT istemcilerinin de ona yayın yapmasını istemiyorsan internete açılması gerekmez.
Medya sunucunun sunduğu her şeyOBS'ye ya da bir izleyiciye giden RTMP, RTSP, HLS veya WebRTC; tamamen sana kalmış ve bonding yolunun parçası değil.

UDP, TCP değildir

Güvenlik duvarları, bulut güvenlik grupları ve router yönlendirme kuralları çok sık varsayılan olarak TCP'dir. Yalnızca TCP olan bir kurala gönderilen srtla kaydı hiçbir yerde hata vermeden kaybolur ve bu, alıcının kapalı olmasından ayırt edilemez. Bir bağlantı kayıt olmuyorsa başka bir şeye bakmadan önce kuraldaki protokolü kontrol et.

Stream id'ler

srtla_rec SRT stream id'sini olduğu gibi geçirir; yani uygulamanın Stream id alanına, arkasındaki sunucunun beklediği her şey girer. MediaMTX'te bu publish biçimidir: bir yol ve kimlik doğrulama açıksa isteğe bağlı olarak kimlik bilgileri:

publish:mypath
publish:mypath:username:password

Port internete açıksa kimlik doğrulamayı aç. Herkese açık bir adresteki doğrulamasız bir publish uç noktasını er geç sen olmayan biri bulur.

Uygulamayı ona yöneltmek

  1. LOLS IRL'de: Streams → + → SRTLA.
  2. Host: herkese açık host adın. Port: srtla_rec'in dinlediği UDP portu.
  3. Stream id: medya sunucunun beklediği publish dizesi.
  4. Latency: başlangıçta 2000 ms. Yayına girince uygulama ölçtüğü gidiş dönüş süresini gösterir ve bir değer önerir; yakındaki bir kutuda bu genelde varsayılandan düşük olur.
  5. Kaydet, etkinleştir, yayına başla ve istatistik katmanını genişlet. Bağlantı başına bir satır. İki satır iki ağın da kayıt olduğu anlamına gelir.

Gerçekten çalıştığını kontrol etmek

Önceden bilmekte fayda var

Bir adımda mı takıldın ya da ikinci bağlantıyı kabul etmeyen bir alıcıya bir çift göz daha mı lazım? Discord'da sor ya da support@lols.gg adresine yaz. Bulunduğun bölgeyi, istatistik katmanının ne gösterdiğini ve alıcının ne logladığını getir, genelde iki mesajlık bir konuşma olur.

İlgili: uygulama tarafı ve göstergeleri okumak için beş dakikada bonding, barındırmak istemiyorsan ücretsiz relay'leri kullanmak ve tüm rehberler.