直播软件开发层面如何优化直播平台体验
通常在进行直播软件开发时,为了能进一步提升直播平台体验,较为常见的延迟、卡顿等问题,都是需要用心去处理的。其中有一项处理不好,都会直接影响前端app的运行。下面简单介绍下直播软件开发层面影响直播体验的相关因素。
直播软件开发中影响直播平台体验的三项指标
1.影响直播产品体验的第一个指标是延迟,即数据从信息源发送到目的地所需的时间。大部分用户都属于“视觉动物”重视第一印象,这也是为什么大多数开发者在进行直播软件开发时会格外注意了。由于 RTMP/HLS 是基于 TCP 之上的应用层协议,TCP 三次握手,四次挥手,慢启动过程中的每一次往返来回,都会加上一次往返耗时 ,这些交互过程都会增加延迟。再加上出现网络抖动也可能导致丢包重传,间接导致延迟加大。
2.卡顿即视频播放过程中出现画面滞帧,也就是我们通常提到的直播画面很卡的情况。单位时间内的播放卡顿次数统计称之为卡顿率。造成卡顿的原因可能有以下三点:
(1)推流端发送数据中断
(2)公网传输拥塞或者是网络抖动异常
(3)终端设备的解码性能太差
降低甚至消除直播软件的卡顿次数,用户的产品体验才能更好。
3.首屏耗时即第一次点击播放后,用户肉眼看到画面之前所等待的时间。技术上是指播放器解码第一帧渲染显示画面所花的耗时。所谓的秒开,也是指点击播放后,一秒内即可看到播放画面。同样的,首屏打开速度越快,用户的产品体验越好。
直播软件开发采用不同芯片平台会出现编码差异
iOS端和Android端应用的差异,导致芯片的选取也会有所不同。iOS端必然要选择Apple公司出厂的芯片了,由于是同一家公司出品的,所以在ios端无论是硬编还是软编,几乎不存在因为芯片平台不同而导致的编码差异。
但是在Android端就不同了,不同的芯片平台上编码差异表现很大。不同的厂家使用不同的芯片,而不同的芯片平台上Android MediaCodec 表现略有差异。再加上Android MediaCodec硬编层面的H.264编码画质参数是固定的baseline,所以画质比较一般。因此在直播软件开发时,Android端大都推荐使用软件编码,不仅画质可调控而且兼容性还好。
低端设备上高性能采集和编码的方法
在采集过程中,采集的频次很高且编码帧率也很高,每张图如果都经过编码器,那么编码器可能会出现过载情况。此时,可以在不影响画质的前提下进行选择性丢帧,以此来降低编码环节的功耗开销,这种方式在直播软件开发时的应用,也能很好的提升用户实际的直播平台体验。
弱网下保障高清流畅推流的方法
在移动端观看直播时,经常会遇到网络不稳定、断线重连、连接被充值等情况。还有就是用户在进行移动网络切换时,带宽可能也会出现瓶颈。如果带宽不够,那么帧率或码率较高的内容就无法及时发送出去,这个时候就需要可变码率进行支持。即在推流端,检查网络状态和简单测速后,选择动态切换码率,从而保障网络切换时的推流流畅。
以上这些因素的存在会影响直播平台体验,因此在直播软件开发过程中需要格外关注。如果有哪里叙述的不够全面,欢迎大家在评论区与我互动交流。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
视频直播软件开发需要什么?
直播行业因为强硬的技术支撑,走的越来越稳,给大家介绍一些视频直播软件开发的需要! 对于视频直播软件开发首先的就是系统开发语言,我们来看下有哪些开发语言!我们用云豹直播为例。 云豹直播互动系统由 WEB 系统、REDIS 服务、MYSQL 服务、视频服务、聊天服务node.js、后台管理系统和定时监控组成,手机端安卓开发语言采用:java、IOS 苹果采用:objective-c 原生开发,后台管理采用PHP 语言开发,所有服务提供横向扩展。 WEB 系统提供页面、接口逻辑。 REDIS 服务提供数据的缓存、存储动态数据。 . MYSQL 服务提供静态数据的存储。 视频服务提供视频直播,旁路直播,转码、存储、点播等。 聊天服务提供直播群聊,私聊,消息通知等。 定时监控:监听主播异常掉线情况、直播消息推送等。而视频直播软件开发不仅只有PC端的功能,另外还有手机APP的一些功能: 1、消息推送:给用户推送房间聊天消息、私信消息。2、业务服务器:手机直播的业务部分、好友关系、直播管理、货币系统、礼物系统等。3、视频服务器:视频直播、点播、转码、存储和点播等。4、MYSQL:手机直播的静态数据、...
- 下一篇
刚刚,阿里开源 iOS 协程开发框架 coobjc!
阿里妹导读:刚刚,阿里巴巴正式对外开源了基于 Apache 2.0 协议的协程开发框架 coobjc,开发者们可以在 Github 上自主下载。coobjc是为iOS平台打造的开源协程开发框架,支持Objective-C和Swift,同时提供了cokit库为Foundation和UIKit中的部分API提供了协程化支持,本文将为大家详细介绍coobjc的设计理念及核心优势。 开源地址 https://github.com/alibaba/coobjc iOS异步编程问题 从2008年第一个iOS版本发布至今的11年时间里,iOS的异步编程方式发展缓慢。 基于 Block 的异步编程回调是目前 iOS 使用最广泛的异步编程方式,iOS 系统提供的 GCD 库让异步开发变得很简单方便,但是基于这种编程方式的缺点也有很多,主要有以下几点: 容易进入
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Red5直播服务器,属于Java语言的直播服务器