Linuxサーバ奮戦記 --- Red5 ---   Up.07Oct2010   >>TOP

Flash Media Server(FMS)に相当するフリーの Red5 というものがありインストールして,ストリーミングが使える様試みた。
これが使えるようになれば,動画の容量が大きくても全てダウンロードして再生する必要が無く,再生に必要な容量をバッワしながら再生していくので見る側とすればあまりストレスなくて済むのでは?

必要なツール

Apache Ant インストール

ソースの入手先: http://ant.apache.org/
ソース: apache-ant-1.8.0-bin.tar.gz
作業は /usr/local/src 下で行うことにする。

# tar zxvf apache-ant-1.8.0-bin.tar.gz
# mv apache-ant-1.8.0 /usr/local/ant
# vi ~/.bashrc

以下の様に追加

export ANT_HOME=/usr/local/ant
export PATH=${PATH}:${ANT_HOME}/bin

書込み後,設定ファイルを有効にする。
# source ~/.bashrc


JDK インストール

ソースの入手先: http://java.sun.com/javase/downloads/index.jsp
ソース: jdk-6u19-linux-i586.bin [Linx](環境に合わせる)
作業は /usr/local/src 下で行うことにする。

# chmod 755 jdk-6u19-linux-i586.bin
# ./jdk-6u19-linux-i586.bin
# mv jdk1.6.0_19 /usr/local/java
# vi ~/.bashrc

以下の様に追加

export JAVA_HOME=/usr/local/java
export JAVA_VERSION=1.6
export PATH=${PATH}:${ANT_HOME}/bin:${JAVA_HOME}/bin

書込み後,設定ファイルを有効にする。
$ source ~/.bashrc



red5 インストール

ソースの入手先: http://osflash.org/red5
ソース: red5-0.9.1.tar.gz
作業は /usr/local/red5 下で行うことにする。


# tar zxvf red5-0.9.1.tar.gz
# mv red5-0.9.1 /usr/local/red5
# cd /usr/local/red5
# chmod 755 *sh


起動シェルを作成
# adduser red5
# touch red5
# chmod 755 red5
# vi red5

#!/bin/sh
#
# Red5 This script starts and stops the Red5 server
#
# chkconfig: 2345 95 20
#
# description: Red5 is a streaming flash server
#
# Tested on FC4, Nigel Horne <njh (AT) bandsman (DOT) co.uk>

# Source function library.
. /etc/rc.d/init.d/functions

# Source configuration.
RED5_FLAGS=
#RED5_HOME=/usr/lib/red5
RED5_HOME=/usr/local/red5
# FC4 doesn't support this, if you have FC6 or later, enable it, don't know
# about FC5
# RED5_PIDFILE=/var/run/red5.pid
test -f /etc/sysconfig/red5 && . /etc/sysconfig/red5
test -f /etc/red5.conf && . /etc/red5.conf

# Gracefully quit if red5 isn't installed
test -x $RED5_DAEMON || exit 0

start() {
echo -n "Starting red5 server: "
cd $RED5_HOME || exit 1
# red5 doesn't fork into the background, so we need to do it
# this means that the retval is less trustable
# daemon --pidfile $RED5_PIDFILE red5.sh ${RED5_FLAGS} >> /var/log/red5
daemon /bin/bash red5.sh ${RED5_FLAGS} >> /var/log/red5&
RETVAL=$?
echo
test $RETVAL -eq 0 && touch /var/lock/subsys/red5
return $RETVAL
}

stop() {
echo -n "Stopping red5 server: "
# killproc $RED_PIDFILE
killall red5 java
RETVAL=$?
echo
test $RETVAL -eq 0 && rm -f /var/lock/subsys/red5
}

restart() {
stop
start
}

# See how we were called.
case "$1" in
start)
# Start daemon.
start
;;
stop)
# Stop daemon.
stop
;;
restart|reload)
restart
;;
condrestart)
test -f /var/lock/subsys/red5 && $0 restart || :
;;
status)
status red5
;;
*)
echo "Usage: $0 {start|stop|reload|restart|condrestart|status}"
exit 1
esac

exit $?

# mv red5 /etc/rc.d/init.d/
# /etc/rc.d/init.d/red5 start



動作確認
サーバのIPアドレス(ここでは例として 192.168.2.12 としている)とポート5080を指定てみる。http://192.168.2.12:5080/
以下のようなテストページ(red5-0.7.0の時点)が表示できればとりあえずOK。



デモページもあるので確認してみる。


外部公開するには,5080 と 1935 ポートを開けておくことが必要。


FLV・SWFファイルを作成
デジタルカメラで撮影した動画ファイルがMOV形式の物は下記のフリーソフトでファイル変換(FLV・SWF)が出来る。
Free Video to Flash Converter 4.2.1.61 

MOVファイルの編集は MPEG Streamclip で行うことができる。

上記のフリーソフトでストリーミングした例: サンプル動画