Question / Help Self-Sufficient Streaming

caruban

New Member
Hi
I have a fairly powerful computer running Windows 7. I have OBS, Red5, and a static IP on which I have a website. I'm having trouble connecting all of these things. My goal is to have an embedded player that anyone can watch by visiting http://www.mywebsiteurl.com/stream. So far, I have Red5 running with the default configuration, and my OBS broadcast settings are set to custom, with the FMS URL set to rtmp://localhost:1935 (the default port). When I try to start streaming, I'm told my stream key is incorrect (which is currently blank, though I've tried some values). Can anyone guide me through setting this up?

Thanks
 

dodgepong

Administrator
Community Helper
I've never used Red5, but I've used crtmpserver and nginx's RTMP module (I prefer the latter). With those systems, by default you just "invent" a stream key and enter it into the stream key box in OBS. So for me, if my FMS URL is rtmp://myserver/live and I enter a stream key of "test", then I feed the RTMP player (such as JWPlayer) a URL of rtmp://myserver/live/test and that works.

I'm guessing your problem is some setting on your Red5 server. I can't be certain, having never used it though. If all you're doing is what you're describing, then I recommend checking out nginx with the RTMP module for its lighter weight.
 

caruban

New Member
Thank you, though I'm having some trouble setting up the RTMP module. Could you possibly give me a quick walk through on how to do that?
 

dodgepong

Administrator
Community Helper
Well, I'm running my RTMP server on a Raspberry Pi, so it's using the Raspbian distribution (which, for all intents and purposes, is Debian). There is a package in apt for installing nginx, but the instructions on the RTMP module site seemed to indicate that you had to add the module at compile time, and I don't believe the apt package came with the module precompiled. So I ended up downloading the nginx source and compiling it manually, adding the module on the ./configure line. I basically just ran the 3 commands listed on the nginx-rtmp-module readme: https://github.com/arut/nginx-rtmp-modu ... /README.md

Code:
./configure --add-module=<path-to-nginx-rtmp-module>
make
make install

I basically just followed that README for setup instructions, tbh. After installing, I ran nginx and then added this to /usr/local/nginx/conf/nginx.conf:

Code:
rtmp {
        server {
                listen 1935;
                chunk_size 4096;

                application live {
                        live on;
                        record off;
                }
        }
}

What that does is tells nginx to load the rtmp module, listen on port 1935 for that module (1935 = RTMP port), and then make an "application" (what you append to the server URL, i.e. rtmp://servername/<application name>, so "live" in my case). "live on" means I'm telling it to enable streaming, and "record off" tells the server not to store a recording of the stream. You, of course, can read the README and edit the conf options to your liking.

If you've never managed a Linux server or compiled something from source on Linux...then you probably didn't understand any of this and I probably have more explaining to do :|
 

caruban

New Member
I've done enough work in linux to know what that means. I gathered most of that from the readme, though your discription was much more clear.

Problem is, I'm in Windows. XD Everything after compiling the source is transferable, I'd imagine. I guess that means I need to learn to compile source code in Windows and add the module to it...

Thank you so much for your help.
 
Top