Category Archives: red5 tutorials

what is the use of red5?

Well there are 2 red5’s, the open source red5 which is the one we use on our servers and red5pro, which is very expensive but still does not do what Wowza Streaming Engine does.

Red5 the open source can be used for ondemand streaming which is video streaming, you upload videos (in flv or mp4 format) to a red5 server and you stream the videos using red5, it is a better experience then using just a normal server, it starts faster because you don’t have to download the all file to the viewer computer and it is difficult for users to steal the video. But and this always applies, you can stream only to flash players, and most platforms are leaving flash, specially mobiles, so what I am saying is that red5 does not work well with smartphones, be Apple or Android devices.

You can also use red5 to stream live events, or video chats software’s.

testing a red5 live streaming rtmp, plus creating a player for the rtmp

We created an app for live streaming here.

Now we going to test it and create a player code so we can start streaming to our site.

Do you have fmle installed on your computer? You need to download it from adobe.

Lets test it first, go to

http://209.95.39.220/test/

enter the rtmp of your app. the rtmp is

rtmp://server IP/app

so:

rtmp://RED5_SERVER_IP/live221

Enter this URL on the long string and click connect, now click “Publish” your camera will start,  and now click “Play” if the 2 players show the same thing you are on. Everything is good.

OK, now we have to work on “stream name”. We talked about rtmp, and we tested it, the testing site if you go back to it

http://209.95.39.220/test/

it has a stream name, “testing” this must be on both the publishing and on the player.

so it must be on the FMLE and on the player code.

fmle

(click on the image to have a better view)

the FMLE on the left you have your settings, frame per second, bitrate, your camera, format.

on the red5 server your bitrate should be about 320kbps higher then that you need a lot of RAM and server resources.

lets configure the fmle as the image shows.

on the right on the FMS URL enter the rtmp and on the stream enter your chosen stream name, in this case I entered “live” see image.

click connect, and then below click “Start”

you now streaming to your server.

 

Now creating a player for this stream. Go to

http://www.hosting-marketers.com/generator/

at the bottom on the “Streamer” enter the rtmp:

rtmp://RED5_SERVER_IP/live221

and on “Stream / File Name” enter the stream name, which we used on the FMLE, “live”

Click  “Generate Code!”

Take the “Preview & Embed” code, paste on your site and that’s it.

You can also use an image on the player, it will show before the user click to play,  enter the image URL on “Overlay Poster”

creating a new app on Red5 for live streaming

We will call this app live221.

first of all download the folder live from red5, the path is /usr/local/red5/webapps

if you ftp to the server you will see these apps.

then rename the folder live to live221

open the folder and go inside \WEB-INF folder, there are 3 files there, you need to change 2.

1- file: red5-web.properties
2 – file: web.xml

open on a text editor red5-web.properties , you will see the 2 lines below:
webapp.contextPath=/live
webapp.virtualHosts=*

change it to:

webapp.contextPath=/live221
webapp.virtualHosts=*

now open the second file web.xml the code on top:

red5 live app

upload the new folder, restart the Red5

go to the Red5 admin area and you will see the new app.

Getting Event Cue Points to work with Red5 0.8 and Red5 0.9.1

I’ve written a flash app (in AS3) that streams video to a red5 server (over RMTP of course) and embeds event cue points into the stream. The red5 server is using the OFLA demo that comes with red5, which converts the streams to FLV files. I then have another flash app that reads the FLV (over HTTP in this case not RTMP) and calls a function when an event cue point is reached while playing the FLV.
Now – the code you need to write to ensure that the cue points get properly written into the FLV depends on what RED5 version you are running. The code I’m talking about is the AS3 code in the app that streams the video. When you want to insert an event cuepoint you need to format the “send” function call with the following code (where ns is the netstream object):


For Red5 0.8

ns.send(“onCuePoint”, cueData);

For Red5 0.9.1

ns.send(“@setDataFrame”, ”onCuePoint”, cueData);

And thats pretty much it. And the other thing you need to ensure is that when you are setting up your netconnection, make sure you are using AMF0 encoding. I noticed this is needed for cue points to be added successfully in the right format.

nc.objectEncoding = flash.net.ObjectEncoding.AMF0

Jeremy is the webmaster of http://builderscrack.co.nz