*RTMPy インストール [#gde87dc6]
#contents2_1(compact=true,depth=1-2)

&br;
*内容 [#w5bfbea9]
-http://rtmpy.org/
-とりあえず RTMPy をインストールしてみただけです。ほんとにとりあえず。

&br;
*Git インストール [#pc00f0a8]
**インストール [#a5402ddd]

 $ cd /usr/local/src
 $ wget http://www.kernel.org/pub/software/scm/git/git-1.6.5.tar.gz
 $ cd git-1.6.5
 $ ./configure
 $ make
 $ sudo make install

**参考URL [#t7452055]
-http://code.google.com/p/git-osx-installer/
-http://www.kernel.org/pub/software/scm/git/

&br;
*Twisted インストール [#xc842d9f]
**インストール [#d5d7981d]
 $ cd /usr/local/src
 $ wget http://tmrc.mit.edu/mirror/twisted/Twisted/8.2/Twisted-8.2.0.tar.bz2
 $ tar jxvf  Twisted-8.2.0.tar.bz2
 $ cd Twisted-8.2.0
 $ python setup.py install

**参考URL [#od6191a9]
-http://twistedmatrix.com/trac/
-http://twistedmatrix.com/projects/core/documentation/howto/

&br;
*PyAMF インストール [#k2585e4c]
**インストール [#ef037fd7]
 $ cd /usr/local/src
 $ wget http://download.pyamf.org/releases/latest/PyAMF-0.5.1.tar.gz
 $ tar zxvf PyAMF-0.5.1.tar.gz 
 $ cd PyAMF-0.5.1
 $ python setup.py install

 $ python setup.py test

**参考URL [#t699aa94]
-http://pyamf.org/

&br;
*Zope Interface インストール [#z727a20f]
**インストール [#w9f5116a]
特になし

**参考URL [#p118bd1a]
-http://www.zope.org/Products/ZopeInterface


&br;
*RTMPy インストール [#l954c3e1]
**インストール [#x9fa4831]

 $ cd /usr/local/src
 $ git clone git://rtmpy.org/rtmpy.git
 $ cd rtmpy
 $ python setup.py build
 $ python setup.py install

「$ trial rtmpy」がなーんかうまくいかなかったので、ここらへんした。
 $ /usr/local/python-2.5.2/bin/python2.5 ez_setup.py
 $ /usr/local/python-2.5.2/bin/python2.5 ez_setup.py -U setuptools
 
**確認 [#yccf350f]
 $ trial rtmpy


**参考URL [#daf27031]
-http://rtmpy.org/

&br;
*動作確認 [#qfbefddb]
**サンプルを取得する [#x8b1890d]
 $ cd 任意のフォルダ
 $ git clone git://rtmpy.org/rtmpy-examples.git/

**EchoTest サンプルを試す(1) [#j4163300]
-ここ http://rtmpy.org/wiki/EchoTest を参考にしました。&br;
-echo_test.swf は ここ http://red5.googlecode.com/svn/flash/trunk/deploy/ から取得しました。

***クライアント側 [#dc455a42]
ドキュメントルートのディレクトリに移動する。&br;
echo_test.swf を取得し、htpp://localhost/echo_test.swf とかでSWFが表示されるようにする。

***サーバ側 [#wc959e95]
 $ cd rtmpy-examples/echo
 $ python server.py

host を指定しする場合は、こんな感じ。
 $ python server.py --host=192.168.00.00

***ブラウザから確認する [#z574bf33]
RTMP のテキストボックスに、rtmp://192.168.00.00:1935/echo を入力し、「AMF 0」ボタンを押すと、つながった。


**EchoTest サンプルを試す(2) [#haad80ec]

***クライアント側 [#h4769bd9]
ActionScript を書いて rtmp://localhost:1935/echo に接続できるか試してみる。

#geshi(ActionScript){{
	
package
{
	import flash.display.BitmapData;
	import flash.display.Bitmap;
	import flash.display.Sprite;

	import flash.net.NetConnection;
	import flash.net.SharedObject;
	import flash.net.NetStream;
	import flash.net.Responder;

	import flash.events.NetStatusEvent;
	import flash.events.Event;
	import flash.events.MouseEvent;
	
	import flash.net.ObjectEncoding;

	[SWF(width="465", height="465", backgroundColor="#000000", frameRate="60")]

	public class EchoSample extends Sprite
	{
		private var _nc:NetConnection;
		private var _ns:NetStream;

		private var _stageW:Number;
		private var _stageH:Number;

		public function EchoSample()
		{
			addEventListener(Event.ADDED_TO_STAGE, initialize);
		}

		private function initialize(e:Event):void
		{
			removeEventListener(Event.ADDED_TO_STAGE, initialize);

			_stageW = stage.stageWidth;
			_stageH = stage.stageHeight;
			
			_nc = new NetConnection();
			_nc.objectEncoding = ObjectEncoding.AMF0;

			_nc.connect("rtmp://localhost:1935/echo");
			_nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
		}

		private function netStatusHandler(e:NetStatusEvent):void
		{
			trace("connected is: " + _nc.connected );
			trace("event.info.level: " + e.info.level);
			trace("event.info.code: " + e.info.code);

			switch (e.info.code)
			{
				case "NetConnection.Connect.Success":
					trace("NetConnection connected");
					break;
				case "NetConnection.Connect.Rejected":
					trace ("NetConnection was Rejected");
					break;
				case "NetConnection.Connect.Failed":
					trace("NetConnection was Failed");
					break;
				case "NetConnection.Connect.AppShutDown":
					trace("NetConnection AppShutDown");
					break;
				case "NetConnection.Connect.Closed":
					trace("NetConnection Closed");
					break;
			}
		}
	}
}

}}



***サーバ側 [#xb496e2d]
 $ cd rtmpy-examples/echo
 $ python server.py


***ブラウザから確認する [#c145fa3e]
作成した SWF にブラウザからアクセスすると、とーりあえず "NetConnection connected" と trace された。



&br;
*Comment [#s347b286]
#comment_nospam
&br;
#counter

IP:121.2.9.73 TIME:"2009-10-16 (金) 00:54:36" REFERER:"http://wiki.minaco.net/index.php?cmd=edit&page=Flash%2FRTMPy" USER_AGENT:"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; ja-JP-mac; rv:1.9.0.14) Gecko/2009082706 Firefox/3.0.14 GTB5"

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS