Setting up multistreaming


#1

So I’ve come by this awesome method of streaming to multiple streaming services at the same time. I did it with Twitch and Hitbox and it worked perfectly well, so that’s how you set everything up.

  1. Download NGINX from here: http://nginx-win.ecsds.eu/. If you’re unsure what to grab, here’s a clue.
  2. Extract it into some folder. Let’s call that folder nginx from now on.
  3. Go into nginx\conf, and create a file nginx.conf there.
  4. Write this into the file:

[code]worker_processes 2;

events {
worker_connections 8192;
}

rtmp {
server {
listen 1935;
chunk_size 4096;

            application live {
                    live on;
                    record off;


                    allow publish 127.0.0.1;
                    deny publish all;


                    # Push statements.


            }
    }

}[/code]

The first few lines before rtmp { I took from the default nginx-win.conf. Everything on the line after the # symbols is ignored, so you can write comments this way.

  1. Now you need to get an rtmp server addresses of the streaming services you want to use, along with your stream keys. Here is the Twitch server list, Hitboxes server address is on your dashboard near your stream key.

  2. Insert them after the # Push statements. line in the following format:

push rtmp://live.hitbox.tv/push/yalter?key=some_characters; # Hitbox. push rtmp://live-fra.twitch.tv/app/live_somenumbers_somecharacters; # Twitch.
Here I took the Frankfurt Twitch server, you may choose another one.

  1. Save the file, go to the nginx folder, open the command line (for instance by shift-rightclicking the empty space in the folder and choosing Open command window here), type nginx and hit Enter. If everything is OK (no errors, blank output), you can close the command line window (NGINX is still running when you close it!) and next time launch nginx.exe by simply double-clicking it.
    To stop NGINX, you’ll have to open the command line in the nginx folder, type nginx -s quit and hit enter.

  2. You can now set up your OBS to broadcast to your local server that you just set up. Create a new profile (or edit an old one), go into Broadcast Settings and select Custom in the Streaming Service field. Enter rtmp://127.0.0.1/live as the FMS URL and anything you want as the stream key.

  3. You’re now good to go, start streaming as usual and it will broadcast to multiple services at once! People will also be able to connect directly to your streaming server if you have a “white” IP address and port 1935 open. If you want to prevent that you can add *deny play all; *after the deny publish all; statement.

Keep in mind that for streaming to two services you’ll need twice as much upload speed. If someone connects to you directly you’ll need the same amount of upload speed just for that person.


#2

YaLTeR, your a genius.

PS: On step 1, you should have said to follow the white rabbit.


#3

WOW. YaLTeR, this is amazing, great job!


#4

I didn’t even realise nginx supported rtmp. I swear it gets better every time I look at it… You can even use it to transcode via ffmpeg, that’s awesome.