Red5を導入してみる - 2. flvのストリーミング再生
forked from Red5を導入してみる - 1. サーバに接続 (diff: 13)
Red5の接続テスト(ローカル環境にて.) 1. Applications/Red5/Contents/Resorce/Java/webappsに,任意のプロジェクトフォルダを作成.(今回は”test”という名前のプロジェクト) 2. 作成したフォルダ内に,サンプルの「SOSample」プロジェクトから「WEB-INF」をコピペする. 3. コピペした「WEB-INF」内の「web.xml」と「red5-web.properties」のプロジェクト名を変更する.(今回は,SOSampleの部分をすべてtestに変更しました) 4. 「WEB-INF」フォルダと同じ階層に「streams」フォルダを作成する.(←これがストリーミング用のフォルダ) 5. Red5を再起動. 6. Flashで接続すればOK! ※Macでしか試してません!!
ActionScript3 source code
/**
* Copyright geko ( http://wonderfl.net/user/geko )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/ttYe
*/
// forked from KoheiTAKAMIYA's Red5を導入してみる - 1. サーバに接続
package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.events.Event;
import flash.events.NetStatusEvent;
import flash.media.Video;
public class FlashTest extends Sprite {
public var txt:TextField;
public var server:Red5;
public var video:Video;
public function FlashTest() {
txt = addChild(new TextField()) as TextField;
txt.width = stage.stageWidth;
txt.height = stage.stageHeight;
video = addChild(new Video(400, 300)) as Video;
video.x = (stage.width-video.width)/2;
video.y = stage.height-video.height-video.x;
server = new Red5();
server.connect("rtmp://localhost/test");
server.addEventListener(NetStatusEvent.NET_STATUS, function netStatus(event:NetStatusEvent):void{
trace(event.info.code);
video.attachNetStream(server.ns);
server.ns.play("mov_001");
});
}
public function trace(...str):void{
txt.appendText("\n");
txt.appendText(str.toString());
txt.scrollV = txt.maxScrollV;
}
}
}
import flash.events.EventDispatcher;
import flash.events.NetStatusEvent;
import flash.net.NetConnection;
import flash.net.NetStream;
class Red5 extends EventDispatcher{
public var nc:NetConnection;
public var ns:NetStream;
public function Red5():void{
nc = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS, function _dispatchEvent(event:NetStatusEvent):void{
if(event.info.code == "NetConnection.Connect.Success") ns = new NetStream(nc);
dispatchEvent(event);
});
}
public function connect(serverURL:String):void{
nc.connect(serverURL);
}
}
