The problem with Restream.io

Restream.io is a multistreaming service that offers a generous free tier with 2 destinations and a chat widget for the platforms. It means you can monitor chat way easier. But if you’re normal and not like me you probably use windows and there’s plenty of solutions that already do that better like AxelChat, StreamLabs’ Ground Control and others I forgot about probably heh. MY PROBLEM with RESTREAM IS with youtube it puts a little self plug for themselves in the top of the description which is completely fair, you can also just straight up remove it which is what I did for every other multistream I did. It’s okay it might work for you but I didn’t enjoy it and frankly some of their website UI is misleading to where it shows a watermark in the preview but it doesn’t have a watermark if you’re streaming from something like OBS. Just a little thing I didn’t like.

The Solution WOOOOOO

I found this cool little blog post on the OBS forums but the awesome people at morrowshore.com they have a little docker container that utilises (WARNING VERY NERDY STUFF AHEAD) that uses nginx and stunnel to just forward the rtmp connection from the container to the platforms of choice, it’s super simple to setup (for me at least) and I even got a way to make it even simpler via docker-compose. I will be sharing that docker compose file template below for the sake of me feeling like it.

Docker-compose template

Edit this thing below to match your stuff, I highly suggest using a .env file homie. you will need to build the image so follow the guide in this link until step 5 (ish) basically after running docker build then instead of using the docker run command make a file called docker-compose.yml and put the content as the template below after editing stuff.

name: whateveryouwantbutonlylowercase
services:
    prism:
        stdin_open: true
        tty: true
        ports:
            - 1935:1935
        container_name: prism
        environment:
            - TWITCH_URL=<twitch server>
            - TWITCH_KEY=<twitch key>
            - FACEBOOK_KEY=<facebook key>
            - YOUTUBE_KEY=<youtube key>
            - TROVO_KEY=<trovo key>
            - KICK_KEY=<kick key>
            - RTMP1_URL=<custom RTMP1 server>
            - RTMP1_KEY=<custom RTMP1 key>
            - RTMP2_URL=<custom RTMP2 server>
            - RTMP2_KEY=<custom RTMP2 key>
            - RTMP3_URL=<custom RTMP3 server>
            - RTMP3_KEY=<custom RTMP3 key>
        image: prism

Instead of this you can use the variant with the .env file as follows

name: whateveryouwantbutonlylowercase
services:
    prism:
        env_file: ".env"
        stdin_open: true
        tty: true
        ports:
            - 1935:1935
        container_name: prism
        image: prism

It doesn’t have to be called “.env” but it has to match whatever is after “env_file:” the content of the env file should be something like THIS (THIS JANSIMAN THIS THIS THIS THIS)

FACEBOOK_KEY="facebook key idk im not 50 years old"
YOUTUBE_KEY= "youtube key here get it from the studio dashboard of streaming"
TROVO_KEY="your own trovo key WHAT TEH FUCK IS TROVO?!"
KICK_KEY= "if you stream on kick put key here"
TWITCH_URL="Twitch URL idk find it yourself"

after you have both files or the one file all you need to do is run the following

docker-compose up #-d if you want it to be running at all times (dont)

after you’re done it’s preffered to kill the process so just ctrl+c ez

References