RTMPy インストール


内容

  • http://rtmpy.org/
  • とりあえず RTMPy をインストールしてみただけです。ほんとにとりあえず。


Git インストール

インストール

$ 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


Twisted インストール

インストール

$ 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


PyAMF インストール

インストール

$ 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


Zope Interface インストール

インストール

特になし

参考URL


RTMPy インストール

インストール

$ 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

確認

$ trial rtmpy

参考URL


動作確認

サンプルを取得する

$ cd 任意のフォルダ
$ git clone git://rtmpy.org/rtmpy-examples.git/

EchoTest? サンプルを試す(1)

クライアント側

ドキュメントルートのディレクトリに移動する。
echo_test.swf を取得し、htpp://localhost/echo_test.swf とかでSWFが表示されるようにする。

サーバ側

$ cd rtmpy-examples/echo
$ python server.py

host を指定しする場合は、こんな感じ。

$ python server.py --host=192.168.00.00

ブラウザから確認する

RTMP のテキストボックスに、rtmp://192.168.00.00:1935/echo を入力し、「AMF 0」ボタンを押すと、つながった。

EchoTest? サンプルを試す(2)

クライアント側

ActionScript? を書いて rtmp://localhost:1935/echo に接続できるか試してみる。

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;
			}
		}
	}
}

サーバ側

$ cd rtmpy-examples/echo
$ python server.py

ブラウザから確認する

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


Comment



Counter: 6997, today: 2, yesterday: 0

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-09-24 (火) 14:55:56 (1457d)