Skip to content

dud1337/TiNiStRiMi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tinistrimi_logo

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.

1. Guide

1.1 Start Server

Option 1 (demo): dockerhub image

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

Option 2 (recommended): docker compose

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

1.2 OBS Configuration

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:

image

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>

image

1.3 Viewing the Stream

  1. Navigate to http://<your domain/ip>:8080
  2. Click 'Watch' - only shows if someone is streaming

2. Advanced Config

2.1 Opsdroid Stream Notifier

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.

About

Simple streaming platform. OBS/Streamlabs compatible. View in browser. Sub-second latency.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published