开发者社区> 肉肉扣2466131704> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

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

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
低代码助力网络课程的期未作品开发
作为本课程的任课老师,我认为学生们的在汇报中所展现出的专业素质和实践应用能力让这门课程的意义得到体现。同学们运用低代码自行设计相关应用系统,将理论与实践结合,以低代码技术为实际生活场景赋能,从理论到实践,更好地巩固了所学。
0 0
【WSN】异构无线传感器网络的开发分布式节能集群算法(DDEEC)附matlab代码
【WSN】异构无线传感器网络的开发分布式节能集群算法(DDEEC)附matlab代码
0 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三)配置网络环境
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三)配置网络环境
0 0
【Android 逆向】Android 逆向通用工具开发 ( PC 端工程分析 | 网络初始化操作 | PC 端工程核心业务逻辑 )
【Android 逆向】Android 逆向通用工具开发 ( PC 端工程分析 | 网络初始化操作 | PC 端工程核心业务逻辑 )
0 0
【Android 逆向】Android 逆向通用工具开发 ( adb forward 网络端口重定向命令 | PC 端逆向程序主函数分析 )
【Android 逆向】Android 逆向通用工具开发 ( adb forward 网络端口重定向命令 | PC 端逆向程序主函数分析 )
0 0
【Android 逆向】Android 逆向通用工具开发 ( 网络模块开发 | SOCKET 网络套接字初始化 | 读取远程端 “Android 模拟器“ 信息 | 向远程端写出数据 )
【Android 逆向】Android 逆向通用工具开发 ( 网络模块开发 | SOCKET 网络套接字初始化 | 读取远程端 “Android 模拟器“ 信息 | 向远程端写出数据 )
0 0
【Android 逆向】Android 逆向通用工具开发 ( 网络模块开发 | 配置头文件 | 配置编译参数 | 网络初始化 WSAStartup 与清理 WSACleanup 操作 )
【Android 逆向】Android 逆向通用工具开发 ( 网络模块开发 | 配置头文件 | 配置编译参数 | 网络初始化 WSAStartup 与清理 WSACleanup 操作 )
0 0
【Android 逆向】Android 逆向通用工具开发 ( 静态库项目中的网络操作核心类 CNetwork 分析 )
【Android 逆向】Android 逆向通用工具开发 ( 静态库项目中的网络操作核心类 CNetwork 分析 )
0 0
Android TV 开发】安卓电视调试 ( 开启网络远程调试 )(二)
Android TV 开发】安卓电视调试 ( 开启网络远程调试 )(二)
0 0
+关注
肉肉扣2466131704
爱写作~爱分享~爱分享科技互联网直播短视频相关内容
文章
问答
文章排行榜
最热
最新
相关电子书
更多
可预期数据中心网络
立即下载
蚂蚁金服Docker网络插件 开发和实践
立即下载
思科软件定义访问:实现基于业务意图的园区网络
立即下载