fms 集群方法测试
来源:互联网 发布:淘宝助手怎么上细节图 编辑:程序博客网 时间:2024/05/30 04:36
目标:
向某一台FMS推送数据流,该FMS负责向集群内的其他FMS转发,从而为客户端访问均衡到各FMS打下基础。
FMS版本:FMS3.5.2专业版
实现方式:
修改FMS上服务端应用live的源码,增加转发功能。我们知道服务器上源文件asc经过了far工具的压缩处理,想要看到其源码只需要修改其后缀为rar,然后用7ZIP解压即可。
解压后得到main.asc,其代码量并不大,在代码中加入如下函数:
application.onPublish = function(client, myStream) {nc = new NetConnection();nc.connect("rtmp://xxxx/live");//nc.onStatus = function(infoObj)//{////};ns = new NetStream(nc);ns.attach(myStream);ns.publish(myStream.name,"live");trace("Clinet Start Publish to FMS!!!!");};
这样FMS在收到Client的推送请求时,即会建立起一个到IP地址xxxx的连接,我们将客户端推送的流绑定到该连接上,从而实现转发的功能。
自己尝试将修改后的main.asc连同之前解压得到的其他几个文件一起使用far工具打包,得到的main.far实测不能正常工作。后来采用将原始main,rar中
main.asc文件替换为自己修改的版本(使用7zip替换),测试后能实现转发功能。
测试结果:
使用FlashPlayer连接两台FMS后均能正常收到流,但边缘FMS相比源FMS稳定性差很多,较常出现视频的卡顿缓冲。估计是因为多了一次RTMP的转发导致,交换源FMS与边缘FMS,结论还是不变,可以排除是服务器带宽不足导致。
另外,服务器上ASC的调试方法是通过trace写日志到文件中,日志文件位于:
Adobe\Flash Media Server 3.5\logs\_defaultVHost_\live\_definst_ 下。
不知道高版本的FMS是否有所改进,另外是否可以通过为连接添加onStatus回调函数来提高源FMS与边缘FMS之间线路稳定性。
结论:
需要高稳定性的FMS推送集群方案时,建议还是由推送源推送多路给各个FMS服务器,缺点是对推送源的上行带宽要求较高。
今后若有时间再继续深入改进本方案。
参考:
FMS Dev Guide.pdf
- fms 集群方法测试
- FMS的集群方法
- 再谈FMS集群
- FMS流媒体服务器集群
- Flex 连接 FMS,测试代码。
- FMS直播和点播测试
- FMS 安装测试 自己进行
- FMS
- FMS
- FMS
- FMS
- FMS
- FMS的安装、基本配置及基本测试
- FMS的安装、基本配置及基本测试
- 数据库非共享集群性能测试方法研究
- FlashCom(FMS)(Flash 与外部通讯的所有方法)
- 基于FMS的RTMP负载均衡实现方法
- Tomcat5集群性能测试!
- Akka学习笔记04--Actor生命周期
- 读xml生成代码例子
- ASP.NET获取汉字首字母
- 亚稳态 的好文章
- [docker]动态挂卷与数据卷管理
- fms 集群方法测试
- android:手机财务管理系统
- 如何获取DNS Server的地址?---利用GetNetworkParams
- 【索引】Codeforces Round #279(Div. 2)
- Python学习六:函数
- CSDN用户首次遭遇连续被封杀……
- HTTP深入浅出 http请求
- 0002 嘿嘿
- shiro