Note
This is an experimental image and is not optimized yet.
- srtla_rec from https://github.com/BELABOX
- srt-live-transmit from https://github.com/BELABOX
- srt-live-server from https://gitlab.com/mattwb65/srt-live-server/
- NOALBS for automatic bitrate switching from https://github.com/715209/nginx-obs-automatic-low-bitrate-switching
$ git clone https://github.com/kezzkezzkezz/belabox-receiver.gitTip
If you don't have Git installed on your machine, you can download this repository directly from here.
Only needs to be done after initial checkout
$ chmod +x run.sh generate-streamid.sh build-nocache.shNote
Configure NOALBS according to it's Configuration Guide and put your config.json and .env files into the checked out folder
Make sure to set your streamServers Config to the following:
"streamServers": [
{
"streamServer": {
"type": "SrtLiveServer",
"statsUrl": "http://127.0.0.1:8181/stats",
"publisher": "live/stream/belabox"
},
"name": "SRT Server",
"priority": 0,
"overrideScenes": null,
"dependsOn": null,
"enabled": true
}
]If you want your belabox-receiver server to connect to your local OBS instance, do the following:
Enable your OBS Websocket-Server:
- Click on the
Toolsmenu - Click on
WebSocket Server Settings - Click
Enable WebSocket server - Set Server Port to
4455 - Click
Enable Authentication - Click
Generate Password - Retrieve your password via
Show Connect Info
Setup NOALBS:
- Port-Forward your OBS's Websocket-Port
4455:4455/tcp - Make sure to configure NOALBS to this port-forwarded port, eg:
"software": {
"type": "Obs",
"host": "<your obs ip / dyndns>",
"password": "<your obs websocket password>",
"port": 4455,
"collections": {
"twitch": {
"profile": "twitch_profile",
"collection": "twitch_scenes"
}
}
},Tip
For this example to work, make sure you have created the configured NOALBS Scenes (eg. "Starting") inside a OBS scene collection named "twitch_scenes"
See this article for more info about Scene Collections in OBS
- Configure SRT receiver and SRT port within belabox to point to the docker container's public IP address
- Within Belabox, set "live/stream/belabox" as SRT streamid.
Configure the following SRTLA-Connection to your belabox-receiver server: srtla://<your-container-public-ip>:5000?streamid=live/stream/belabox
To retrieve the SRT-Stream (via OBS, VLC etc.), use the following SRT-URL: srt://<your-container-public-ip>:8282/?streamid=play/stream/belabox
Tip
In OBS, add a Media Source to your scenes and configure it accordingly
In your Media Source, unset Local File and then paste the SRT-URL into the Input-Field
You can find your public Statistics-URL at http://<your-container-public-ip>:8181/stats
Caution
Please keep in mind that using the default Stream-ID live/stream/belabox and forwarding your ports to the internet is a potential security risk. Port-Scanners that find your SRT-Server can potentially try out this default and hijack your stream.
We have added a utility-Script which helps you to generate a hard-to-guess Stream-ID. To use it, just run:
$ ./generate-streamid.shThis script will then give you your SRT(LA) Connection-string for your sender (eg. Moblin / IRL Pro / Belabox) and your receiver (eg. OBS).
It will also give you a preconfigured "streamServers" configuration object for your NOALBS config.json file which you can just copy.
You can always regenerate this streamid to get a new "credential". However, also make sure to reconfigure your sender, receiver and NOALBS Config in this case.
Open the following ports in your firewall / router to make belabox-receiver available from outside of your private network:
- 5000:5000/udp
- 8282:8282/udp
Caution
Port-forwarding 8181:8181/tcp is optional.
This is a security risk as it exposes your confidential Stream-ID to the internet!
If you're running this container on a public VPS, make sure to enable a firewall (eg. ufw) to block public access to this port and only allow the ports mentioned above.
$ ./run.shIf a new version is released in this repository, make sure to run the build-nocache.sh script once after your git pull / download of the ZIP file:
$ ./build-nocache.shAll Credit to rmoriz for creating the now outdated noalbs-belabox-receiver package https://github.com/rmoriz/bbox-receiver/tree/noalbs2