目标:

向某一台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 集群方法测试相关推荐

  1. AIX HACMP集群切换测试实际案例解析

    为验证AIX HACMP集群系统的稳定性及保障其上应用的连续性和可靠性,决定周五晚进行集群切换测试.下面是当次过程的文档总结和记录,方便以后参考并备案. 系统环境:AIX 5.3 数据库: DB2 V ...

  2. Elasticsearch 集群压力测试

    文章目录 1. 压力测试 2. 测试目标 & 测试数据 3. 测试脚本 4. ES Rally 简介 5. Rally 的安装以及入门 6. Rally 基本概念讲解 7. Benchmark ...

  3. jar包在Hadoop集群上测试(MapReduce)

    本片使用MapReduce--统计输出给定的文本文档每一个单词出现的总次数的案例进行,jar包在集群上测试 1.添加打包插件依赖 <build><plugins><plu ...

  4. Redis 集群可用性测试

    Redis 集群可用性测试 脚本内容 #!/bin/bashredisHost=192.168.8.119 redisPorts="7001 7002 7003 7004 7005 7006 ...

  5. Kubernetes-记录在容器云Galera集群中测试导入数据

    Kubernetes-在Caicloud容器平台Galera集群中测试导入数据 平台:Caicloud Compass(才云compass容器云管理平台) mysql版本:5.7.20 Galera集 ...

  6. 单机快速体验k8s集群的测试环境

    快速指南 以下为快速体验k8s集群的测试.开发环境–单节点部署(aio),国内环境下比官方的minikube方便.简单很多. 1.基础系统配置 准备一台虚机配置内存2G/硬盘30G以上 最小化安装Ub ...

  7. apisix集群安装测试

    apisix集群安装测试 apisix 是无状态服务,集群不用太复杂 本次测试使用在集群外做负载均衡 集群地址 172.21.41.240 172.21.41.241 172.21.41.242 版本 ...

  8. Kafka集群安装--测试--关闭

    一.前提 1.kafka安装包下载:http://kafka.apache.org/downloads 2.jdk已安装 3.scala已安装 4.zookeeper集群已安装并运行 二.步骤 1.对 ...

  9. KingbaseES V8R6 集群运维系列 -- 命令行部署repmgr管理集群+switchover测试

    本次部署未使用securecmd/kbha工具,无需普通用户到root用户的互信. 一.环境准备 1.创建OS用户 建立系统数据库安装用户组及用户,在所有的节点执行. root用户登陆服务器,创建用户 ...

  10. 大数据原生集群本地测试环境搭建三

    本篇安装软件 Hive1.2 hue-3.9.0-cdh5.14.0 Zookeeper3.4 Kafka2.11-0.10 redis3.0.0 elasticsearch-6.6.2 elasti ...

最新文章

  1. 聊聊新零售概念与其技术
  2. from . import _arpack ImportError: DLL load failed
  3. 加了try-catch也能自动定位到异常代码[VS Tips]
  4. 安装XAMPP, MYSQL 启动后自动停止
  5. 《python机器学习经典实例》Expected 2D array, got 1D array instead和Reshape your data either using array.问题(已解决)
  6. 【django】配置URLconf
  7. ModelSim入门及Testbench编写——合理利用仿真才是王道
  8. 属性总结(四):linestyle
  9. linux文件编程(1)—— open、write、read、lseek、阻塞问题
  10. Java DES 加解密(DES/CBC/PKCS5Padding)
  11. JavaScript中九九乘法表制作
  12. Ext Designer
  13. 华为旗下哈勃投资公司入股光刻机制造商科益虹源
  14. 内容管理系统(CMS)的设计和选型
  15. azure机器学习_Azure机器学习中的数据清理
  16. 使用Spring注解获取配置文件信息
  17. 用 Python 创建你自己的加密货币(附源码)
  18. EDA技术与应用课笔记
  19. libreelec投屏_【树莓派】树莓派与XBMC及Kodi、LibreELEC插件(一)
  20. 基于matlab的直流电机仿真,基于MATLAB的无刷直流电机控制系统仿真

热门文章

  1. H3C路由器配置——动态路由OSPF协议
  2. c语言毕业论文,关于c语言的毕业论文题目[word文档]
  3. 算数平均数、中位数、众数和几何平均数
  4. javafx实现简单的计时器
  5. 淘客返利机器人,淘宝,拼多多,京东三合一查券返利机器人搭建教程
  6. 干货 | 每天十亿级数据更新,秒出查询结果,ClickHouse在携程酒店的应用
  7. 计算机外文文献ssh,计算机外文文献及翻译(SSH).doc
  8. 路由器设置DNS的作用
  9. nyoj234 吃土豆
  10. Apple_Mail 登录163邮箱账号