Red5でニコニコ動画のようなストリーミングサービス構築

環境

  • CentOS7

概要

4年ぐらい前に実装したニコニコ動画もどきが見つかったので軽くリファクタリングして公開してみる。 当時はオンライン講義での利用を想定して設計をしたため、 教育機関に属するユーザのロールに基づいたコメント公開範囲の制御や、コメントの意図に応じた強調表示などの機能がある。
※実用したわけではなくただの遊びなのでいろいろ適当な箇所が多い...。改善するモチベーションを高めるためにあえて人の目に晒すことにする。

実装

クライアントサイドはAS3で実装。 https://github.com/hiroki-sawano/comment-overlay-videogithub.com

コメントの受付と配布を行うサーバー(以降、コメントサーバー)はJavaで実装。 https://github.com/hiroki-sawano/comment-servergithub.com

ストリーミングサーバーはRed5のサンプルアプリケーション'oflaDemo'をそのまま活用した。
※前述の通り随分古い環境で扱っていたためRed5 0.9.1でしか試してない。

動作確認

CentOS上でコメントサーバーを実行する。

# java -jar commentserver.jar 
2017/06/25 08:35:09.684 INFO  - port_num : 10007 maxNumUser : 100 commentListDir : /vagrant/tmp
2017/06/25 08:35:09.696 INFO  - Comment server started

Red5も起動。

sh red5.sh

Webサーバ上に配置したFlashアプリケーションにアクセスする。
配信者画面
http://your_server_ip_address/publish.html f:id:hiroki-sawano:20170625181535p:plain

聴講者画面
http:/your_server_ip_address/subscribe.html f:id:hiroki-sawano:20170625183847p:plain

まとめ

といった感じにRed5を使うと結構簡単にストリーミングサービスが作れて面白い。
ちゃんとした説明はREADMEにいずれ書くつもり..。