在用flex做视频系统的时候,想到一个需求,就是客户录制自己的桌面,远程给red5服务器,red5服务器接受,通过rtmp协议分发给其他用户。

客户端发送视频到red5,有几种方式:

1.使用flex air作为客户端。这种方式最为原生,成本也最小。我考虑在下一步的学习中研究。

2.使用其他程序实现rtmp,比如java,.net。这种方法需要自己实现,难度有点大,还需要研究rtmp协议。目前没有太强烈的需求。

3.使用已有开源项目实现。这种比较简单,还可以顺便学习一下rtmp协议的实现。

在网上找了几个开源项目,找的还真费力。其中最靠谱的,肯定是直接从red5里面剥离,看看源码放弃了。包之间引用看起来比较复杂。从源码里面,也没太明白rtmp接收入口。

之后有找到一个商业项目juv,要钱,大约399美元。价格太贵,也放弃了。 项目地址:http://www.smaxe.com/juvclient.jsf

最后找到flazr,Flazr 是一个实现了 RTMP 流媒体传输协议的 Java 类库,里面还包括客户端,看起来还是比较有戏。下载之后看了一下代码,感觉是从也是从red5剥离下来的。

下图是我把本地录屏传输到red5 oflademo中的显示效果。

如果有需要交流red5和flex的,可以加入我的微博,一起讨论哦

 

 

posted on 2012-02-03 15:07  编程趋势  阅读(3142)  评论(3编辑  收藏  举报