研究了一天,流媒体直播系统方案共享给大家瞧瞧! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
zcg121314
V2EX    程序员

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

  •  2
     
  •   zcg121314 2016-06-27 23:14:28 +08:00 23365 次点击
    这是一个创建于 3446 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前最热门的直播行业,流媒体系统搭建方案,该方案优点成本低廉,负载能力,可随意强扩展性不印象现有业务,全套的 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  
    PRO
       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  
    PRO
       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  
    PRO
       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     Solana     4939 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 09:39 PVG 17:39 LAX 01:39 JFK 04:39
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86