測試用 user
username: 123 password: 123
username: user01 password: user01
至 Settings -> Stream 設定
- Server: rtmp://localhost/live
- Stream Key: 設定頁面的 Primary Stream key
可在直播頁面看見剛才設定的直播資訊,觀眾可以在直播期間留言與直播主互動(目前直播延遲約 30~40秒)
- 使用者註冊後可以直播
- 使用者可以在直播中留言
- 使用者可以觀看直播存檔
- 使用 Socket.IO 建立直播間聊天室
- 使用 Docker 進行部屬
- 使用 Hls.js 播放直播及影片
- 使用 alfg/nginx-rtmp 建立 rtmp server
- 其他技術: React, TypeScript, Styled-Component, Express
請參考: https://docs.docker.com/engine/install
git clone https://github.com/EshauHuang/ts-stream.git
# Setting up an Nginx server to get a m3u8 file using HTTP protocol.
VITE_GET_STREAM_URL=http://localhost
# Setting up an Api server to get video or stream HLS meta using HTTP protocol.
VITE_API_SERVER_URL=http://localhost/api
# Socket IO server
VITE_SOCKET_URL=http://localhost
# Setting up an Nginx server to push a stream using RTMP protocol.(docker network IP)
# 直播推播的 Nginx server 目前設定為此 App 的 Network IP(請見 `docker-compose.yml` 的 networks)
STREAM_SERVER_URL=rtmp://172.23.0.1
# Setting up a key with CryptoJS allows you to generate or verify stream keys.
# 欲使用測試 user 請使用此設定
SECRET_KEY=testtest
# The domain of the server, used for CORS configuration to allow access from specific origins.
# Node server 可接收的 domain
SERVER_DOMAIN=http:/localhost
nginx-reverse:
environment:
# 修改成自己網站的網域
SERVER_NAME: localhost
# 測試
docker compose -f docker-compose.yml -f docker-compose.dev.yml build
docker compose -f docker-compose.yml -f docker-compose.dev.yml up
## 產品
docker compose -f docker-compose.yml -f docker-compose.prod.yml build
docker compose -f docker-compose.yml -f docker-compose.prod.yml up
使用 alfg/nginx-rtmp,並稍作修改,主要作為串流的影片的輸出輸入
用於分配至不同 docker container