本文作者冼牛,即构科技市场运营总监,香港大学MBA,十年研发经验,音视频云服务技术专家,专注连麦互动直播技术应用研究。 


借莎翁的名言作为开场白:混流,还是不混流,这是个问题。

在连麦互动直播方案中,混流还是不混流,还真是一个需要仔细考量的问题。

这篇文章将会分享即构科技连麦互动直播方案在工程化和高并发运维的过程中总结出来的关于混流的经验。

|什么叫做混流 ?

在开始讨论这个问题之前,让我们先搞明白什么叫做混流。

混流,就是把多路音视频流混合成单流。准确地说,混流应该叫作混音(音频流)混画面(视频流)。

为了表述简单,我们这里就简称为混流。

混流的过程包括解码,混流,编码,和推流这四个步骤。混流这个环节包括做抖动缓冲,目的是把多路流进行画面对齐和音画同步,同时通过缓冲对抗网络抖动,以便混合成一路流以后能够达到良好的效果。

混流本身是一个相对比较耗费计算资源的运算,也是一个比较耗费时间的环节。说它耗费计算资源是因为这个过程涉及到多路流的实时转码,这是比较耗费CPU的事情。说它耗费时间,是因为这个环节涉及到抖动缓冲,会造成一定的延迟。实时转码本身耗费的时间一般会低于一帧的时间,相对不算显著;但是根据网络情况的不同,抖动缓冲会消耗大概80毫秒到1秒的时间。在连麦互动直播中,抖动缓冲造成的延迟对观众的体验十分关键。

在混流的过程中,难点是如何对抗网络抖动等不确定因素。对于各种不确定因素的处理,是最考验技术能力的。在网络好的时候,要尽量让延迟降低,要尽量快地完成处理。在网络不好的时候,又要避免卡顿和不同步等问题。这里需要有比较好的弹性设计,去满足对抗网络抖动的要求。要保证无论是网络好,还是网络抖动的情况下,音视频流的效果都一直处于一种平稳的状态,而不是跟随网络抖动而剧烈地抖动,包括延迟也要处于一种比较平滑和稳定的状态。这是一个技术难点,也是即构科技连麦互动直播方案的核心技术之一。

好了,现在基本搞清楚了混流的概念和难点了。那么混流这个事情,要不要做?如果要做,在哪里做?这两个问题都需要一番权衡。为了作出正确的选择,我们要先知道每种选择的优势和劣势。

本篇短文将只讨论混流还是不混流,在下一篇中将会讨论在哪里混流,敬请期待。

| 不混流的优势和劣势

如果不混流,那么进行连麦互动直播的时候,多个主播推出来的音视频流就会分别独立地被拉到观众端播放,这种方式我们叫作拉多流。

  • 不混流的优势

1)延迟低

不用混流,节省了混流消耗的时间,显著地降低了延迟。

2)成本低

如果是在服务端进行混流,将会耗费计算资源。考虑到服务端计算资源比较昂贵,如果不用混流,将会节省宝贵的计算资源,显著地降低成本。虽然拉多流比起拉单流会消耗更多的带宽成本,但是拉多流节省计算资源成本,整体而言,成本是降低了。

3)灵活性

在观众端,业务侧可以比较灵活的操控多路流,来满足多样化的业务需求。比如画中画大小画面相互切换,和对半分屏画面左右调换等效果,来提高观众端的用户体验。

  • 不混流的劣势

上面提到,拉多流会消耗更多的带宽。多路流被从服务端推到CDN, 然后观众端从CDN拉多流,都会耗费比较多的带宽成本。对于带宽成本占了运营成本显著百分比的游戏直播平台来说,的确是需要慎重考量的。

|混流的优势和劣势

如果混流,那么进行连麦互动直播的时候,多个主播推出来的音视频流就会被混合成一路单流被拉到观众端播放,这种方式我们叫作拉单流。

  • 混流的优势

我们要从多个角度看混流的优势,包括成本,易录制,易传播和兼容性。

1)成本

可以分为计算资源成本和带宽成本。由于预先做混流,因此计算资源成本会上去,但是由于只拉单流,因此带宽成本会下来。

上面已经对这个议题进行了简单的讨论。

如果混流是在服务端做的话,那么整体成本还是会上去的。因为服务端的计算资源成本相对比较昂贵,提高的计算资源成本比混流后节省的带宽成本要多。

如果混流是在推流端做的话,相当于平台把计算成本和带宽成本转嫁给推流端(主播端),因此整体成本会降下来,但是服务质量也会降下来,这样就付出“用户体验成本”。

综合而言,混流并非一定会节省成本。

2)可录制

如果业务上有录制音视频流的需求,以备监管抽查或者观众回放的话,那么需要进行混流。如果不进行混流的话,录制的时候只能录制到其中一个路音视频流,也就是只能看到其中一个主播的画面。要录制全画面的话,必须要进行混流。

3)易传播

如果业务上有通过音视频流地址链接(HLS)进行转发传播的需求,那么也需要进行混流,因为地址链接只会指向一路音视频流。如果不混流,使用转发的地址链接就只会播放出一个主播的音视频流。

4)兼容性

还有另外一个情况,直播平台早期已经开发了一个版本的播放器,这个播放器只能播放单流。为了和这个老版本的播放器兼容,也必须要进行混流,才能够产生单流让这个播放器播放。

混流的优势是能够做全画面录制,很便利地转发传播,而且兼容直播平台的老系统。运营成本是否能够降低,主要看混流是在服务端做还是在推流端做。

  • 混流的劣势

1)高延迟

由于在做混流的过程中,需要做抖动缓冲和实时转码等计算处理,将会耗费时间,从而造成额外的延迟。

混流的延迟比不混流的延迟要高。

如果在推流端进行混流,那么延迟的时间包括实时转码处理的时间,抖动缓冲的时间,还有等待其它主播音视频流的时间。推流端必须要等待其它主播的音视频流到达以后才能进行混流。

如果在服务端进行混流,那么延迟的时间包括实时转码处理的时间和抖动缓冲的时间。

在推流端混流的延迟比在服务端混流的延迟要高。

2)不灵活

由于观众端拉单流观看,多路音视频流已经被混合成单流,所以观众端无法再灵活地对多流进行操控,比如切换画中画的主次画面。

3)高成本

由于混流需要额外的计算资源,这里会导致额外的运营成本。

如果混流在服务端进行,混流的成本就由平台承担。虽然混流后拉单流节省带宽,但是服务端的计算资源比较昂贵,节省的带宽成本并没有额外消耗的计算资源成本多。 整体而言,混流的成本还是比不混流的成本高。

如果混流在推流端进行,混流的成本就被从服务端转嫁给推流端。推流端需要具备以下条件:

a)推流端(主播端)的手机配置要求比较高,手机的性能要求比较好,要能够支持混流所需要的计算能力。

b)推流端的上行带宽有比较高的要求。推流端推两路流,拉其它主播的多路流。推的两路流包括:自己原始的音视频流,和混流以后的音视频流。拉的多路流是其它主播的音视频流,要从媒体服务器上拉取下来。

因为推流端需要有更好的手机配置,更好的上行网络带宽,所以需要付出更高的成本。

混流的劣势是高延迟和不灵活。成本方面要看是在服务端混流还是在推流端混流。如果在服务端混流会导致高成本,如果在推流端混流会导致高延迟,付出“用户体验成本”。

综上所述,混流和不混流的方案,各有各的优点。要针对直播平台具体的业务需求和使用场景来决定使用哪个方案。相对来说,不混流的方案有不少突出的优点,比如延迟低,成本低,而且灵活性高等。

即构科技同时提供混流和不混流的方案,灵活而且全面的满足各种类型的直播平台的业务需求。在即构科技的实践中,发现不混流的方案更加受到主流客户的欢迎,效果是得到了市场证明的。使用不混流方案的客户包括花椒和栗子直播。

经过一番讨论,我们回过头来发现:混流,还是不混流,这还是个问题。

即构科技在服务一线直播客户的过程中总结了混流和不混流方案的各种优势和劣势。根据这些经验来衡量采用混流,还是不混流的方案,做出来的决定应该更加靠谱和接地气。

做完混流,还是不混流的决定以后,如果要混流,那么在哪里做混流?是在推流端还是服务端?这一点将会在下一篇中毫无保留地详细讨论,分享即构科技的技术经验。

可继续关注即构科技带来的技术干货分享系列的下篇:连麦互动直播中的混音混画面方案:推流端 VS 服务端。

聊一聊直播利器,连麦直播背后的混流方案相关推荐

  1. 聊一聊直播利器,连麦互动背后的混流方案:到底该怎么混?

    借<无间道>中曾志伟黑老大的名言作为开场白:出来混,迟早是要还的. 虽然话这么说,但是在哪混,跟对了老大,命运际遇就会大不相同.在连麦互动直播中,在哪混(流),同样很重要,做对了选择,用户 ...

  2. 聊一聊直播利器,连麦互动背后的混流方案

    雷锋网(公众号:雷锋网)按:本文作者冼牛,即构科技市场运营总监,香港大学MBA,十年研发经验,音视频云服务技术专家,专注连麦互动直播技术应用研究.  借莎翁的名言作为开场白:混流,还是不混流,这是个问 ...

  3. 聊一聊直播利器,连麦直播背后的混流方案:到底该怎么混?

    本文作者冼牛,即构科技市场运营总监,香港大学MBA,十年研发经验,音视频云服务技术专家,专注连麦互动直播技术应用研究. 本文是连麦互动背后的混流方案系列的第二篇,接着上一篇:<聊一聊直播利器,连 ...

  4. 声网连麦+直播+视频+游戏“史上最强”社交直播方案 打造陌陌全新8.0改版

    做直播的,每天烧钱买流量,用户留存却是个问题.留不住用户,天天买量,天天流失.怎么破?做社交的,烧钱获客,赢得了口碑,却不知道如何变现,怎么破?做App的,装机量是上去了,用户活跃度和打开率却一直do ...

  5. ZEGO即构科技携小程序连麦直播方案亮相GMIC

    4月26日,GMIC 2018 全球移动互联网大会在北京国家会议中心隆重开幕.作为全球规模最大.最具影响力的移动互联网行业会议,GMIC大会被认为是创新领域的窗口,见证了中国移动互联网十来年的高速发展 ...

  6. 即构推出小程序连麦直播方案,与iOSAndroid APP互通连麦!

    2017年12 月 26 日,微信小程序正式对外开放了实时音视频录制及播放能力.符合类目要求(见下方表格)的小程序自助开通后,可自建或使用云服务,实现单向和互动的音视频功能,如视频直播.互动直播.在线 ...

  7. 从无到有开发连麦直播技术点整理

    最近在跟老师手下的项目,碰到流媒体,流媒体服务器,视频编码技术,推流,拉流等概念,看到本篇博客整理的概念很全面,很自信,故转发留存,感谢原博主.       关键字 采集.前处理.编码.传输.解码.渲 ...

  8. android ios 屏幕直播软件推荐,看个球:超全超给力的看球直播利器(iOS +安卓) | 闲一鱼博客...

    闲鱼给大家分享过很多看视频的软件,大部分都是包涵电影.电视剧.综艺等资源,但是在观看赛事直播的功能上几乎没有涉及,所以有不少朋友给闲鱼留言说希望有个能看篮球.足球这些比赛直播的软件,这是广大观众的要求 ...

  9. 如何实现映客那种连麦直播

    映客的直播比一般的直播多了一个连麦功能,目前最多可以三个人进行连麦,这个小功能看似很简单也非常的实用,使得整个直播产品一下子不再那么平淡无聊,但是纵观整个市场,有类似功能的产品非常至少,据统计现在市场 ...

最新文章

  1. Linux学习(二)--远程登录Linux系统
  2. 通信原理之IP协议,ARP协议 (三)
  3. C++ 莫队算法(转)
  4. Verilog RTL 代码设计示例
  5. EOS从入门到精通-账户体系(文字稿)
  6. Alltesting众测平台访谈录第一弹!
  7. java语言语法--- Java标识符(标识符命名规则)、Java关键字、Java变量(变量的声明、赋值、使用)和常量(字符常量、字面常量)(包括Java字节码文件反汇编命令javap)
  8. Java面向对象(11)--多态性
  9. 车牌号专用键盘设计和正则验证
  10. u盘iso安装服务器系统怎么安装win7系统安装方法,win7 iso,手把手教你U盘如何安装win7系统...
  11. python 简单检索器_python实现文件搜索工具(简易版)
  12. c语言做心理测试程序,求各位大神赐教!我做了一个“心理测试的答题卷”编程,总共有1...
  13. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_05-vuejs研究-vuejs基础-v-text指令...
  14. iperf3怎么看结果_iperf3命令使用
  15. [Java] - 项目中的防止同用户异地登录问题
  16. 声卡是HDA Intel,芯片为IDT 92HD81B1C5的ubuntu12.04下声音很小的解决方法
  17. 球体积公式计算4/3PIr*r*r,编写一个程序输入半径,求体积
  18. PHP快速入门指南-基础篇一
  19. 太吓人了,dub编译,编译phobos
  20. sql日期格式转换函数_SQL转换日期函数和格式

热门文章

  1. 跟老韩学安全之信息收集
  2. deepin linux版本回退,解决Deepin 20下升级360浏览器86内核版就退回78内核版本的问题...
  3. 计算机科学与技术背的多,11岁男生高考639分续:两岁能背100多位圆周率
  4. 服务器如何接显示屏,拼接屏如何实现在一个本地信号上投屏多个窗口
  5. PnP问题之P3P求解方式
  6. 程序员不能忍996了!全民 fuck ,GitHub来说话
  7. 帮我找BUG 有功者赏看主公洗澡机会
  8. django 之深入理解 MVT 模式
  9. 搭建直播平台过程中Android端直播APP源码是如何实现连麦功能的?
  10. 采集百度百家号动态加载的数据信息