主播在直播中做“激烈”运动,会导致什么技术问题?

简介:
     直播App最大的敌人就是“墙”。不要紧张,不是谷歌的那个死对头,而是真的砖墙。

众所周知,主播直播的时候,会做一些激烈的运动。。。比如:在屋里走动。当她手持手机绕过一堵墙的时候,会导致Wi-Fi信号骤然降低,但是主播往往不会意识到信号减弱这个事实。同样,在户外用3G/4G网络进行直播的户外主播,面对的网络情况更加复杂。

想象一下这样的情况:

如果主播向广大观众说一句“我爱你”,但是却要等10秒的时间才收到 Diors 赠送的玫瑰花,这短短的10秒钟,足以把“我爱你”和送花的行为割裂成两个没有联系的部分。

这钟直播体验显然非常糟糕。

在复杂的情况下,如何不让网络另一端的广大 Diors 错失“福利”,直播平台会选择使用网络加速服务商(CDN)的服务。一般来说:大流量传输,如迅雷下载、乐视视频或熊猫TV,都需要 CDN 的服务,以提高用户接收文件包的速度。通俗来讲,CDN的原理就是把用户需要的文件先利用高速的网络通道缓冲到离用户最近的节点,然后再就近传输给用户。减少了从远程服务器搬运的长途跋涉。

在CDN的应用中,有很多场景。例如爱奇艺、乐视这类视频网站,用户请求的视频是有限长度的一段综艺节目或电视剧,观看者会综合考虑画质和传输速度。而对于斗鱼TV、熊猫TV这类有互动的“流媒体”直播平台来说,用户对于直播流畅性是非常在意的。正如前面所说,人对于反馈的等待时间是有忍耐极限的。

熊猫TV的 CDN 服务商又拍云 CTO 黄慧攀告诉雷锋网(公众号:雷锋网)

从经验来看,主播和观众双方互动从开始到结束,在4秒之内完成是可以接受的底线。在直播推流端(主播端)网络状况达标的情况下,又拍云可以把网络延迟控制在2-3秒。

在传输过程中,传输质量当然由 CDN 厂商负责,但是,如果出现直播端网络信号不好这样的“硬伤”,CDN 厂商会如何处理呢?

面对这种情况,CDN 厂商就必须做出取舍。黄慧攀说,如果直播端遇到网络问题,在传输中会采用“抽帧”的方案:原本一秒视频包含25帧画面,但是在网络状况不好的情况下,会优先保证声音的传输,把视频的传输变为每秒10帧或更少。

简单说来,就是在牺牲一定直播画质的基础上,保证用户的流畅体验。

打个比方,视频直播就像送快递,如果发件人手里需要运送的物品过多,作为快递员的 CDN 就会和寄件人“商量”,筛选最重要的几件物品优先打包运输,同时扔掉其余的物品。

但是,这里有一个技术细节:接收快递的人如果没有能力同时接受如此多的快递,快递员就不能采用扔掉包裹的方式来处理。因为这些快件已经被打包,在运输的过程中,作为快递员是不能私自拆包的。这时,直播App一般会选择降低码率,也就是降低解析度的方式来解决——例如用最低320像素的分辨率来传输视频。当然,如果网络再进一步恶化,CDN 加速也无能为力。

由于涉及到多次网络分发,从中转网络到边缘网络,每一次缓冲都需要半秒左右的时间,所以视频直播每降低哪怕零点几秒的延迟,CDN 厂商都需要付出巨大的技术努力。

对于直播平台来说,也有很多策略可以选择。例如:

  • 当直播由于网络信号中断,再次恢复的时候,延续之前的直播几秒才跳到实时直播时点。

  • 对于某些主播,是选择耗费资源的高清信号,还是在 CDN 网络上进行在线压缩之后再推送出去。

这些都是根据直播平台的内容制定的。

由此看来,简单的直播,却涉及到很多环环相扣的技术解决方案,主播每一次“运动”都是牵一发而动全身的。

  
 
  本文作者: 史中

本文转自雷锋网禁止二次转载, 原文链接
目录
相关文章
|
移动开发 JavaScript Oracle
Oracle根据汉字取拼音首字母的function
Oracle根据汉字取拼音首字母的function
9941 0
|
10月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
670 15
|
10月前
|
机器学习/深度学习 新能源
趋势跟踪 + 大盘择时:牛市收益放大器的终极指南
在量化投资中,大盘择时策略常与其他策略结合使用,以提升收益并控制风险。常见搭配包括趋势跟踪、均值回归、行业轮动、多空对冲、资产配置等。每种策略适用于不同市场状态,如趋势跟踪用于单边行情,均值回归适用于震荡市,行业轮动结合经济周期调整配置方向,多空对冲和资产配置用于风险控制。此外,还可结合机器学习模型提升预测精度,或通过波动率交易优化入场时机。合理搭配可构建多层次投资体系,适应多变市场环境,实现稳健收益。需要注意择时信号的滞后性、策略一致性、模型过拟合风险及交易成本控制。
|
机器学习/深度学习 存储 人工智能
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
MNN-LLM App 是阿里巴巴基于 MNN-LLM 框架开发的 Android 应用,支持多模态交互、多种主流模型选择、离线运行及性能优化。
16575 81
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
|
边缘计算 安全 物联网
揭秘边缘计算:未来物联网的基石
揭秘边缘计算:未来物联网的基石
1006 93
|
安全 物联网 数据安全/隐私保护
UEFI的一点点概识
UEFI的一点点概识
2337 0
|
JSON 持续交付 数据中心
基础设施即代码(IaC)的实现途径
【8月更文挑战第18天】基础设施即代码(IaC)是现代云计算和DevOps实践中不可或缺的一部分。通过编写代码来定义和管理基础设施,可以实现自动化、可重复性、易于维护和高度可扩展的基础设施管理。通过选择合适的工具和方法,遵循最佳实践,企业可以显著提升基础设施的部署效率和管理水平。
|
机器学习/深度学习 人工智能 并行计算
《量子计算对人工智能发展的深远影响》
在科技发展的浪潮中,量子计算与人工智能的融合正引领着深刻的科技变革。量子计算利用量子比特的叠加和纠缠特性,实现并行计算,显著提升机器学习训练速度、优化问题求解、大数据分析能力及AI模型泛化能力,催生新型AI算法,并拓展新应用领域。然而,这一融合仍面临硬件稳定性和软件开发等挑战。
779 4
《量子计算对人工智能发展的深远影响》
|
敏捷开发 监控 测试技术
敏捷软件质量保证的方法与实践
本文介绍了软件质量保证(SQA)的重要性及其在敏捷开发中的实践方法。文章首先指出了传统测试方法的问题,如成本高昂和项目风险加大。为解决这些问题,文中提出了需求审核、代码审核与演练、基于会议的测试及基于风险的测试等多种实践方法。此外,文章还探讨了衡量软件质量的常见指标,如源代码行数、代码段/模块/时间段内的Bug数和代码覆盖率等。文中还详细描述了敏捷开发过程中QA的角色与活动,强调了QA需与开发人员、业务人员及客户密切协作,以确保产品质量。最后,文章指出了在敏捷开发中QA的特殊性及其对团队构成、测试阶段、工作方式等方面的影响。
681 3
敏捷软件质量保证的方法与实践
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
910 3
快速上手|HTTP 接口功能自动化测试