前些天把Adobe官方的p2p Video phone demo的研究了一遍,了解了这个基于Stratus的video phone是如何工作的。由于Adobe的demo需要运行一个python写的web service才可以运行 — 这个web service用于用户名与peer ID之间的转换,真实项目中我们不可能用256-bit 的 peer ID作为联系人的用户名,所以做一个用户名到Peer ID之间的转换是很用必要的,打电话时只需要知道对方的登陆用户名就可以联系,不需要知道这个超长的不可能记住的Peer ID。可能很多不熟悉python的人没有成功运行源代码,现在我就从我的角度告诉大家如何创建这么一个 P2P 电话。(当然不需要额外的web service)
首先还是了解一些必要的知识
RTMFP — RTMFP是Adobe公司开发的一套新的通信协议,该协议可以让使用Adobe Flash Player的终端用户之间进行直接通信, RTMFP基于UDP而Flash Media Service支持的RTMP是基于TCP的。
Stratus — Adobe Stratus service beta 是支持RTMFP 的服务器。它是一个中转式的服务,它的作用是建立flash player之间的通讯。即使它们位于NATs的后面。与FMS不同,Stratus不支持媒体转播,共享对象,脚本等等,你只能开发客户端之间直接联系的应用程序。
我们的网络电话就是基于上面描述的技术,在开始之前有一些准备工作要做。
- 确定你安装了 Flex SDK3.2. 这里下载
- 确定安装了flash payer 10 debug version (开发环境最好用debug version) 这里下载
- 申请一个 Stratus develper key 这里申请
- 新建一个项目,名字随意,位置随意,编辑项目属性 — Flex compiler — Require Flash player version 到 10:0:0
- 安装好上面的东西,然后等我明天来写 “基于Stratus的P2P网络电话 (2)”

Great work,webmaster,nice design!
Reply
you are so professional 0.0
Reply
谢谢您的文章 Kevin Luo,我是一个新手,想请问一下:
您说的:“新建一个项目,名字随意,位置随意,编辑项目属性 — Flex compiler — Require Flash player version 到 10:0:0” 指的是在哪里建立项目啊? 是在Flex Builder里面?还是其他什么工具里面,谢谢!
Reply
初学者,学习楼主
Reply
ok……….
Reply
[...] Flex 迷你教程 — 基于Stratus的P2P网络电话 (1)(2)(3) 先学习一下Flash p2p的基础. 简单的说原来的Stratus 实现了flash [...]