你还在为20倍的连麦成本发愁吗?

简介: 连麦已经成为互动直播的基本功能,但连麦的成本较高,对业务形成比较大的压力。

连麦已经成为互动直播的基本功能,但连麦的成本较高,对业务形成比较大的压力。北京密境和风科技有限公司iOS技术负责人唐赓在LiveVideoStack Meet上分享了花椒直播在降低连麦成本方面的一些探索,此外对连麦费用构成、降低成本可采用方案,以及实际效果进行分析。


演讲 / 唐赓

整理 / LiveVideoStack




我将从以下五部分分享我们在连麦成本控制方面的尝试和经验:连麦接入方案、费用构成分析、尝试方案、实现过程中存在的问题以及实际效果分析。


连麦接入方案


640?wx_fmt=png&wxfrom=5&wx_lazy=1


上图是最常见的单向直播架构,左侧主播端将直播流推到源站,源站再通过CDN分发到边缘节点,所有客户端则是从这些边缘节点拉取数据,这是最普通的方案。单向直播对技术的要求相对较低,它对延迟、实时性没有过高的需求,但是对CDN的要求会相对高一些,来保证直播的连通性和覆盖率。


但是对连麦的接入方案而言,连麦本身对实时性是有较高要求,当然这个要求主要是针对连麦的主播之间的,因此连麦服务商都会有连麦服务器来保证主播之间实时互动的连通性和实时性,连麦服务使用的肯定是核心服务器,那么相对而言成本也会高很多。而对于普通的观众端则依旧是从CDN边缘节点拉流观看直播。


0?wx_fmt=png


但是这个架构我们在实际应用过程中遇到了很多问题:首先就是开播之前必须选择是否使用连麦,这决定了主播推送的流是否要接入连麦服务器,因为连麦成本(单价)是普通直播的20倍、甚至40倍,而有的主播虽然在开播前选择连麦,但在直播过程中却并没有用到,这无形之中就极大增加了直播成本。也正是因为如此,给所有主播都开启连麦是不可能的,而且也仅仅有小部分主播需要使用到连麦功能。而另一个问题则是在直播过程中突然有连麦需求怎么办?下播重新推流显然是不现实的,一方面会影响观看体验,一方面也很难再次聚集人气。此外伴随直播玩法的更新,象主播间的连麦PK、多个直播间合并这样的需求也在不断增加,如何支持这些需求,这就需要对直播架构进行重新设计。


连麦成本构成分析


连麦成本首先是连麦服务费,它的计算方式分为按照房间数*时长计算和按流量计算两种,无论用哪种方式计算,通常价格都是普通CDN的20倍、甚至40倍以上。费用构成的第二部分就是中间CDN费用,这部分又会有两种方案:一种是直接使用连麦服务厂商提供的SDK中的CDN解决方案,一种是自建或单独购置CDN,两种方案相较而言可能第二种方式在费用上会更合适些。此外还可能会产生的成本就是合流费用,这部分费用产生的原因是连麦会产生多个窗口,假如采用拉取多路流再在客户端拼合成需要的布局,一个因为手机和各客户端本身分辨率有差异,另外为保持所有客户端获取一致体验需要手机端代码来保证播放同步,这在实现过程中会遇到很多麻烦,因此我们采用将多个流合流为一路推送到客户端,目前几大连麦服务厂商都提供了合流服务,但同时在费用上它甚至比连麦服务还要再贵几倍。因此我们使用FFmpeg自己开发了一套实现方案。


降低成本的实现&遇到的问题


0?wx_fmt=png


上图是我们改进后的架构,主播在正常开播时依旧是采用传统的单向直播方案,直播流会走绿色的线推给源站进行推流,而连麦服务初始状态是隐藏的,一旦有需求,主播只要同意连麦请求就会自动切换到连麦服务器上,再推给源站推流。


  • 老版本兼容问题


但在实现过程中我们也遇到了一些问题:首先是版本问题,如果要实现这样一个架构,我们就必须通过IM通道通知所有客户端流流名变更、流服务器地址变更,然后手机就会立刻从新的地址拉流,但老版本并不支持这个协议。此外还有H5和PC Web的问题。


0?wx_fmt=png


这张图是我们针对老版本兼容改进的架构,当主播切换到连麦后原本推流的绿色虚线就会消失,改由连麦服务器按照原来的流名继续推流到源站,这样就可以保证老版本客户端能够源源不断看到直播内容,而新客户端也可以正常拉取到新的流。这里需要注意的一点,为了保证老版本客户端收到的内容也是新的画面,就需要连麦服务器在原来流名推的是合流之后的流。


  • 推流保护机制


但在我们实现过程中发现这条路走不通,因为CDN厂商有一套推流保护机制来防止流被别人恶意劫持, 它会记住上一次推流到这个流名的IP,并且在一定时间内不允许更换IP,或者需要特殊的API调用去通知它IP更换。因此这个问题只能通过和CDN厂商协商来解决了。


  • 推流参数变更


推流参数变更也是我们遇到的坑,原本的推流是由手机端直接推的,而手机的推流参数与连麦服务器和合流务器输出的参数是不一样的,这就可能会出现没有声音、直播画面出现异常等等各种问题。对于这个问题,我们也是和推流中所有环节的厂商——包括连麦服务商和各家CDN厂商规定了一套推流参数规则来解决这个问题。当然这些服务商也并非只有我们一家,因此他们在对我们参数适配的同时也还要兼顾其他客户的正常使用,所以测试、发布的过程也是非常谨慎小心的。


  • 新增CDN厂商不兼容


在规定推流参数的同时又衍生出了一个新的问题,就是新增CDN厂商的不兼容。我们的推流参数不是固定不变的,因为在手机端推流时,分辨率、码率、帧率都会根据当前网络带宽、手机CPU消耗等因素做动态调整,因此我也只能要求新增的CDN厂商按照我们的规范支持分辨率、码率的动态调整。


除此之外还会有一些其他的坑,比如我们自身用了很多私有协议,而厂商可能用的是公有协议,那么在对接时协议之间又会有很多不兼容,需要做适配转换。


实际效果分析


在经历一系列的问题改进,最终能达到的效果基本可以归纳为4点。首先对于主播而言,他可以随时进行连麦,不需要在开播前就必须做出选择。第二点我们实现了多个直播间合并直播,并且加入了一些设计:当多个主播连麦时,直播间观众看到的主播位置排序一定是当前主播在第一位,这个在实现过程中需要注意给到合流服务器的所有排列组合信息是正确的;在合并直播的基础上我们也做了主播才艺的PK。此外实现了老版本的平滑过渡。当然最大的好处就是成本降低,主播只有在有连麦需求的时候才会自动切换到连麦服务器,而我们也设定了一个时间域值,当主播一定时间不连麦后我们会自动切回普通直播,这样就比较明显的减少了连麦成本。


以上是我们尝试的新的直播架构,以及实现过程中遇到的问题和解决思路,谢谢大家。


LiveVideoStack招募全职技术编辑和社区编辑


LiveVideoStack是专注在音视频、多媒体开发的技术社区,通过传播最新技术探索与应用实践,帮助技术人员成长,解决企业应用场景中的技术难题。如果你有意为音视频、多媒体开发领域发展做出贡献,欢迎成为LiveVideoStack社区编辑的一员。你可以翻译、投稿、采访、提供内容线索等。


通过contribute@livevideostack.com联系,或在LiveVideoStack公众号回复『技术编辑』或『社区编辑』了解详情。

相关实践学习
Serverless极速搭建Hexo博客
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
7月前
|
弹性计算 NoSQL 关系型数据库
还得是阿里云,在2024如此艰难的一年,百款产品直降,技术更优,规模更大,节省更多
还得是阿里云,在2024如此艰难的一年,百款产品直降,技术更优,规模更大,节省更多
短视频平台搭建,降低用户等待焦虑的常用方式
短视频平台搭建,降低用户等待焦虑的常用方式
|
机器学习/深度学习 IDE Java
十倍速开发提效
> *概述:对`jetbrains`系列 IDE 使用技巧进行系统化梳理和整合* ## 背景 ### 目的 欲善其事,先利其器。对于研发同学,在日常的开发工作中,我们与之打交道最多的便是编程的IDE。能否高效和灵活的使用IDE,将对我们的工作效率起着举足轻重的作用。 研发同学在开发中最主要做的两件事分别是架构设计和编码,前者主要取决于大量的项目经验积累和个人的思考深度,也是
704 1
十倍速开发提效
陪玩平台源码开发,如何提升用户的约单体验?
陪玩平台源码开发,如何提升用户的约单体验?
|
Web App开发 编解码 移动开发
淘宝超强“带货王”——直播低延迟的背后有何猫腻?
本次演讲来自阿里巴巴淘系技术部技术专家常高伟在 LiveVideoStack 2019深圳站上的演讲,主要面向直播行业从业者,以及对低延迟直播技术、 WebRTC 技术感兴趣的技术人员,介绍淘宝直播在低延迟直播技术上的探索,如何基于 WebRTC 实现一秒内的低延迟直播,以及低延迟直播对电商直播的业务价值。
2573 1
淘宝超强“带货王”——直播低延迟的背后有何猫腻?
|
弹性计算 边缘计算 资源调度
大促密集,CDN如何保障电商体验如丝般顺滑?
前不久,阿里云技术天团空降CSDN在线峰会,对核心技术竞争力进行解读。其中,阿里云高级技术专家曾福华分享了《双11: CDN如何保障电商大促如丝般顺滑》的议题。俗话说:养兵千日,用兵一时。每一次的战役,后面都有无数的团队、无数的预案以及无数的演练在支撑着。双十一的稳定,不仅仅有各种创新各种高科技,还有非常多的体系化工程给与了足够的保障,从物理层到应用层,从资源准入到线上演练,无一不例外的都蕴含着各种门道。面对电商大促,面对百 Tbps 级别的流量,阿里云 CDN 又是如何确保如丝般顺滑的呢?
3802 0
大促密集,CDN如何保障电商体验如丝般顺滑?
|
双11
96秒100亿!哪些“黑科技”支撑全球最大流量洪峰?| 双11特别策划之二
每秒订单峰值54.4万笔!这项“不可思议”的挑战背后是众多阿里“黑科技”的支撑,究竟是哪些技术撑起了如此强大的流量洪峰?开发者社区双11特别策划带你揭秘——收纳阿里巴巴集团CTO张建锋精彩演讲,淘系技术、支付宝“不为人知”的黑科技,更有超燃阿里工程师纪录片《一心一役》等你发现!
21523 0
|
新零售 NoSQL 容灾
业务爆发保持丝般顺滑 阿里云助力完美日记半年内系统吞吐量提升50倍
近年来,完美日记的“小黑钻口红”“动物眼影盘”等爆款彩妆出现在了越来越多女孩子的化妆台上,完美日记(Perfect Diary)是由逸仙电商在2017年推出的彩妆品牌,凭借着高颜值和性价比,完美日记彩妆销量增长迅猛,被众多网友誉为国货之光。
816 0
业务爆发保持丝般顺滑 阿里云助力完美日记半年内系统吞吐量提升50倍
|
存储 XML 缓存
首次揭秘!看大麦如何掌控超大规模高性能选座抢票
随着现场娱乐行业的不断发展,各类演出层出不穷,越来越多的演出开启选座购票满足用 户的自主选座需求。大麦的选座不仅面向中小场馆类的剧院演出,还面向大型体育赛事、大型 演唱会等超大型场馆(如鸟巢近 10 万座)。选座类型抢票的特点是“选”,由于“选”的可视化以及超大场馆在数据量上对大麦是很大的挑战。本文通过服务端和前端上的一些解决方案来探讨 如何支撑超大规模场馆的高性能选座,通过本文的一些技术方案希望可以对读者在一些高并发实践中提供帮助。
首次揭秘!看大麦如何掌控超大规模高性能选座抢票