RED5をオリジンサーバーとして動かす。

RED5のクラスタリングをしましょう。

クラスタリングの効果は他のサイトに任せるとしてやり方を。
サーバーには2種類あって、今回は大本の処理をするオリジンサーバーの設定の方法です。

基本的に、confディレクトリの中の設定を書き換えればOKで、
RED5の公式によると、red5-origin.xmlをred5.xmlに上書きする。
これだけでoriginサーバーの設定に切り替わってoriginサーバーとして動く
とあるのですが、どうやら設定を作り上げてからred5のクラス構成等を変更したようで、
現状、デフォルトのままではうまくロードできなくなっています。

というわけで、うまく動くように現状のプログラムに即したred5.xmlとred5-origin-core.xmlに
書き直します。

なお、以下の変更をおこなってred5が起動しなくなっても責任はとれませんのであしからず。

まず、red5.xmlをred5-origin.xmlで書き直すの変わりに、オリジナルのred5.xmlを編集します。

編集部分は1箇所のみです。
26行目あたりの
 <constructor-arg><list><value>classpath:/red5-core.xml</value></list></constructor-arg>

 <constructor-arg><list><value>classpath:/red5-origin-core.xml</value></list></constructor-arg>

red5-core.xml→red5-origin-core.xmlです。

続いて、red5-origin-core.xmlを書き換えます。
こちらは変更箇所が4箇所ほどあります。

初めの変更箇所は15行目のクラス指定です。
<entry key="java.net.SocketAddress">
 <bean class="org.apache.mina.integration.spring.InetSocketAddressEditor" />
</entry>
とあるのですが
<entry key="java.net.SocketAddress">
 <bean class="org.apache.mina.integration.beans.InetSocketAddressEditor" />
</entry>
sprintではなくbeansが正解です。

次の変更箇所は108行目辺りの
<bean id="rtmptHandler"
 class="org.red5.server.net.rtmpt.RTMPTHandler" autowire="byType">
 <property name="codecFactory" ref="rtmpCodecFactory" />
</bean>
の部分です。ここではrtmpCodecFactoryではなくrtmptCodecFactoryが正解です。
<bean id="rtmptHandler"
 class="org.red5.server.net.rtmpt.RTMPTHandler" autowire="byType">
 <property name="codecFactory" ref="rtmptCodecFactory" />
</bean>

さらに136行目あたりの
<bean id="rtmpt.server" class="org.red5.server.net.rtmpt.TomcatRTMPTLoader" init-method="init" lazy-init="true">
の部分がまちがっています。
ソースをみてもらえばわかりますが、このクラスは存在しなくなっています。
<bean id="rtmpt.server" class="org.red5.server.tomcat.rtmpt.RTMPTLoader" init-method="init" lazy-init="true">
が正解です。

最後に237行目あたりの
<bean id="rtmps.server" class="org.red5.server.net.rtmps.TomcatRTMPSLoader" init-method="init" lazy-init="true">
の部分がまちがっています。これは136行目の間違いとほぼ同じですね。クラスを変更でもしたのでしょう。
<bean id="rtmps.server" class="org.red5.server.tomcat.rtmps.RTMPSLoader" init-method="init" lazy-init="true">
に書き換えます。

以上の変更が終了したら、red5.shのあるディレクトリに移動していつものように
./red5.sh
で起動してみてください。

これで起動できればOKです。
なお、このoriginサーバーは9035番のポートが開いている必要があります。

以上です。あとは、エッジサーバーをつくればOKですね。

一番下の部分にred5.xmlとred5-origin-core.xmlを添付しておきます。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2010年01月31日 14:41
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。