研究了一天,流媒体直播系统方案共享给大家瞧瞧!

2016-06-27 23:14:28 +08:00
 zcg121314
目前最热门的直播行业,流媒体系统搭建方案,该方案优点成本低廉,负载能力,可随意强扩展性不印象现有业务,全套的 API 接口可实现全方位的调度的分配任务.
方案使用硬件:
X5650*2 64G SSD128G 两台 作用于:拉流服务器(实测观看并发 10W 同时观看)(播放服务器)
DELL R720 E5-2620*2 64G ssd128G*3 一台 作用于:推流服务器(主播推流到该服务器)(调度系统)
R1208RPMSHOR E3-1285 v4 32G ssd128G 三台 作用于:视频转码,缩放图(每台实测可承担 15-18 个 720p 实时编码)(转码服务器)
自己画了几张图本来想放上来的结果发现发不了图片
我就简单说下吧
1.点击开播后,网站程序向调度系统发送请求创建该直播间(创建这个过程设置了很多东西例如在那一天转码服务器编码等),
2.主播开始推流到调度服务器,调度服务器把流转发给指定的转码服务器(多种清晰度,缩放图),
3.观看者打开播放器,播放器开始请求播放服务器,播放服务器查询列表中的转码服务器是否有该直播流,有就播放没有就不播放.
公司目前在局域网测试,后续会增加过多相关的帖子.
22725 次点击
所在节点    程序员
51 条回复
zcg121314
2016-06-28 16:17:06 +08:00
@typcn 转码是为获取缩放图,以及声音同步,移动端观看流程等考虑
zcg121314
2016-06-28 16:17:56 +08:00
@Lxxyx 没错还有一套 VCA 方案 单台服务器可以处理 35 路的转码 可是单台服务器要增加 2W 的硬件成本
akira
2016-06-28 16:31:28 +08:00
上网宿的话,推拉流服务器都不需要了
typcn
2016-06-28 16:32:13 +08:00
@zcg121314 获取缩略图为啥要转码。。直接取一帧 IDR 存成图片就好了。。
声音同步为啥要转码,视频修一下 pts/dts 就好了。。。。
9hills
2016-06-28 16:46:10 +08:00
@zcg121314 那不够啊,双万兆=20Gbps ,以低清 200KB/s 算
2 台机器 = 40Gbps = 25000 人

如果要做 10w 并发,那么速率只能提供 50KB/s 。。这个只能看幻灯片了
9hills
2016-06-28 16:48:21 +08:00
如果 10w 并发是拍脑袋拍出来的性能指标,那我对这个项目的可靠性就表示极度的怀疑。。。
如果是测出来的,那么围观下怎么测的,超过物理带宽上限。。。。
zcg121314
2016-06-28 17:05:02 +08:00
@9hills 朋友我是使用 wowza 提供的并发测试工具测试的 不是 10W 人真实的观看
zcg121314
2016-06-28 17:08:29 +08:00
@typcn 取帧需要占用资源吧?我是直播流转码不是视频转码,清晰度主要是考虑观看者的带宽问题,你五兆去看 4K ?
zcg121314
2016-06-28 17:09:34 +08:00
@akira 主要是不希望转码服务器承担太多的 封包处理
zcg121314
2016-06-28 17:12:25 +08:00
@9hills 等下月底小弟我的系统上线后,您可以过来欣赏一下.相信能让你信服.
typcn
2016-06-28 17:25:31 +08:00
@zcg121314 取帧还占用资源?真是。。。。。。 树莓派封容器 + 截图也能撑几万路直播

你直播压的起 4K ?直播者都是 E7 20 核 CPU ?
typcn
2016-06-28 17:29:29 +08:00
@zcg121314 现在互动直播哪有转码的,客户端推上来的 veryfast 流(除了 E5 E7 ,以及 X99 平台的旗舰 i7 能开更高的 present ),画质已经够差了,你再来个二压,然后压流再多个 5-6 秒延迟。。
tangren
2016-06-28 17:30:26 +08:00
这一条龙办下来,预算多少啊
zcg121314
2016-06-28 17:33:52 +08:00
@typcn 超清原流输出,高清压制.
typcn
2016-06-28 17:35:53 +08:00
@zcg121314 原流输出,那就要求客户端有 1Gbps 或者更高的上传带宽,你觉得家用宽带那 1-10Mbps 带宽够么?

讲道理,哪用得着那么高端的服务器,只要带宽够,一台单核 VPS C10K 都没太大压力。。。。。

封装容器,取个 IDR 帧的消耗基本都可以忽略。。。大头都在磁盘 IO 和 网络 IO 的身上
zcg121314
2016-06-28 17:36:22 +08:00
@tangren E7 四路还不如 四台 E3-1585v5 效率高 Intel Quick Sync
typcn
2016-06-28 17:37:27 +08:00
以上我说的都是忽略 IO 的情况下,封视频容器,维护 TCP 连接,所需的 CPU 占用。。不要误解
typcn
2016-06-28 17:41:50 +08:00
@zcg121314 还有用桌面级显卡压片的。。。那出来比 veryfast 效果都要差。。。。。

楼主你到底搞过媒体没有。。。 用过各种编码器没有。。。 看过各种开源 media server 的代码没有。。。 调查过市场没有。。。。了解过实际情况没有。。。
zcg121314
2016-06-28 17:42:06 +08:00
@typcn 源流输出是指服务器不做任何处理,推上来的视频是什么样就输出什么样.中专下而已
zcg121314
2016-06-28 17:46:15 +08:00
@zcg121314 我试过双 M60 硬件转码 不如 Intel Quick Sync , M60 单精度高但是显存无法满足直播的需求每个转码转码占用 340M , GPU 占用率 40%显存就满了.使用 Intel Quick Sync 画面流畅,内存扩展起来方便最大支持 64G.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/288709

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX