O LOLS IRL fala srtla padrão compatível com BELABOX, então o seu próprio receptor se comporta exatamente como os nossos relays hospedados. Aqui está o que rodar, quais portas importam e o único erro que impede a conexão celular de chegar na sua máquina.
Você não precisa hospedar nada: os relays gratuitos do LOLS Cloud existem para o bonding funcionar de cara, ou você pode hospedar o seu próprio receptor e não depender de ninguém. Tem bons motivos para hospedar. Você quer que a transmissão caia numa infraestrutura que você controla, quer uma máquina fisicamente perto de você num lugar onde a gente não tem relay, quer não ter limite nenhum para pensar, ou simplesmente prefere rodar as próprias coisas. Nada no app está preso aos nossos servidores, então trocar é mudar um hostname e mais nada.
celular (wifi + dados móveis)
|
| srtla, UDP, um socket por rede
v
srtla_rec escuta em uma porta UDP pública, junta as conexões de novo
|
| SRT comum, UDP, em localhost
v
servidor de mídia MediaMTX ou equivalente
|
+--> OBS, ou um restream para Twitch / Kick / YouTube
Duas peças, cada uma com um trabalho. O srtla_rec, do projeto BELABOX, é a parte que entende o bonding: toda conexão que o seu celular abre se registra nele como parte de um grupo, e ele transforma esse grupo de volta numa transmissão SRT comum. Depois repassa essa transmissão para um listener SRT, que é onde um servidor de mídia assume. O MediaMTX é a escolha de sempre e pode entregar a transmissão ao OBS, republicar ou gravar, mas qualquer coisa que aceite SRT serve.
O receptor precisa estar alcançável por todas as redes pelas quais o seu celular transmite, o que na prática quer dizer um endereço público. Um VPS pequeno basta: isso é repasse de pacotes, não transcodificação, então megabits e uma CPU modesta importam muito mais que núcleos. Coloque perto de onde você transmite, pelo mesmo motivo de escolher o relay mais próximo: distância é atraso que você não recupera, e ele é pago de novo a cada retransmissão.
Um receptor na sua LAN de casa, em algo como 192.168.1.50, é alcançável pelo seu Wi-Fi e por mais nada. A sua conexão celular não consegue chegar a um endereço privado, então ela nunca se registra e você não está com bonding, está transmitindo pelo Wi-Fi com passos extras, e as estatísticas vão mostrar uma conexão em vez de duas.
Ou hospede numa máquina com endereço público, ou redirecione a porta UDP no roteador para a máquina da sua LAN e aponte o app para o endereço público do roteador. Um nome de DNS dinâmico te poupa de redigitar toda vez que o seu endereço muda.
| Porta | Para quê |
|---|---|
| UDP, a sua porta srtla, entrada vinda da internet | A única porta que o celular toca. 5000 é a convenção. Cada conexão do bonding chega do seu próprio endereço e porta de origem, então não há nada por conexão para abrir ou configurar. |
| UDP, o seu listener SRT, local | Para onde o srtla_rec repassa a transmissão remontada. O MediaMTX escuta SRT na 8890 por padrão. Ela não precisa ser exposta à internet, a menos que você também queira que clientes SRT simples publiquem nela. |
| O que o seu servidor de mídia servir | RTMP, RTSP, HLS ou WebRTC para o OBS ou para um espectador, totalmente por sua conta e fora do caminho do bonding. |
Firewalls, grupos de segurança de nuvem e regras de redirecionamento de roteador muito frequentemente vêm com TCP por padrão. Um registro srtla enviado para uma regra só de TCP some sem erro em lugar nenhum, o que parece idêntico a o receptor estar fora do ar. Se uma conexão não se registra, confira o protocolo da regra antes de qualquer outra coisa.
O srtla_rec repassa o stream id do SRT direto, então o que vai no campo Stream id do app é o que o servidor por trás dele espera. Com o MediaMTX é a forma de publicação, um caminho e, opcionalmente, credenciais quando a autenticação está ligada:
publish:mypath
publish:mypath:username:password
Ligue a autenticação se a porta estiver aberta para a internet. Um endpoint de publicação sem autenticação num endereço público uma hora é achado por alguém que não é você.
srtla_rec escuta.srtla_rec loga um registro de conexão por conexão, todos no mesmo grupo. Duas conexões devem dar dois registros no mesmo grupo. Se você só vê um, a segunda rede não alcança o host: endereço privado, uma regra de firewall só de TCP ou uma VPN rodando no celular.Travou num passo, ou quer um segundo par de olhos num receptor que não aceita a segunda conexão? Pergunte no Discord ou mande e-mail para support@lols.gg. Leve a região em que você está, o que o overlay de estatísticas mostra e o que o receptor logou, e costuma ser uma conversa de duas mensagens.
Relacionados: bonding em cinco minutos para o lado do app e como ler os indicadores, usando os relays gratuitos se preferir não hospedar, e todos os guias.