├── README.md ├── docker-compose.yml └── nginx.conf /README.md: -------------------------------------------------------------------------------- 1 | # Servidor de Live Streaming com NGINX 2 | 3 | Um servidor para live streaming simples, somente o essencial para você transmitir e assistir ✨ 4 | 5 | ``` 6 | Esse projeto foi desenvolvido durante a gravação de um vídeo para o meu canal. Acesse o vídeo aqui: https://youtu.be/CrEzeBwLZPU 7 | ``` 8 | 9 | ## Requisitos 10 | - Docker 11 | - [Extensão para o chrome native MPEG-DASH + HLS Playback para o Chrome](https://chromewebstore.google.com/detail/native-mpeg-dash-+-hls-pl/cjfbmleiaobegagekpmlhmaadepdeedn) _(ou você também pode tocar o vídeo no safari se estiver usando um MacOS)_ 12 | - [OBS](https://obsproject.com/pt-br/download) 13 | 14 | ## Tecnologias 15 | - Docker compose 16 | - NGINX 17 | 18 | ## Protocolos 19 | - RTMP (Real Time Message Protocol) 20 | - HLS (HTTP Live Streaming) 21 | 22 | ## Como executar 23 | 24 | Suba os containers utilizando docker compose 25 | ``` 26 | docker-compose up --build 27 | ``` 28 | 29 | Abra o [OBS](https://obsproject.com/pt-br/download) > Configurações > Transmissão > Servidor 30 | ``` 31 | rtmp://localhost:1935/live 32 | ``` 33 | Clique em ok e depois clique em **Iniciar transmissão** 34 | 35 | ## Como assistir a transmissão 36 | No chrome com a [ MPEG-DASH + HLS Playback](https://chromewebstore.google.com/detail/native-mpeg-dash-+-hls-pl/cjfbmleiaobegagekpmlhmaadepdeedn) ou no Safari acesse: 37 | ``` 38 | http://localhost:8081/live/.m3u8 39 | ``` 40 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | services: 2 | nginx: 3 | image: tiangolo/nginx-rtmp:latest 4 | volumes: 5 | - ./nginx.conf:/etc/nginx/nginx.conf 6 | - ./stream:/hls/live 7 | ports: 8 | - "1935:1935" 9 | - "8081:8081" -------------------------------------------------------------------------------- /nginx.conf: -------------------------------------------------------------------------------- 1 | worker_processes auto; 2 | 3 | events { 4 | worker_connections 1024; 5 | } 6 | 7 | rtmp { 8 | server { 9 | listen 1935; 10 | 11 | application live { 12 | live on; 13 | record off; 14 | hls on; 15 | hls_path /hls/live; 16 | hls_fragment 3; 17 | } 18 | } 19 | } 20 | 21 | http{ 22 | server { 23 | listen 8081; 24 | 25 | location /live{ 26 | types { 27 | application/vnd.apple.mpegurl m3u8; 28 | video/mp2t; 29 | } 30 | root /hls; 31 | } 32 | } 33 | } --------------------------------------------------------------------------------