818台网直播技术解析与优化策略

1. 引言

在万物互联的新时代,数字经济势不可挡,“数字化转型”成为热词,其中直播作为数字化经济发展的重要一环,已然成为当下最热门的互联网场景应用之一,同时也是企业传播信息、展示产品以及与用户进行互动的重要渠道之一。而其中的核心技术——推拉流技术,更是直播过程中不可或缺的关键环节。直播推拉流技术是指通过网络将实时视频信号从源端推送到服务器端,然后再由观众端通过网络接收并播放的过程。它广泛应用于各类直播平台、在线教育、远程会议等场景下。但是,直播推拉流过程中常常会遇到一些技术问题,如延迟、卡顿、画质模糊等,需要针对这些问题进行优化。今天的分享,将通过对之家818台网直播推拉流技术保障的讲解,为大家揭秘直播技术的高可用解决方案和优化策略。

2. 直播场景介绍

之家818台网直播是汽车之家与中央电视台CCTV2,湖南卫视跨界强强联手,在8 月18日电商营销黄金档,联袂推出全球首场汽车主题晚会——“汽车之家818全球汽车夜”,携手超强年轻流量,引入王牌工作室,打造了一台汽车与娱乐并行的跨界大IP,全程电视台在线直播,各大网线同步进行直播,涵盖现场互动性较强的在线发放红包雨,实时抽奖开奖,在线竞技押宝竞猜等场景。所以不仅对直播的实时性,低延迟要求比较高,而且对系统的高可用,稳定性也是硬性要求。接下来将从可用、高可用、性能提升三个维度介绍整个直播的保障工作。

3. 架构设计

818台网直播技术解析与优化策略
818直播保障高可用系统架构图

3.1 可用性以及稳定性保障

直播推拉流技术需要具备高可靠性,对于直播来说,每一帧每一秒的音视频数据都非常重要,任何一次丢包或者传输错误都可能导致画面卡顿或者断流。因此,推拉流技术需要具备强大的纠错能力和容错机制,确保音视频数据的完整性和稳定性,其次还需要保障直播的流畅度,降低直播的卡顿率,提升用户体验,针对提升直播的性能优化我们主要举措有以下几点:

1. 网络优化。直播前期我们通过第三方CDN质量检测系统,针对全国范围的省市区CDN节点进行为期一个月的质量拨测,通过检测评分筛选出质量比较差的CDN节点,进行针对性点对点的优化处理,通过优化CDN线路,提升CDN的本地触达率来提升直播的秒开,降低直播卡顿率。

2. 缓冲机制。重写开源服务器srs的GOP cache逻辑,增强关键帧缓存技术。

3. 直播预热。开播当日开启全国范围内拨测,进行CDN边缘节点预热,开启直播流不同清晰度直播流的主动转码,保证全国范围内用户拉流的可用性和收帧加载成功率,降低秒开耗时,提升秒开速度。

4. CDN加速。优化推流CDN节点的稳定性,缩短推流链路,减少耗时转发,避免推流地址域名解析因DNS解析异常导致的最优线路MISS,确保北京地区一定推流到华北地区节点,另外推流开始后,对推流节点进行稳定性监控,重点监控节点丢包率,上行帧率波动。

818台网直播技术解析与优化策略
推流节点优化前后视频帧率码率比

3.2 容灾高可用保障

直播推拉流技术还需要具备高扩展性。随着直播用户数量的增加,网络负载也会相应增加,这就要求推拉流技术能够灵活地调整带宽、优化网络传输等,以应对庞大的用户需求。所以在直播过程中,伴随着用户群体的增加,可能会面临各种故障,比如直播源流中断,推流服务器宕机,CDN线路断开,推流程序崩溃假死等等问题,所以针对各种场景的异常故障,经过我们数轮故障推演对抗,制定了详细的对抗方案和脚本,使得整个系统具备故障自愈能力。

1. 同时接入四路等效视频输入源,保障源流拉流高可用,随时可以进行无损切换。

2. 同步在五个交叉IDC等效部署推流服务,保障推流服务器的高可用。

3. 接入三家CDN直播服务商,多路同推,动态调度流量,确保直播服务商的高可用。

在容灾架构中,无论是切换输入源,亦或是切换了推流服务IDC机房,或者是更换了直播服务商,最终都会造成直播流的闪断,那么如何把直播流闪断的时长降低到3s内,甚至达到用户完全无感,这对我们是个挑战难题。当直播流断开再恢复的时刻,我们发现此时直播流的时间戳没有连续,存在时间戳跳变问题,主要指标是DTS回退,触发Non-monotonous DTS in output stream,DTS是一种解码时间戳,这个时间戳的错误可能导致解码失败,关键帧或参考帧丢失,从而出现播放花屏或黑屏(有声音无画面)。同时时间戳错误,还可能导致播放器播放停滞。发现该问题之后,我们与CDN厂商一同解决了时间戳跳变问题,同时在内网直播服务端,做了转推前置的跳变时间戳处理,对齐ffmpeg concat算法,最终成功做到服务商之前切换用户无感知,直播流断开服务降级用户弱感知,3s内恢复的效果。

3.3 故障感知

直播场景软件系统平台监控技术是保障直播系统可靠运行的关键要素。通过合理配置监控系统,结合日志记录与分析、性能指标监测、故障诊断与恢复以及安全监控等关键技术,可以提高直播系统的稳定性和安全性,为用户提供良好的直播体验。

818台网直播场景平台监控基于用户端和主播端两个层面进行管控。主播端监控主要关注源流的质量情况,包括连接质量、帧率码率、延迟等指标;用户端监控则主要关注用户的直播状态、音视频码率帧率的稳定性、带宽利用率、秒开时长等指标。通过实时采集监测数据,并将其存储和分析,可以实现对整个系统的全面监控。通过全链路的监控做到故障秒级感知,为直播线路择优,提供数据的支撑与决策依据,可以快速定位问题源头和异常行为,降低异常故障对直播产生的负面影响,缩短系统修复时间。

818台网直播技术解析与优化策略
818台网直播监控预警平台

3.4 安全机制

对直播系统进行安全监控,包括实时检测和识别恶意攻击,防范未知漏洞的利用,并实时更新安全策略和规则以保护直播推流地址的安全,防止泄露。直播推流安全问题主要包括以下方面:

1. 盗链:黑客通过获取推流地址或密钥等手段,盗用直播内容,导致未授权的内容传播。

2. 丢包和延迟攻击:黑客利用网络延迟或丢包等问题,对直播过程进行干扰,造成直播质量下降。

3. 内容篡改:黑客对推流的内容进行篡改或替换,破坏正常的直播体验,甚至传播虚假信息。

4. DDoS攻击:黑客通过大规模的请求洪水攻击直播服务器,导致服务不可用或直播中断。

针对面对的直播安全威胁,为了保障直播推流的安全行,我们制定了安全防护方法,主要采取了以下手段进行防护:

1. 推流鉴权:使用密钥或Token等方式对推流地址进行鉴权,确保只有经过授权的设备能够进行推流操作。

2. 数字签名:在推流过程中使用数字签名对数据进行加密和认证,防止内容被篡改或伪造。

3. 安全传输:使用HTTPS协议进行推流传输,确保数据在传输过程中的机密性和完整性。

4. 防护设备:在直播服务器端使用防火墙、入侵检测系统(IDS)等设备,监测和拦截恶意请求和攻击。

5. CDN加速:通过使用CDN(内容分发网络)技术,将直播内容缓存到离用户最近的节点,减少网络延迟和丢包率,提高直播质量。

6. 流量限制:设置并监控推流带宽和QPS(每秒查询率),避免因大量非法请求导致服务器资源耗尽。

7. 安全更新:直播开播前每隔5分钟更新一次推流地址,强制作废旧推流地址。

8. 管控推流服务器IP,添加推流IP白名单,仅指定服务器可推流成功,防止直播推流过程中被恶意抢断推流。

4. 总结

直播推拉流技术作为直播的核心技术之一,具备低延迟、高可靠性和高扩展性的特点,对于企业来说具有重要意义。未来,随着直播行业的进一步发展,我相信直播推拉流技术将会变得更加成熟和智能化,为企业员工带来更高效、便捷的工作体验。直播推拉流技术是实现实时视频传输的核心环节,对于保证直播质量和用户体验至关重要。本文通过对技术原理、常见问题和优化策略的分析,希望能够帮助企业员工更好地理解直播。我们也会持续探索和优化,不断提升系统的稳定性和可靠性,争取在竞争激烈的市场中脱颖而出,为用户提供良好的直播体验。

作者简介

毕新维

■ 服务端研发部-买用技术团队-直播组

■ 汽车之家高级系统开发工程师。2017年加入汽车之家,目前主要负责参与直播业务架构及音视频底层研发工作,连续5年参与818台网直播活动的研发保障工作。

何传振

■ 服务端研发部-买用技术团队-直播组

■ 汽车之家高级系统开发工程师。2018年加入汽车之家,先后从事之家关注,用户运营增长,基础架构,直播等业务。现主要负责公司直播系统相关工作。

来源:之家技术
原文:https://mp.weixin.qq.com/s/Im_fFXR3tVmZh_RsUFDicQ

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论