RTMP and video streaming

January 15th, 2010

RTMP path is not a link for streaming videos, it is a path to a a folder on red5 which will allow your red5 application to connect to red5 on our servers. Did I make it a bit clear?

for example lets take this application:
http://red5stream.com/videoconference/

for this application to work we uploaded a folder called videowhisper to red5/webapps folder inside the server then on this script http://red5stream.com/videoconference/ there is a file called settings.php and we entered this rtmp path which was:
rtmp://216.67.244.116/videowhisper

now do you see how it works?

red5 hosting or Real Time Messaging Protocol (RTMP) hosting

January 8th, 2010

Real Time Messaging Protocol (RTMP) is a protocol for streaming audio, video and data over the Internet, between a Flash player and a server. A special software is required to run on server side for accepting and serving the rtmp connections from flash clients. We provide managed RTMP hosting based on RED5.

Red5 is shared on our shared hosting plans that means although you can use red5 to stream your videos you will not have access to the red5 folder. Most scripts based on red5 need to upload a folder inside red5/webapps.

This folder is important because it will be on the RTMP path, ex.

rtmp://your-server-ip/folder-name

Contact us so we can upload your folder to red5/webapps and then give you the rtmp path.

RTMP Hosting

register_globals on servers with SuExec

November 19th, 2009

First of all allowing register_globals on, on a server is real stupid, it is a security risk that no hosting company should accept, but sometimes for old scripts it is necessary to have it on, in this case should be enabled on the customer account on the .htaccess file or if the server is running with SuExec support then on the php.ini file.

Usually entering the line:

register_globals=on

to the php.ini on the public_html should work, but on some servers we have noticed that this is not working. Unfortunately we do not know the exact reason for this issue, but we have another method to enable this.

First create a file called php5.cgi with 755 permissions and add the following in it.

#!/bin/sh
exec /usr/local/cpanel/cgi-sys/php5 -c /home/account-username/public_html/php.ini

(change the user names, and copy the php.ini file in to the public_html)
Then add the following lines in the .htaccess file.

Options All -Indexes
AddHandler application/x-httpd-php5 .php
Action application/x-httpd-php5 /php5.cgi

Could not reserve enough space for object heap

November 18th, 2009

While restarting the red5 service on the server, If you get following error

——————BEGIN SESSION——————
root@server [~]# cd /usr/local/red5/dist
root@server [/usr/local/red5/dist]#./red5.sh &
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
===============================

Then the best solution for this error is to use the following command. This command will increase the java heap size.

Quote:
root@server [/]#export _JAVA_OPTIONS=”-Xms20m -Xmx64m -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=40 -XX:NewSize=10m -XX:MaxNewSize=10m -XX:SurvivorRatio=6 -XX:TargetSurvivorRatio=80 -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled”

Be sure that it ends with a ” if it is missing add it manually. Then restart the red5

Quote:

root@server [~]# cd /usr/local/red5/dist
root@server [/usr/local/red5/dist]#./red5.sh &

If you are facing same problem “Error occurred during initialization of VM” again and again on the server then the problem is with the ulimit setting. If it is a cpanel/WHM server then add the following code in the start of the /etc/profile file.

Quote:
#cPanel Added Limit Protections — BEGIN

#unlimit so we can run the whoami
ulimit -n 4096 -u 14335 -m unlimited -d unlimited -s 8192 -c 1000000 -v unlimited 2>/dev/null

LIMITUSER=$USER
if [ -e "/usr/bin/whoami" ]; then
LIMITUSER=`/usr/bin/whoami`
fi
if [ "$LIMITUSER" != "root" ]; then
ulimit -n 100 -u 20 -m 200000 -d 200000 -s 8192 -c 200000 -v 200000 2>/dev/null
else
ulimit -n 4096 -u 14335 -m unlimited -d unlimited -s 8192 -c 1000000 -v unlimited 2>/dev/null
fi
#cPanel Added Limit Protections — END

Save and exit.

Log out and login again (or start another session) for these changes to take effect.

Installing red5, the simple way!

October 21st, 2009

It is not working any more, some files have been changed and our installer is now outdated, soon we will fix the issue. January 2010.

The following steps are intended to automate the installation of Red 5 versions 0.5 , 0.6.3 and 0.7.0 .
I know there is now 0.8 and even 0.9 versions but if your script doesnt need them go for the stable versions, 0.7 is my favorite.
1. Download the red5 installer script ,

Quote:
wget http://ffmpeg-hosting.net/red5_install

Note : Do not download the script to some location where every one can access it as someone may execute it and overwrite an old installation !

2. Make it executable,

Quote:
chmod +x red5_install

3. Execute the script,

Quote:
./red5_install

When the script is executed, it would ask for the red5 version to be installed. There are 3 choices as of now.. 0.7.0 , 0.6.3 and 0.5
Make the choice by entering the digits 1, 2 or 3 . Pressing any other key will select the latest version , 0.70 .

Quote:
# ./red5_install

Hello ,Please choose the RED5 version : (1,2,3 or 4)

1. RED5 0.7.0
2. RED5 0.6.3
3. RED5 0.5
Press Any other key to install 1. RED5 0.7.0

After the version is selected, the process is automated . If everything goes well, you will see something similar to the following as the last line,

Quote:
[DEBUG] 5467 main org.red5.server.Standalone.debug ) Startup done in: 5468 ms

Here the time ‘5648 ms’ may vary with different versions and servers. You can exit from this screen by entering the key combination of control and c (^c) as this should shutdown the red5 server normally.

Else if you get any error please leave a word at our help desk and we can install it for you.

If everything goes right, then red5 would be installed in /usr/local/red and it can be started by executing,

Quote:
./red5.sh &

to stop it

Change permissions to 755 of the file red5-shutdown.sh which is inside /usr/local/red

then ./red5-shutdown.sh

You will need to stop red5 after you upload your application to /usr/local/red/webapps

stop red5 and start it again so your application will be activated. after starting the red5 server, and when it arrives to “Startup done in: 5468 ms” log off from the terminal window CTRL  A+D

If you need any help contact support.