Simple streaming platform with sub-second latency. Suits small communities. Give the streamer password to a user: They can stream with OBS, and anyone can watch in browser. Uses mediamtx.
tldr.mp4
- Supports RTMP and WHIP (webrtc)
- Dynamically provides a link to in-browser LLHLS and webrtc viewing
- i.e., you can watch in browser
The dockerhub image is infrequently built compared to mediamtx. Building with the docker compose file is recommended for updated nginx and mediamtx.
For WHIP (webrtc) to work, one needs to provide a host. At the time of writing, firefox requires an IP, not just a domain.
docker pull dud1337/tinistrimi:latest
docker run -e "TINISTRIMI_PASSWORD=<your password>" \
-e "TINISTRIMI_WEBRTC_HOSTS=<your ips or hosts separated by commas if more than one>" \
-p 1935:1935 \
-p 8080:80 \
-p 8189:8189/udp \
dud1337/tinistrimi:latest
git clone https://github.com/dud1337/TiNiStRiMi
cd TiNiStRiMi
Edit the environment variables in docker-compose.yml:
...
environment:
TINISTRIMI_PASSWORD: <password streamers can use>
TINISTRIMI_WEBRTC_HOSTS: <your ip/domain list separted by commas> # e.g. 192.168.1.15,yourstream.com
...
Then,
docker compose build --pull
docker compose up
Default password is TiNiStRiMi
.
For WHIP (recommended - requires OBS 30+), File, Settings, Stream
- Service:
WHIP
- Server:
http://streamer:<your password>@<your domain/ip>:8080/stream/whip
- Bearer Token:
If WHIP isn't viewable in the browser when locally testing, it may be due to firefox not liking UDP traffic to localhost - try from a different host
For RTMP (only option with streamlabs from android):
- Service:
Custom...
- Server:
rtmp://<your domain/ip>
- Stream Key:
stream?user=streamer&pass=<your password>
- Navigate to
http://<your domain/ip>:8080
- Click 'Watch' - only shows if someone is streaming
Setting
environment:
TINISTRIMI_PASSWORD: TiNiStRiMi
TINISTRIMI_WEBRTC_HOSTS: 10.138.138.138
OPSDROID_AUTH_TOKEN: <some bearer token generated by opsdroid webhook>
OPSDROID_STREAM_ENDPOINT: https://yourbot.example.tld/skill/TiNiStRiMi-opsdroid/update
Consider bind mount volumes for www
and mediamtx.yml
to further customise.