前言

这几天一直在优化测试dotnetty,代码是基于https://github.com/cuteant/SpanNetty,基础上修改优化的,然后发布搭建了分布式rtmp直播服务,内存一直稳定在70mb左右,然后大家可以下载进行测试,也可以观看直播推流的电影,一共有两部,一部是黑衣人,一部是大红包。还有要求性能比较高的,还是关闭链路式跟踪,一般可以用在调试测试和并发不高的系统上,微服务调试用上了链路跟踪大大减少了开发调试时间,就比如某个链路调用出现错误,可以点开查看相关日志,就可以跳到相关日志列表,然后点开某一条日志,就可以看到详细的报错信息

HttpFlv:http://117.72.121.2:281/httpflv.html  (黑衣人)

HttpFlv:http://117.72.121.2:281/httpflv1.html  (大红包)

rtmp:rtmp://117.72.121.2:76/live1/livestream2   (黑衣人)

rtmp:rtmp://117.72.121.2:76/live1/livestream3   (大红包)

播放时间:  5月3日至5月5日   21:00

凯亚 (Kayak) 是什么?

凯亚(Kayak)是基于.NET6.0软件环境下的surging微服务引擎进行开发的, 平台包含了微服务和物联网平台。支持异步和响应式编程开发,功能包含了物模型,设备,产品,网络组件的统一管理和微服务平台下的注册中心,服务路由,模块,中间服务等管理。还有多协议适配(TCP,MQTT,UDP,CoAP,HTTP,Grpc,websocket,rtmp,httpflv,webservice,等),通过灵活多样的配置适配能够接入不同厂家不同协议等设备。并且通过设备告警,消息通知,数据可视化等功能。能够让你能快速建立起微服务物联网平台系统。

凯亚物联网平台:http://117.72.121.2:3100(用户名:fanly  密码:123456)

链路跟踪Skywalking V8:http://117.72.121.2:8080/

surging 微服务引擎开源地址:https://github.com/fanliang11/surging(后面surging 会移动到microsurging进行维护)

搭建直播流媒体

   下载地址:

通过网盘分享的文件:rtmp.zip
链接: https://pan.baidu.com/s/12dVChSd1K5Tu7ajv6FC98Q?pwd=hn9u 提取码: hn9u

以下是目录:

点击startup.bat 就能开启分布式直播推流

在bin 文件中有3.bat,4.bat ,里面是ffmpeg推流3.mp4和4.mp4,需要拷贝两部视频到本目录下,然后点击3.bat和4.bat(你也可以利用OBS Studio等直播软件进行推流)

以下是对应配置(可以通过surgingSettings.json进行修改)

宿主机地址 宿主机端口 是否支持服务器推流 推流地址 RtmpPort HttpFlvPort 文件目录 httflv 文件
127.0.0.1 83

live1/livestream2

live1/livestream3

76 8080 rtmpserver

httpflv3.html(live1/livestream2)

httpflv4.html(live1/livestream3)

127.0.0.1 82

live1/livestream2

live1/livestream3

77 8081 rtmpserver1

httpflv1.html(live1/livestream2)

httpflv5.html(live1/livestream3)

127.0.0.1 84

live1/livestream2

live1/livestream3

74 8082

rtmpserver2

httpflv2.html(live1/livestream2)

                        
 
 
 
 
 
 
 
 
 
 
HttpFlv客户端页面

以下是测试结果,通过推流live1/livestream2,live1/livestream3, 打开6个httpflv 和1个rtmp, 运行1小时10分钟,内存一直稳定在70MB,CPU一直在0.5左右波动。

通过以上测试,直播推流已经非常稳定了,那么像抖音,快手只要推流做下压缩,帧率在12左右,那么推流大小应该在200kb/s 左右,然后10G带宽,  一台服务器可以支持8000在线观看直播,那么300台就能支持240万,按照正常是这样算的,如果加上还有压缩算法,弹性扩容,推荐流量,聊天,刷礼物,打PK,特效背景等一些功能就可能不止这些服务器,估计要上千台。

总结

以上是基于surging 做的分布式推流,这些能满足部分需要,如果需要强大的功能,如压缩算法,弹性扩容等功能请关注凯亚物联网平台,后续会添加流媒体管理。

如何搭建基于surging的分布式直播流媒体的更多相关文章

  1. Spring+Shiro搭建基于Redis的分布式权限系统(有实例)

    摘要: 简单介绍使用Spring+Shiro搭建基于Redis的分布式权限系统. 这篇主要介绍Shiro如何与redis结合搭建分布式权限系统,至于如何使用和配置Shiro就不多说了.完整实例下载地址 ...

  2. 在Windows下搭建基于nginx的视频直播和点播系统

    http://my.oschina.net/gaga/blog/478480 一.软件准备 由于nginx原生是为linux服务的,因此官方并没有编译好的windows版本可以下载,要在windows ...

  3. 基于SkyWalking的分布式跟踪系统 - 异常告警

    通过前面2篇文章我们搭建了SW的基础环境,监控了微服务,能了解所有服务的运行情况.但是当出现服务响应慢,接口耗时严重时我们需要立即定位到问题,这就需要我们今天的主角--监控告警,同时此篇也是SW系列的 ...

  4. day122:MoFang:OSSRS流媒体直播服务器&基于APICloud的acLive直播推流模块实现RTMP直播推流

    目录 1.docker安装OSSRS流媒体直播服务器 2.基于APICloud的acLive直播推流模块实现RTMP直播推流 3.直播流管理 1.docker安装OSSRS流媒体直播服务器 1.OSS ...

  5. 搭建nginx服务器和直播流媒体服务器

    1.nginx简单说明 ①  Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.其特点是占有内存少,并发能力强. ...

  6. 基于SkyWalking的分布式跟踪系统 - 环境搭建

    前面的几篇文章我们聊了基于Metrics的监控Prometheus,利用Prometheus和Grafana可以全方位监控你的服务器及应用的性能指标,在出现异常时利用Alertmanager告警及时通 ...

  7. nginx搭建http和rtmp协议的流媒体服务器

    nginx搭建http和rtmp协议的流媒体服务器 时间:2013-09-23 23:52来源:佚名 作者:本站 举报 点击:232次 实验目的:让Nginx支持flv和mp4格式文件,同时支持Rtm ...

  8. 利用Nginx搭建http和rtmp协议的流媒体服务器[转]

    利用nginx搭建http和rtmp协议的流媒体服务器 实验目的:让Nginx支持flv和mp4格式文件,同时支持Rtmp协议:同时打开rtmp的hls功能资料:HTTPLive Streaming( ...

  9. 低代码平台--基于surging开发微服务编排流程引擎构思

    前言 微服务对于各位并不陌生,在互联网浪潮下不是在学习微服务的路上,就是在使用改造的路上,每个人对于微服务都有自己理解,有用k8s 就说自己是微服务,有用一些第三方框架spring cloud, du ...

  10. 面向服务体系架构(SOA)和数据仓库(DW)的思考基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台

    面向服务体系架构(SOA)和数据仓库(DW)的思考 基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台 当前业界对面向服务体系架构(SOA)和数据仓库(Data Warehouse, ...

随机推荐

  1. "最新"部署幻兽帕鲁游戏服务器及开局经验分享

    Banner 2024,<幻兽帕鲁><雾锁王国>等游戏爆火!那么如何快速拥有一个可以跟小伙伴们愉快玩耍的服务器呢?社区里不少小伙伴已经给出了自己的最佳实践,你甚至不需要懂技术, ...

  2. [BZOJ3514] [Codechef MARCH14] GERALD07加强版 题解

    名字感觉挺奇怪的. 考虑离线算法.首先答案就是用 \(n\) 减去连完边后的生成树森林边数.生成树当然就可以用 \(lct\) 求解了.我是不会告诉你这个时候我已经开始想回滚莫队了的. 考虑当我们倒序 ...

  3. Deepin 设置开机执行某sh文件

    背景 deepin系统上部署了Geoserver,但是每次开机后都得手动过去起,麻烦,故想着找个办法解决下 过程 在/etc/systemd/system目录下新建一个 geoserver.servi ...

  4. redis - [06] redis-benchmark性能测试

    题记部分 001 || 参数含义 002 || 测试100个并发,100000个请求 启动redis-server redis-server /etc/redis.conf 进行性能测试 redis- ...

  5. idea社区版配置springboot项目问题分析及处理

    前言 记录一次使用IDEA社区版配置SpringBoot项目的经历,包括遇到的问题及解决过程 IDEA版本:IntelliJ IDEA 2024.2.3 (Community Edition) 问题描 ...

  6. Netty基础—1.网络编程基础一

    大纲 1.什么是OSI开放系统互连 2.OSI七层模型各层的作用 3.TCP/IP协议的简介 4.TCP和UDP的简介 5.TCP连接的三次握手 6.TCP连接的四次挥手 7.TCP/IP中的数据包 ...

  7. go 地址对齐保证

    unsafe标准库包 func Alignof(variable ArbitraryType) uintptr. 此函数用来取得一个值在内存中的地址对齐保证(address alignment gua ...

  8. OpenGL与GLSL各版本对应说明

    OpenGL 4.6 (API Core Profile) (API Compatibility Profile) OpenGL Shading Language 4.60 Specification ...

  9. 还原大师-遍历残缺字符串匹配md5杂凑值

    题目: 我们得到了一串神秘字符串:TASC?O3RJMV?WDJKX?ZM,问号部分是未知大写字母, 为了确定这个神秘字符串,我们通过了其他途径获得了这个字串的32位MD5码. 但是我们获得它的32位 ...

  10. K8S组件详解

    K8S的控制平面.和工作节点是集群正常运行的核心,通过这两部分的协同工作,K8S才能够实现高效的容器编排.管理.和自动化运维. K8S Kubernetes(简称K8s),是一个开源的容器编排平台,用 ...