Pag-self-host ng SRTLA receiver

Standard na BELABOX compatible srtla ang gamit ng LOLS IRL, kaya ang sarili mong receiver ay kumikilos nang eksakto gaya ng mga hosted relay namin. Narito ang patatakbuhin, aling mga port ang mahalaga, at ang nag-iisang pagkakamali na pumipigil sa mobile data na makarating sa kahon mo.

Hindi mo kailangang mag-host ng kahit ano: nandiyan ang libreng LOLS Cloud relay para gumana agad ang bonding, o pwede kang mag-self-host ng sarili mong receiver at huwag umasa kaninuman. May magagandang dahilan ang mga tao sa pag-host. Gusto mong mapunta ang stream sa imprastrakturang kontrolado mo, gusto mo ng makinang pisikal na malapit sa iyo na wala kaming relay sa malapit, ayaw mong mag-isip ng allowance, o mas gusto mo lang patakbuhin ang sarili mong mga bagay. Walang nakatali sa mga server namin sa app, kaya pagpalit ng hostname lang ang paglipat at wala nang iba.

Ang binubuo mo

phone (wifi + mobile data)
   |
   |  srtla, UDP, isang socket bawat network
   v
srtla_rec          nakikinig sa public na UDP port, binubuo ulit ang mga koneksyon
   |
   |  plain SRT, UDP, sa localhost
   v
media server       MediaMTX o katumbas
   |
   +--> OBS, o restream papunta sa Twitch / Kick / YouTube

Dalawang piraso, at may isang trabaho ang bawat isa. Ang srtla_rec, mula sa proyektong BELABOX, ang bahaging nakakaintindi ng bonding: bawat koneksyong binubuksan ng phone mo ay nagre-register dito bilang bahagi ng isang grupo, at ibinabalik nito ang grupong iyon sa iisang ordinaryong SRT stream. Pagkatapos, ipinapasa nito ang stream sa isang SRT listener, kung saan pumapasok ang media server. MediaMTX ang karaniwang pinipili at kaya nitong ibigay ang stream sa OBS, i-republish, o i-record, pero kahit anong tumatanggap ng SRT ay pwede.

Saan ito patatakbuhin

Kailangang maabot ang receiver mula sa bawat network na dinadaanan ng stream ng phone mo, na sa praktika ay nangangahulugang public address. Sapat na ang maliit na VPS: packet forwarding ito, hindi transcoding, kaya mas mahalaga ang megabit at katamtamang CPU kaysa sa dami ng core. Ilagay ito malapit sa lugar kung saan ka nagsi-stream, sa parehong dahilan kung bakit pinipili ang pinakamalapit na relay: ang layo ay delay na hindi mo na mababawi, at binabayaran ulit sa bawat retransmission.

Ang pagkakamaling sumasalo sa halos lahat

Ang receiver sa home LAN mo, sa gaya ng 192.168.1.50, ay maaabot sa Wi-Fi mo at sa wala nang iba. Hindi makapag-route ang mobile data mo sa private address, kaya hindi ito nagre-register at hindi ka bonded, nagsi-stream ka sa Wi-Fi na may dagdag na hakbang, at isang koneksyon lang ang ipapakita ng stats sa halip na dalawa.

Mag-host sa makinang may public address, o i-forward ang UDP port sa router mo papunta sa kahon sa LAN mo at ituro ang app sa public address ng router mo. Ang dynamic DNS name ay nakakaligtas sa iyo sa pag-type ulit tuwing nagbabago ang address mo.

Mga port

PortPara saan
UDP, ang srtla port mo, papasok mula sa internetAng tanging port na hinahawakan ng phone. 5000 ang nakasanayan. Ang bawat bonded na koneksyon ay dumarating mula sa sarili nitong source address at port, kaya walang bubuksan o iko-configure bawat koneksyon.
UDP, ang SRT listener mo, localDito ipinapasa ng srtla_rec ang binuong stream. Nakikinig ang MediaMTX para sa SRT sa 8890 bilang default. Hindi ito kailangang i-expose sa internet maliban kung gusto mo ring mag-publish dito ang mga plain SRT client.
Anumang inihahain ng media server moRTMP, RTSP, HLS o WebRTC papunta sa OBS o sa manonood, ikaw ang bahala at hindi ito bahagi ng bonding path.

Ang UDP ay hindi TCP

Madalas na TCP ang default ng mga firewall, cloud security group at router forwarding rule. Ang srtla registration na ipinadala sa TCP-only na rule ay nawawala nang walang error kahit saan, na kamukha ng receiver na patay. Kung ayaw mag-register ng isang koneksyon, tingnan muna ang protocol ng rule bago ang iba.

Mga stream id

Ipinapasa ng srtla_rec ang SRT stream id nang diretso, kaya kung ano ang inaasahan ng server sa likod nito ang ilalagay sa field na Stream id ng app. Sa MediaMTX, iyon ang publish form, isang path at opsyonal na credentials kapag naka-on ang authentication:

publish:mypath
publish:mypath:username:password

I-on ang authentication kung bukas sa internet ang port. Ang publish endpoint na walang authentication sa public address ay matatagpuan din balang araw ng taong hindi ikaw.

Pagturo ng app dito

  1. Sa LOLS IRL: Streams → + → SRTLA.
  2. Host: ang public hostname mo. Port: ang UDP port na pinakikinggan ng srtla_rec.
  3. Stream id: ang publish string na inaasahan ng media server mo.
  4. Latency: 2000 ms sa simula. Kapag live ka na, ipinapakita ng app ang round trip na sinusukat nito at nagmumungkahi ng numero, na sa kahong malapit ay kadalasang mas mababa sa default.
  5. I-save, i-enable, mag-live, at i-expand ang stats overlay. Isang hilera bawat koneksyon. Ang dalawang hilera ay ibig sabihing parehong nag-register ang dalawang network.

Pagsuri kung gumagana talaga

Mga tala na mabuting alam nang maaga

Natigil sa isang hakbang, o gusto ng pangalawang mata sa receiver na ayaw tumanggap ng pangalawang koneksyon? Magtanong sa Discord o mag-email sa support@lols.gg. Dalhin ang region mo, ang ipinapakita ng stats overlay at ang nilog ng receiver, at kadalasan ay usapang dalawang mensahe lang ito.

Kaugnay: bonding sa limang minuto para sa panig ng app at kung paano magbasa ng mga indicator, paggamit ng mga libreng relay kung ayaw mong mag-host, at lahat ng gabay.