Red5のアプリケーションをPHPで書く。
PHPで書いた部分はプログラムを更新すると、即コンパイルされます。
JITコンパイルが効くので、高速に動作します。
This is how to write red5 application with PHP(querccus).
the program on php is compiled immediately.
Jit will provide high speed working.
- phpExt.jarをred5のpluginディレクトリに設置する。
- quercusのjarファイルをpluginディレクトリに設置する。(javamail-141.jar, inject-16.jar, resin.jar)
- webapps/{application}/WEB-INF/php以下にphpディレクトリのプログラムを設置する。
- -Dfile.encoding=UTF8をred5.shに追加する。
- red5を起動する。
- put phpExt.jar on [red5_hone]/plugins/
- put the quercus jar files on plugin directories.(javamail-141.jar, inject-16.jar, resin.jar)
- put the php programs on webapps/{application}/WEB-INF/php
- -Dfile.encoding=UTF8, add this on the java start script(red5.sh)
- execute red5.sh
inject-16.jar
javamail-141.jar
resin.jar
(すべてQuercusのダウンロードページのwarファイルより入手 / please download from quercus project. war archive does have them.)
javaee-api-5.1.2.jar from red5
log4j-over-slf4j.1.6.1.jar from red5
logback-classic-0.9.26.jar from red5
logback-core-0.9.26.jar from red5
mina-core-2.0.3.jar from red5
inject-16.jar from Quercus
javamail-141.jar from Quercus
resin.jar from Quercus
red5.jar from red5
com.springsource.slf4j.api-1.6.1.jar from red5
org.springframework.context-3.0.5.RELEASE.jar from red5
org.springframework.beans-3.0.5.RELEASE.jar from red5
org.springframework.core-3.0.5.RELEASE.jar from red5
bcprov.jdk16-145.jar from red5
ehcache-2.2.0.jar from red5
commons-beanutils-1.8.2.jar from red5
com.springsource.org.apache.commons.collections-3.2.1.jar from red5
このプログラムで使われているBroadcastStream.javaのデータは最新のRed5のプログラムに対応させてあります。
古いサーバーの場合はBroadcastStream.javaの以下の部分を修正して、アーカイブしなおしてください。
220行目周り
RTMPMessage msg = RTMPMessage.build(rtmpEvent);
// RTMPMessage msg = new RTMPMessage();
// msg.setBody(rtmpEvent);
// RTMPMessage msg = RTMPMessage.build(rtmpEvent);
RTMPMessage msg = new RTMPMessage();
msg.setBody(rtmpEvent);
This program is for newest red5 program.
to use older version please fix BroadcastStream.java
around line #220
RTMPMessage msg = RTMPMessage.build(rtmpEvent);
// RTMPMessage msg = new RTMPMessage();
// msg.setBody(rtmpEvent);
// RTMPMessage msg = RTMPMessage.build(rtmpEvent);
RTMPMessage msg = new RTMPMessage();
msg.setBody(rtmpEvent);
red5-web.xmlのweb.handlerのbean指定にdirectoryのPropertyを指定してください。(存在しない場合はWEB-INF/php以下になります。)