Red5によるRTMPサーバ

Red5によるRTMPサーバをご紹介します。

Red5のインストールと起動

Red5の概要

YouTubeのような動画配信サーバを自社で用意する場合、Red5てやつがあるみたいです。

てか、外向けの動画配信ならYouTubeにアップしてそれを公開すればいいような気もしますが、とにかくやらなくてはならない状況に陥りました。

Red5の起動と終了

Red5の起動
# sh red5.sh
Red5の終了
# sh red5-shutdown.sh

Red5の起動スクリプトの作成

CentOS6系にRed5サーバを構築する」を参考にしました。

以下の起動ファイルを「/etc/init.d/red5-server」に作成します。

#!/bin/bash
# For RedHat and cousins:
# chkconfig: 2345 85 85
# description: Red5 flash streaming server
# processname: red5-server

PROG=red5
#RED5_HOME=/usr/local/app/red5-server
RED5_HOME=/home/yoshiko/rtmp/red5-server
DAEMON=$RED5_HOME/$PROG.sh
PIDFILE=/var/run/$PROG.pid

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

[ -r /etc/sysconfig/red5 ] && . /etc/sysconfig/red5

RETVAL=0

case "$1" in
  start)
  echo -n $"Starting $PROG: "
  cd $RED5_HOME
  $DAEMON >/dev/null 2>/dev/null &
  RETVAL=$?
  if [ $RETVAL -eq 0 ]; then
    echo $! > $PIDFILE
    touch /var/lock/subsys/$PROG
  fi
  [ $RETVAL -eq 0 ] && success $"$PROG startup" || failure $"$PROG startup"
  echo
  ;;
  stop)
  echo -n $"Shutting down $PROG: "
  killproc -p $PIDFILE
  RETVAL=$?
  echo
  [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$PROG
  ;;
  restart)
  $0 stop
  $0 start
  ;;
  status)
  status $PROG -p $PIDFILE
  RETVAL=$?
  ;;
  *)
  echo $"Usage: $0 {start|stop|restart|status}"
  RETVAL=1
esac

exit $RETVAL

起動設定

chmod 755 /etc/init.d/red5-server
chkconfig --add red5-server
service red5-server start

ExoPlayer

ExoPlayerとは

Androidの動画再生用のライブラリで、Googleが提供しており、オープンソースです。

https://github.com/google/ExoPlayer

公式ドキュメントはこちらにあります。



紅葉2