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

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

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

相关文章
|
6天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
19 2
|
28天前
|
Linux 开发工具 Android开发
FFmpeg开发笔记(六十)使用国产的ijkplayer播放器观看网络视频
ijkplayer是由Bilibili基于FFmpeg3.4研发并开源的播放器,适用于Android和iOS,支持本地视频及网络流媒体播放。本文详细介绍如何在新版Android Studio中导入并使用ijkplayer库,包括Gradle版本及配置更新、导入编译好的so文件以及添加直播链接播放代码等步骤,帮助开发者顺利进行App调试与开发。更多FFmpeg开发知识可参考《FFmpeg开发实战:从零基础到短视频上线》。
103 2
FFmpeg开发笔记(六十)使用国产的ijkplayer播放器观看网络视频
|
6天前
|
API
鸿蒙开发:切换至基于rcp的网络请求
本文的内容主要是把之前基于http封装的库,修改为当前的Remote Communication Kit(远场通信服务),无非就是通信的方式变了,其他都大差不差。
鸿蒙开发:切换至基于rcp的网络请求
|
20天前
|
监控 安全 测试技术
网络信息系统的整个生命周期
网络信息系统规划、设计、集成与实现、运行维护及废弃各阶段介绍。从企业需求出发,经过可行性研究和技术评估,详细设计系统架构,完成设备安装调试和系统集成测试,确保稳定运行,最终安全退役。
32 1
网络信息系统的整个生命周期
|
6天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
35 3
|
7天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
30 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
|
20天前
|
机器学习/深度学习 存储 运维
图神经网络在复杂系统中的应用
图神经网络(Graph Neural Networks, GNNs)是一类专门处理图结构数据的深度学习模型,近年来在复杂系统的研究和应用中展现了强大的潜力。复杂系统通常涉及多个相互关联的组件,其行为和特性难以通过传统方法进行建模和分析。
41 3
|
20天前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
1月前
|
XML 开发工具 Android开发
FFmpeg开发笔记(五十六)使用Media3的Exoplayer播放网络视频
ExoPlayer最初是为了解决Android早期MediaPlayer控件对网络视频兼容性差的问题而推出的。现在,Android官方已将其升级并纳入Jetpack的Media3库,使其成为音视频操作的统一引擎。新版ExoPlayer支持多种协议,解决了设备和系统碎片化问题,可在整个Android生态中一致运行。通过修改`build.gradle`文件、布局文件及Activity代码,并添加必要的权限,即可集成并使用ExoPlayer进行网络视频播放。具体步骤包括引入依赖库、配置播放界面、编写播放逻辑以及添加互联网访问权限。
133 1
FFmpeg开发笔记(五十六)使用Media3的Exoplayer播放网络视频
|
1月前
|
物联网 5G 调度