Como fazer livestream para mais de uma plataforma ao mesmo tempo usando Docker e nginx
Tutorial: https://www.youtube.com/watch?v=EzmA8uksOG4
Lista de servidores: https://github.com/obsproject/obs-studio/blob/master/plugins/rtmp-services/data/services.json
Servidor Twitch:
- São Paulo: rtmp://live-sao.twitch.tv/app
- Rio de Janeiro: rtmp://live-rio.twitch.tv/app
Servidor Youtube:
- rtmp://a.rtmp.youtube.com/live2
-
Instale o docker;
-
Copie o arquivo
nginx.conf.example
paranginx.conf
e ajuste as URLs colocando as suas chaves; -
Crie o container com o comando:
docker run -d -p 1935:1935 --name stream --mount type=bind,source=$(pwd)/nginx.conf,target=/etc/nginx/nginx.conf tiangolo/nginx-rtmp
(se já estava criado, só subir com docker start stream
)
- Atualize os pacotes dentro do container:
docker exec stream apt update && docker exec stream apt upgrade -y
- Na Twitch, se vc quiser testar a conexão antes entrar live, pode usar uma query string depois da key:
?bandwidthtest=true
Link para testar a Twitch:
https://inspector.twitch.tv/#/SEU_USUARIO_DA_TWITCH/
-
Salve o arquivo e saia. Digite
docker exec stream nginx -t
pra testar as configurações. -
Reinicie o container com
docker restart stream
-
Entre no OBS, escolha Custom Stream e coloque o endereço como
rtmp://localhost/live
-
Se estiver usando outro PC para criar o servidor, use o IP do PC ao invés do localhost
-
Agora pode testar sua stream e boa! Lembre de tirar o
?bandwidthtest=true
da Twitch para que a stream passe ao vivo :)
Se já tiver feito os passos acima pelo menos uma vez:
-
Verificar os containers em pé:
docker ps
-
Verificar se o container stream está na lista de containers:
docker ps -a
-
Subir o container (se já não estiver em pé):
docker start stream
-
Derrubar o container (quando não estiver utilizando):
docker stop stream
-
Verificar se as chaves da Twitch e YouTube estão corretas (para editar, só alterar o arquivo
nginx.conf
e resetar o container):docker exec stream cat /etc/nginx/nginx.conf