Nginx+RTMP/HLS docker image
使用具備RTMP/HLS 模組的 Nginx Docker container,快速打造現代化的串流伺服器。
幾種串流通訊協定摘要:
- RTP:點對點的串流媒體傳輸協定,主要使用 UDP 協定,不支援瀏覽器播放
- RTSP:基於 RTP 的串流媒體控制協定,例如快轉、暫停
- RTMP:過去 Flash 時代的串流傳送主流,使用 TCP 協定,瀏覽器需支援 Flash,預設連接埠1935。
- HLS:HTTP Live Streaming,由 Apple 主導,使用 HTTP 協定,易於通過防火牆,但高延遲,可達20秒以上。使用副檔名為 .m3u8 的索引檔與 .ts 容器。行動平台上四大瀏覽器皆支援播放,桌上平台只有 Safari 與 Edge 原生支援,Chrome 與 Firefox 需透過 extensions 支援。
- HTTP-FLV:使用 HTTP stream IO 播放 FLV 格式媒體檔案
- WebRTC:還不會用,正在學...
使用 jasonrivers/nginx-rtmp module docker image
簡易執行:
docker run -p 1935: 1935 -p 8888:8080 jasonrivers/nginx-rtmp
多個串流:
推播至其他 RTMP 伺服器:
docker run \
-p 1935:1935 \
-p 8888:8080 \
-e RTMP_PUSH_URLS=rtmp://live.youtube.com/myname/streamkey,rtmp://live.twitch.tv/app/streamkey
jasonrivers/nginx-rtmp
OBS 串流設定
Streaming Service: Custom
Server: rtmp://<your server ip>/live
Play Path/Stream Key: mystream
觀看串流:
使用 VLC:
- rtmp://servername/live/mystream
- http://servername/hls/mystream.m3u8