V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zcg121314
V2EX  ›  程序员

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

  •  2
     
  •   zcg121314 · 2016-06-27 23:14:28 +08:00 · 22862 次点击
    这是一个创建于 3061 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前最热门的直播行业,流媒体系统搭建方案,该方案优点成本低廉,负载能力,可随意强扩展性不印象现有业务,全套的 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.观看者打开播放器,播放器开始请求播放服务器,播放服务器查询列表中的转码服务器是否有该直播流,有就播放没有就不播放.
    公司目前在局域网测试,后续会增加过多相关的帖子.
    第 1 条附言  ·  2016-06-28 16:21:27 +08:00
    直播系统软件使用 wowza
    公司直播下月底上线 PC 版,扎昆 TV,冒险岛情怀的朋友捧捧场,zhakun.tv (备案中)
    第 2 条附言  ·  2016-06-28 16:28:35 +08:00
    Intel® Visual Compute Accelerator VCA1283LVV 三个 E3-1285 v4 每个 16 内存 最大 96G 内存
    PDF 文档: http://www.colfax-intl.com/nd/downloads/vca_spechw_users_guide_r1_1.pdf
    价格友好: 2,435.19$ 转码神器
    51 条回复    2018-02-22 15:54:21 +08:00
    20150517
        1
    20150517  
       2016-06-28 00:14:53 +08:00
    视频转码用什么转?ffmpeg?
    Lxxyx
        2
    Lxxyx  
       2016-06-28 00:25:29 +08:00 via Android
    也就是说转码服务器 3 台,最多只能支持 54 个主播?
    typcn
        3
    typcn  
       2016-06-28 00:30:30 +08:00
    转啥码,直接重新封装下容器,搞一路 hls ,一路 rtmp ,一路 mkv stream , 实时低延迟 html5 + fallback 高延迟 HTML5 ( HLS ) + flash 都够了,除了网络,树莓派都能撑几万人
    manhere
        4
    manhere  
       2016-06-28 00:30:53 +08:00 via iPhone
    最好也说明下用了多少带宽
    qfdk
        5
    qfdk  
       2016-06-28 00:48:31 +08:00 via iPhone
    欢迎 start https://github.com/qfdk/NNLLS 之前的解决方案
    SlipStupig
        6
    SlipStupig  
       2016-06-28 01:22:36 +08:00
    之前在内网一个 nginx rtmp+VLC player 卡的不行
    honkew
        7
    honkew  
       2016-06-28 01:40:38 +08:00
    需要多大带宽支撑
    tangren
        8
    tangren  
       2016-06-28 01:43:22 +08:00 via Android
    烧钱玩意,带宽费用按亿¥计算
    lightforce
        9
    lightforce  
       2016-06-28 02:22:56 +08:00
    这个有硬件解决方案提供商,爱立信等等做这种,你这种就像软负载平衡,和 F5 硬件的能比吗?
    msg7086
        10
    msg7086  
       2016-06-28 02:29:35 +08:00
    为何同时使用 x5650 和 E5-2620 ?
    9hills
        11
    9hills  
       2016-06-28 07:49:30 +08:00
    10w 并发观看,以超清(差不多 720p )平均 500KBps (斗鱼实测)为例,就是 50GBps = 400Gbps

    两台机器的网卡撑得住?现在一般的机器网卡不过 10Gbps 吧。。
    touzi
        12
    touzi  
       2016-06-28 08:37:53 +08:00
    @9hills 这是一个广告贴没看出来?! 1. up 主帐号是新注册的. 2. 昨天也看到一个直播贴, 点进去微信群, 进入微信, 上来就是一个广告, 直接退群, 群里面就 3 到 4 个人.
    zcg121314
        13
    zcg121314  
    OP
       2016-06-28 16:10:43 +08:00
    @touzi 新注册的就不能发帖了么?我也没有拉人进群等
    zcg121314
        14
    zcg121314  
    OP
       2016-06-28 16:11:15 +08:00
    @9hills 服务器都是双万兆汇聚的网卡
    zcg121314
        15
    zcg121314  
    OP
       2016-06-28 16:11:34 +08:00
    @msg7086 公司现有资源
    zcg121314
        16
    zcg121314  
    OP
       2016-06-28 16:12:23 +08:00
    @lightforce F5 是网络层控制负载,我们是可以获取服务器资源状态后分配任务
    zcg121314
        17
    zcg121314  
    OP
       2016-06-28 16:13:09 +08:00
    @tangren 直播首次缓存流量封值高,正常观看 每个人 200K 内
    zcg121314
        18
    zcg121314  
    OP
       2016-06-28 16:13:43 +08:00
    @honkew 局域网测试没观察过带宽,线上测试会使用网宿 CDN
    zcg121314
        19
    zcg121314  
    OP
       2016-06-28 16:14:59 +08:00
    @SlipStupig 转码了?
    zcg121314
        20
    zcg121314  
    OP
       2016-06-28 16:15:47 +08:00
    @manhere 局域网测试,下个星期等 VCA 卡到了再做一次测试
    zcg121314
        21
    zcg121314  
    OP
       2016-06-28 16:17:06 +08:00
    @typcn 转码是为获取缩放图,以及声音同步,移动端观看流程等考虑
    zcg121314
        22
    zcg121314  
    OP
       2016-06-28 16:17:56 +08:00
    @Lxxyx 没错还有一套 VCA 方案 单台服务器可以处理 35 路的转码 可是单台服务器要增加 2W 的硬件成本
    akira
        23
    akira  
       2016-06-28 16:31:28 +08:00
    上网宿的话,推拉流服务器都不需要了
    typcn
        24
    typcn  
       2016-06-28 16:32:13 +08:00
    @zcg121314 获取缩略图为啥要转码。。直接取一帧 IDR 存成图片就好了。。
    声音同步为啥要转码,视频修一下 pts/dts 就好了。。。。
    9hills
        25
    9hills  
       2016-06-28 16:46:10 +08:00
    @zcg121314 那不够啊,双万兆=20Gbps ,以低清 200KB/s 算
    2 台机器 = 40Gbps = 25000 人

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

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

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

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

    楼主你到底搞过媒体没有。。。 用过各种编码器没有。。。 看过各种开源 media server 的代码没有。。。 调查过市场没有。。。。了解过实际情况没有。。。
    zcg121314
        39
    zcg121314  
    OP
       2016-06-28 17:42:06 +08:00
    @typcn 源流输出是指服务器不做任何处理,推上来的视频是什么样就输出什么样.中专下而已
    zcg121314
        40
    zcg121314  
    OP
       2016-06-28 17:46:15 +08:00   ❤️ 1
    @zcg121314 我试过双 M60 硬件转码 不如 Intel Quick Sync , M60 单精度高但是显存无法满足直播的需求每个转码转码占用 340M , GPU 占用率 40%显存就满了.使用 Intel Quick Sync 画面流畅,内存扩展起来方便最大支持 64G.
    zcg121314
        41
    zcg121314  
    OP
       2016-06-28 17:48:20 +08:00
    @typcn 小弟我刚接触这个行业,目前只完成了播放器和礼物聊天系统,流媒体也是利用公司淘汰的服务器做下测试而已,不专业的地方请见谅.
    zcg121314
        42
    zcg121314  
    OP
       2016-06-28 17:50:12 +08:00
    @typcn 下月底基本整合完成,请过来欣赏下.扎昆 TVzhakun.tv (备案中)有啥不足请指点.
    iscraft
        43
    iscraft  
       2016-06-28 19:00:05 +08:00
    域名太搓了 为什么不叫阿克蒙德 TV
    zcg121314
        44
    zcg121314  
    OP
       2016-06-28 19:02:06 +08:00
    @iscraft 商标扎昆可以注册 zhakun.tv zhakuntv.com 都买了
    R18
        45
    R18  
       2016-06-28 19:09:51 +08:00 via Android
    用的乐视云
    7654
        46
    7654  
       2016-06-28 19:10:59 +08:00
    10 秒延迟能省很多资源
    zcg121314
        47
    zcg121314  
    OP
       2016-06-28 20:00:37 +08:00
    @R18 渣到头了.只有网宿的流媒体还不错就是太贵了.
    touzi
        48
    touzi  
       2016-06-28 21:53:16 +08:00
    @zcg121314 1. 没说新注册不能发帖. 2. 没说你建群拉人.
    banksiae
        49
    banksiae  
       2016-06-29 09:57:01 +08:00
    IM 哪儿去了
    zcg121314
        50
    zcg121314  
    OP
       2016-06-29 18:35:50 +08:00
    @banksiae 自己写了
    breyen
        51
    breyen  
       2018-02-22 15:54:21 +08:00
    @zcg121314 能加下我 V jingshui517 有些具体的东西想问问你!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5711 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 03:15 · PVG 11:15 · LAX 19:15 · JFK 22:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.