Install Red5 on Debian

Latest versions installed with this tutorial:
Red5 1.0.0 RC2
Java 1.6.0_26
Ant 1.8.4

At least Debian 5 (Lenny) required:
cat /etc/debian_version

Checkout release:
cat /proc/version
uname -a
cat /etc/issue
cat /etc/debian_version

Make sure system can find all require dependencies from /etc/apt/sources.list:
deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main
deb http://ftp.us.debian.org/debian stable main non-free contrib
deb http://ftp.debian.org/debian/ squeeze-updates main
deb-src http://ftp.debian.org/debian/ squeeze-updates main
Comment any cd references with # if distribution cd is not inserted.

If system is not in English, enable that:
dpkg-reconfigure locales
export LANG=en_US.UTF-8

Update /etc/enviroment

You may need to reboot.

 

Update:
apt-get update

Install Subversion:
apt-get -y install subversion

Install tools to build your own Debian packages:
apt-get -y install dpkg-dev debhelper dh-make devscripts fakeroot

Install Java (accept sun license if applies):
apt-get -y install java-package
apt-get -y install sun-java6-jre
apt-get -y install sun-java6-jdk
java -version

Install Apache Ant:
wget http://www.apache.org/dist/ant/binaries/apache-ant-1.8.4-bin.tar.gz
tar zxvf apache-ant-1.8.4-bin.tar.gz
mv apache-ant-1.8.4 /usr/local/ant
export ANT_HOME=/usr/local/ant
/usr/local/ant/bin/ant -version

Download the latest development version of Red5:
svn co http://red5.googlecode.com/svn/java/server/trunk red5-trunk

Run ant to build red5:
cd red5-trunk
/usr/local/ant/bin/ant

Deploy red5:
mkdir /usr/local/red5
cp -R dist/* /usr/local/red5/
cd /usr/local/red5
chmod 755 red5.sh

Deploy your custom apps in/usr/local/red5/webapps .
In example VideoWhisper Red5 RTMP application needed to run VideoWhisper solutions.

Start Red5 in background:
cd /usr/local/red5
./red5.sh >> red5.log &

Verify the correct ports are being bound to:
netstat -ant

 

You need to restart red5 each time you add webapps to /usr/local/red5/webapps or change configuration or restart server.

Close Red5:
cd /usr/local/red5
./red5-shutdown.sh

Or kill Red5 processes:
ps aux | grep red5
kill $process_id

Then start it again:
cd /usr/local/red5
./red5.sh >> red5.log &

 

Can also deploy it as service to start automatically on server boot:

vi /etc/init.d/red5

#! /bin/sh
# put these contents at: /etc/init.d/red5
# change red5 directory path below as necessary
RED5_DIR=/usr/local/red5

start()
{
echo “Starting Red5 Service”
sudo su root -c “cd $RED5_DIR; ./red5.sh > /var/log/red5.log &”
return
}

stop()
{
echo “Shutting down red5”
sudo su root -c ‘killall red5 java’
return
}

case “$1” in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo “Usage: {start|stop|restart}”
exit 1
;;
esac
exit $?

chmod +x /etc/init.d/red5

Playback RTMP with JW Player

You can publish a rtmp stream to a rtmp address and then playback with an external player like JWPlayer.
If you publish StreamName to rtmp address rtmp://your-rtmp-address-here then you will need to configure JW Player:
var flashvars = { file: StreamName.flv, streamer: rtmp://your-rtmp-address-here, autostart:”true”, type:”rtmp”}

 

Webcam video streams can be published from web with a video Live Streaming broadcasting script. With the VideoWhisper Live Streaming soulution, StreamName is channel name (in example Studio586). Important: As latest VideoWhisper solutions also support P2P streaming, these need to be configured with alwaysRTMP=1 parameter in their _login.php or equivalent script so streams are always published to RTMP server.

 

If you want to publish for other devices special encoders and codecs would be required. Using an external encoder you can encode with codecs and settings not available in browser flash player (due to flash limitations). Not all encoders and versions are compatible with all rtmp servers and versions. Some require special configuration and usage instructions.

Adobe Flash Media Live Encoder can be used for Adobe Media Interactive server and is also reported to work with Wowza.

Wowza & Wirecast documentation and support is available for Wowza Media Server hosting.

 

Note that when publishing H.264, video player should be configured to play StreamName.mp4 instead of StreamName.flv .