Want to stream to Twitch, Youtube, or Periscope at the same time? That's what this project allows you!
- Git
- Docker
- Docker Compose
This guide will go through configuration and how to use it with OBS. Make sure to have all the prerequisites installed on your machine.
- Clone the repo
$ git clone https://github.com/HorusGoul/rtmp-social-multicast- Open the repo
$ cd rtmp-social-multicast- Create a
.envfile based on the.env.templatefile.
$ cp .env.template .env-
Open and fill the
.envfile and fill it with the configuration for the platforms you want to stream.
RTMP_SECRET if you plan to expose the server to the internet.
RTMP_AUTH_SERVER variable unless you know what you're doing.
- Now let's launch everything with Docker Compose
$ docker-compose up- Time to stream! We'll use OBS in this guide, but other streaming software should support this configuration.
In the Stream configuration for OBS, select the Custom... service, then write rtmp://localhost/live into the Server field.
The Stream Key field corresponds with the RTMP_SECRET you defined in the .env file, so make sure it's the same, or you won't be able to start your streaming session.
All set! Let's go live 🔴
If YouTube isn't receiving data from us, that means something went wrong in the process. Recheck everything or open an issue if you can't get it to work following these steps.
Here is stated how you can get the parameters to fill the YouTube section of your .env file.
Go to https://youtube.com/livestreaming, and there you'll find this:
Stream Key corresponds with RTMP_YOUTUBE_KEY.
Stream URL corresponds with RTMP_YOUTUBE_SERVER. Make sure to add a slash (/) at the end of the URL if it doesn't have one.
RTMP_YOUTUBE_ENABLED to true
Here is stated how you can get the parameters to fill the Twitch section of your .env file.
Go to your Twitch Dashboard following this link: https://dashboard.twitch.tv/settings/stream.
There you'll find your Primary Stream Key. We should place it
in the RTMP_TWITCH_KEY variable.
Now you need to get the closest server to your location, for that, Twitch provides this website https://stream.twitch.tv/ingests/.
Once you pick the best server for you, copy the rtmp://live-mad.twitch.tv/app/
part of the URI, that's the value we'll use for the RTMP_TWITCH_SERVER.
Don't copy the {stream_key} part, or it won't work.
RTMP_TWITCH_ENABLED to true
Here is stated how you can get the parameters to fill the Periscope section of your .env file.
Go to the Periscope Producer Page following this link: https://www.periscope.tv/account/producer.
There you'll find your Stream Key. We should place it
in the RTMP_PERISCOPE_KEY variable.
We can also find the Server URL that we should place in the RTMP_PERISCOPE_SERVER variable. Make sure to add a slash (/) at the end of the URL if it doesn't have one.
RTMP_PERISCOPE_ENABLED to true
Here is stated how you can get the parameters to fill the Facebook section of your .env file.
Go to the Facebook Live Producer page following this link: https://www.facebook.com/live/producer/.
Select proper space you will post your live (your timeline or facebook page). In the main section you will find your Stream Key. We should place it
in the RTMP_FACEBOOK_KEY variable.
We can also find the Server URL, but Facebook at this point uses only one URL: live-api-s.facebook.com:443. It is set for SSL tunneling in the stunnel4 config, so there's no need to adjust this.
RTMP_FACEBOOK_ENABLED to true
Feel free to buy me a coffee if you enjoy my content 😄





