VODアプリ
ライブ(live)ではなく、ビデオオンデマンド(VOD)方式の Red5 ストリーミングビデオのサンプルです。Red5内部にVODが組み込まれている為、サーバアプリのコード書きは不要です。フォルダの構成のみで動作します。また、クライアントアプリは、記事 2009.10.18で作成したSuonoDolce-20091018.lzhを流用します。
サーバ側
フォルダ構成
アプリ名は 「newbieVod」とします。フォルダ内に「streams」フォルダを作成し、flv を格納します。
格納した動画は、YouTube からパチったものです。
- Max Factor -rush dyna mist waterproof mascara.flv
- Max Factor -true veil dual effect faundation.flv
他にMax Factor 肌から、しあわせ美人ムービー ウェブ限定版が公開されていたので、パチってみました。
- Max Factor (web limited edition).flv
red5-web.xml
記事 2009.10.20で作成したSample-20091020.lzhを流用します。
web.handler を ApplicationAdapter に修正します。これは、Red5 に組み込まれたデフォルトのアプリです。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="web.context" class="org.red5.server.Context" autowire="byType"/> <bean id="web.scope" class="org.red5.server.WebScope" init-method="register"> <property name="server" ref="red5.server"/> <property name="parent" ref="global.scope"/> <property name="context" ref="web.context"/> <property name="handler" ref="web.handler"/> <property name="contextPath" value="/newbieVod"/> <property name="virtualHosts" value="localhost, 127.0.0.1"/> </bean> <bean id="web.handler" class="org.red5.server.adapter.ApplicationAdapter" singleton="true"/> </beans>
web.xml、lib/xxxxx.jar
web.xmlは不要。今回はいっそのこと使わないことにしました。記事 2009.10.20をそのまま使っても構いません(ってか、圧縮したときは含まれていたようです。削除しても構いません)。jarファイルも不要です。本来は自作のサーバアプリを置くのですが、VOD では Red5 の組み込みアプリを利用するので、lib/ フォルダは空のままです。
クライアント側
SuonoDolce-20091018.lzhを流用します。
SuonoDolce.mxml
サーバ名とファイル名を変更し、「live="true"」オプションを削除します。
<?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/halo"> <s:VideoPlayer autoPlay="true"> <s:StreamingVideoSource serverURI="rtmp://localhost/newbieVod"> <s:StreamItem streamName="Max Factor -true veil dual effect faundation.flv"/> </s:StreamingVideoSource> </s:VideoPlayer> </s:WindowedApplication>
コンパイルして出来た SuonoDolce.swf は、AIRアプリケーションなので、 adl.exe で SuonoDolce.xml を指定して起動となります。
$ adl.exe SuonoDolce.xml
以上です。参考はVideo on-demand (Red5 Wiki)です。そこには、『何もしなくても動くよ、FMSと同様、Red5 に組み込まれてるから』とだけ書かれてるのですが、僕にはそれなりに難しかった訳で・・・(続きはlive vs. VODに書いた通りです)。