开发网络视频直播系统应该重点标记的几个方面

简介: 一个直播平台的好坏除了跟长期的用户体验有关,还跟用户的第一印象有关。也就是说,从用户打开网络视频直播系统的那一刻起,就已经算是第一印象的开始了。所以,用户体验对于大部分直播平台来说是非常重要并且十分头疼的事情。

一个直播平台的好坏除了跟长期的用户体验有关,还跟用户的第一印象有关。也就是说,从用户打开网络视频直播系统的那一刻起,就已经算是第一印象的开始了。所以,用户体验对于大部分直播平台来说是非常重要并且十分头疼的事情。
1.首屏打开
当用户进入直播间后,播放器就会向CDN请求数据,CDN接收到拉取音视频流的请求之后就会向前回溯一段时局。如果回溯了2秒钟,就会到达音视频流的第5帧,从而CDN会将第5帧开始往后的数据,通过RTMP或者是其他的直播协议源源不断的发送到播放器。由于CDN是从第5帧开始发送数据的,之后数据会全部缓存在CDN服务器中,所以才可以将数据源源不断的发送到客户端。这些数据通常会全部缓存在播放器的内存中,主要用于有效的抵抗网络波动所造成的影响。但是这样做的缺点就是:播放器相比起主播,延迟的时间会增加。
25356495
2.网络拥塞
这应该是互联网中十分常见的现象了,但是这一现象给直播带来的影响也是比较严重的。举个简单的例子,如果用户在观看直播时,播放到第150帧时用户的下行网络出现了问题,再加上播放器还没有接收到新的数据,那么直播画面肯定就会出现卡顿现象。但这个时候主播端并不知情,所以主播还在继续推送音视频流数据。在经历几秒左右的卡顿之后,用户端的网络恢复后,音视频数据又会源源不断的从CDN开始流向播放器。但是这里可能会出现一个问题:由于播放器播放音视频数据时,是需要按照每一帧的时间戳进行匀速播放,如果不做任何的优化,就表明每出现一次卡顿的现象,直播的延迟就会增加一段时间,从而我们可以得知增加的时间和卡顿的时间是一样的。
3.延时累积
在直播中也会出现延时累积的现象,这个时候就要求播放器进行延时追赶。也就是说,播放器必须实施侦测缓存中的数据情况,一旦大于其中的某一个值就需要启动延时追赶。可以直接扔掉多余的数据,也可以采用快进的方式。对于用户来说,快进不会产生明显的跳跃,但需要注意的是不要因为快进而产生尖刺,并且在追赶时不要太过激进,应该在缓存中留存一段数据用于缓解可能再次发生的网络拥塞。
0b45fd11f22a4a82970d822a1ca3a3a9_th_wps_
以上内容就是网络视频直播系统中较为常见的几个问题,要想优化用户体验就应该从以上几个方面入手,从而增强产品体验和用户粘性。如果大家对于直播相关知识感兴趣,欢迎关注我!
本文声明原创,转载请注明出处。

相关文章
|
2月前
|
Ubuntu 网络协议 网络安全
解决Ubuntu系统的网络连接问题
以上步骤通常可以帮助解决大多数Ubuntu系统的网络连接问题。如果问题仍然存在,可能需要更深入的诊断,或考虑联系网络管理员或专业技术人员。
465 18
|
2月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的青少年网络使用情况分析及预测系统
本研究基于Python大数据技术,构建青少年网络行为分析系统,旨在破解现有防沉迷模式下用户画像模糊、预警滞后等难题。通过整合多平台亿级数据,运用机器学习实现精准行为预测与实时干预,推动数字治理向“数据驱动”转型,为家庭、学校及政府提供科学决策支持,助力青少年健康上网。
|
2月前
|
监控 安全 网络协议
Cisco Identity Services Engine (ISE) 3.5 发布 - 基于身份的网络访问控制和策略实施系统
Cisco Identity Services Engine (ISE) 3.5 发布 - 基于身份的网络访问控制和策略实施系统
324 1
Cisco Identity Services Engine (ISE) 3.5 发布 - 基于身份的网络访问控制和策略实施系统
|
3月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
205 2
|
4月前
|
安全 KVM 虚拟化
Cisco Identity Services Engine (ISE) 3.4 - 基于身份的网络访问控制和策略实施系统
Cisco Identity Services Engine (ISE) 3.4 - 基于身份的网络访问控制和策略实施系统
214 2
Cisco Identity Services Engine (ISE) 3.4 - 基于身份的网络访问控制和策略实施系统
|
4月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
236 18
|
2月前
|
机器学习/深度学习 分布式计算 Java
Java与图神经网络:构建企业级知识图谱与智能推理系统
图神经网络(GNN)作为处理非欧几里得数据的前沿技术,正成为企业知识管理和智能推理的核心引擎。本文深入探讨如何在Java生态中构建基于GNN的知识图谱系统,涵盖从图数据建模、GNN模型集成、分布式图计算到实时推理的全流程。通过具体的代码实现和架构设计,展示如何将先进的图神经网络技术融入传统Java企业应用,为构建下一代智能决策系统提供完整解决方案。
314 0
|
4月前
|
机器学习/深度学习 数据采集 算法
【电力系统】MATLAB环境下基于神经网络的电力系统稳定性预测研究(Matlab代码实现)
【电力系统】MATLAB环境下基于神经网络的电力系统稳定性预测研究(Matlab代码实现)
101 1
|
3月前
Vite使用svg-企业级开发(支持本地svg和网络svg渲染)
本教程介绍如何在Vite项目中集成SVG图标插件。首先安装`vite-plugin-svg-icons`,配置插件指向SVG图标目录,并注册全局组件。接着创建SVG图标组件,支持内部图标与外部图片展示。通过简单配置,即可在页面中灵活使用各类SVG图标,提升开发效率。
175 0

热门文章

最新文章