BELABOX-Receiver

BELABOX-Receiver

Docker app from kezzkezzkezz's Repository

Overview

Belabox receiver-side (srtla, srt-live-transmit, srt-live-server and noalbs) in a single container.

[!NOTE] This is an experimental image and is not optimized yet.

What you get

Getting Started

Check out this repository

$ git clone https://github.com/kezzkezzkezz/belabox-receiver.git

[!TIP] If you don't have Git installed on your machine, you can download this repository directly from here.

Make the scripts executable

Only needs to be done after initial checkout

$ chmod +x run.sh generate-streamid.sh build-nocache.sh

Configuration

NOALBS

[!NOTE] 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
      }
    ]

Connecting NOALBS to OBS

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 Tools menu
  • 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

Sender (BELABOX / Moblin / IRL Pro)

Belabox

  • 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.

Moblin / IRL Pro

Configure the following SRTLA-Connection to your belabox-receiver server: srtla://<your-container-public-ip>:5000?streamid=live/stream/belabox

Receiver (OBS / VLC)

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

Stats

You can find your public Statistics-URL at http://<your-container-public-ip>:8181/stats

Security

[!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.sh

This 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.

Firewall / Port Forwarding

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.

Start your Belabox-Receiver Server

$ ./run.sh

Updating

If 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.sh

Credit

All Credit to rmoriz for creating the now outdated noalbs-belabox-receiver package https://github.com/rmoriz/bbox-receiver/tree/noalbs2

Install BELABOX-Receiver on Unraid in a few clicks.

Find BELABOX-Receiver in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for BELABOX-Receiver Review the template variables and paths Click Install

Download Statistics

7,768
Total Downloads

Related apps

Explore more like this

Explore all

Details

Repository
kezzkezz/belabox
Last Updated2024-10-24
First Seen2023-03-12

Runtime arguments

Network
bridge
Shell
sh
Privileged
false

Template configuration

Location of Config.jsonPathrw
Target
/app/config.json
Location of sls.confPathrw
Target
/etc/sls/sls.conf
location of .envPathrw
Target
/app/.env
SRTLA PortPortudp
Target
5000
SRT Live PortPorttcp
Target
8181
SRT Transmit PortPortudp
Target
8282