Red5で動画配信

YouTubeのような動画配信サーバを自社で用意する場合、Red5てやつがあるみたいです。
てか、外向けの動画配信ならYouTubeにアップしてそれを公開すればいいような気もしますが、とにかくやらなくてはならない状況にたった今陥りました。タイムリミットは3時間です。ではGo! [現在時刻:13:10]

グローバルに公開するサーバはM氏がXen仮想サーバをコピーして作ってくれました(OSはDebian GNU/Linux)。
さらにそこにログインしてみるとJavaの実行環境であるJREも既にありました。

さっそくRed5の本家サイトからtarボールの圧縮ファイルをダウンロードします。

$ wget http://trac.red5.org/downloads/1_0/red5-1.0.0-RC1.tar.gz

/usr/local以下にコピーします。

$ sudo cp red5-1.0.0-RC1.tar.gz /usr/local/
$ cd /usr/locaa
$ sudo tar xvzf red5-1.0.0-RC1.tar.gz

今後の為に"red5"でシンボリックリンクを貼っておきます。

$ sudo ln -s /usr/local/red5-1.0.0 /usr/local/red5

動画サーバー専用のユーザを作ります。

$ sudo adduser movie

ディレクトリとその配下にあるサーバの所有者をmovieユーザに変更します。

$ sudo chown -R movie:movie /usr/local/red5-1.0.0

movieユーザ向けJavaのパスを通しておきます。

red5の起動

$ cd /usr/local/red5
$ ./red5.sh

つらつら〜っとコンソールに文字が表示されて止まったら起動完了のようです。

さっそくブラウザでアクセスしてみます。
稼働ホストがlocalhostの場合は
http://localhost:5080
でアクセス出来ます。こんな画面が表示されました。


「このビデオが見えてるなら、サーバは正常に動いてるよ〜」だそうです。

それからDebian流に自動起動するように設定します。
以下のような起動ファイルを"/etc/init.d/red5"として作成しました。
(Javaの経験が無い為にパス関係は適当です...w)

#! /bin/sh

export RED5_HOME=/usr/local/red5
export JAVA_HOME=/usr/local/jre
export PATH=${PATH}:${JAVA_HOME}/bin:/usr/local/jruby/bin
export CLASSPATH=.:${RED5_HOME}:${RED5_HOME}/lib:${JAVA_HOME}/lib:/usr/local/java_class

case "$1" in
        start)
                echo -n "Starting Red5 Streaming Server..."
                cd $RED5_HOME
                sudo -u movie /usr/local/red5/red5.sh 2>&1 1>/dev/null &
                echo "done."
                ;;

        stop)
                echo -n "Stopping Red5 Streaming Server..."
                cd $RED5_HOME
                sudo -u movie /usr/local/red5/red5-shutdown.sh
                echo "done."
                ;;

        restart)
                echo -n "Restarting Red5 Streaming Server..."
                $0 stop
                sleep 1
                $0 start
                ;;

        *)
                N=/etc/init.d/$NAME
                echo "Usage: $N {start|stop|restart|}" >&2
                exit 1
        ;;
esac

exit 0

あとはシステム起動時に自動起動するように登録。

sudo update-rc.d red5 defaults 99

これで自動起動します。手動で起動したければ

$ /etc/init.d/red5 start

のように。あとstopとrestartもあります。

今回は動画配信のみが目的ですので、動画を所定のディレクトリに配置します。
デフォルトで公開ディレクトリはred5を解凍したディレクトリ以下の"webapps/root"ですので、ここに"douga.flv"のようなファイルを置いておけば
http://localhost:5080/douga.flv
としてアクセス出来ます。

とりあえず社内ネットワーク事情のうんたらかんたらも含めて、だいたい3時間で公開出来ました。タイムリミットぎりぎり(笑)