最近做项目要写一个在android上跑的rtmp协议视频服务器,rtmp服务器端的资料实在难找,苦于找不到源码参考,我就想到了用Red5这一个java开源项目,虽然在android底层我们使用的是c++开发的服务器,但是这样一个开源的java项目一样可以对协议的交互与rtmp包的收发起到参考作用,所以整了一个来玩一玩。
这里为不让大家走弯路浪费时间,首先告诉大家的是,不是每一台电脑都可以成功的运行Red5-Webapp目录下的每一个app,比如作者的电脑运行Red5的installer就会出现:
Trying to connect to war location
Net status: NetConnection.Connect.Rejected
Async Error: [AsyncErrorEvent type="asyncError" bubbles=false cancelable=false eventPhase=2 text="Error #2095" error=ReferenceError: Error #1069]
Net status: NetConnection.Connect.Closed
Trying to connect to war location
Net status: NetConnection.Connect.Rejected
Async Error: [AsyncErrorEvent type="asyncError" bubbles=false cancelable=false eventPhase=2 text="Error #2095" error=ReferenceError: Error #1069]
Net status: NetConnection.Connect.Closed
Trying to connect to war location
具体为什么我也不知道是为什么,如果知道原因的朋友请告诉我。
如果遇到这种问题的朋友就请换一台环境纯净一点的机器试试,作者就曾经在这台机器上花了一天的时间实在没有找到原因,第二天换了一台机器才能成功的运行的。
下面进入正题,进行到Red5的与配置中:我使用的是Red5_0.9.1-zip版本,不要以为这是一篇多年前的教程,我只是选择了比较老的版本而已。事实证明,Red5项目组的文档工作做得实在坑爹,在新版本更新只有很少有我最开始用到的是0.8版本exe的安装程序,安装之后所有都可以正常使用,所有的demo都可以正常使用,可惜的是这个版本没有为导入eclipse设计的zip包版本,所以我们使用的是0.9.1版本。1.0.0及以上版本的和0.9版本的差别其实并不打,差别大的是0.8-0.9版本之间,这之间的改动已经影响到了demo的正常使用,下载的地址为:http://red5.org/downloads/red5/0_9/
1.