线上授课直播平台播放质量问题分析

2020-06-10 07:50
科技传播 2020年9期
关键词:网络带宽卡顿音视频

1 线上授课直播平台播放质量问题

因为疫情影响,从2020 年2 月下旬全国院校开始启用线上授课模式。线上授课模式主要包括2类平台,一类是线上课程视频点播(VOD)平台,比如各种MOOC 课程视频平台;另一类是线上授课直播(Live stream)平台,比如腾讯课堂(ke.qq.com),课堂派(ketangpai.com)等各种偏重线上授课直播平台。单纯线上课程视频点播平台无法满足线上授课师生实时互动要求,所以线上授课模式通常以线上授课直播平台为主要教学平台以线上课程视频点播平台为辅助教学平台。线上授课直播过程中,学生经常会抱怨线上直播音视频卡顿,播放视频分辨率低,直播时延大,直播音视频不同步等几类线上直播播放质量问题,这些线上直播播放质量问题直接影响线上授课质量。本文通过分析网络直播工作原理与线上直播平台架构分析决定网络直播音视频稳定性及播放视频分辨率等播放质量指标的关键因素及改善方法。

2 网络直播工作原理与线上直播平台架构

网络音视频直播流程可以分为如下几个步骤:音视频采集→处理→编码和封装→推流到边缘流媒体服务器→流媒体分发(CDN)→播放器流播放。

2.1 音视频采集

音视频采集是整个网络音视频直播过程的第一个环节,它从网络直播源获取原始音视频数据,将其输出到网络直播过程的下一个环节。音视频的采集涉及两类数据的采集:音频采集和图像采集,它们分别对应两种完全不同的输入源和数据格式。

音频数据采集过程主要是通过音频采集设备将环境中的模拟信号采集成 PCM 编码的原始数据。音频采集的采集源主要有microphone 阵列,系统音频,以及其他设备音频源。图像的采集过程主要由摄像头等设备拍摄成YUV 编码的原始数据。视频采集的采集源主要有摄像头采集,屏幕视频,及其他设备视频源。

2.2 处理

音视频完成采集之后得到原始数据。根据用户设置,在处理阶段对原始音视频数据做相应处理,比如,音频增加混音,降噪,声音特效等处理;视频增加时间戳,水印,滤镜等处理。

2.3 编码和封装

经过处理的音视频原始数据,数据量非常大,一个时长10 秒钟的1080p 视频,可达到1.1Gigabyte。受网络带宽限制,一般网络直播平台难以满足音视频原始数据直播传输的即时性要求。因此,音视频数据必须要进行编码处理。对流媒体传输来说,编码环节非常重要,它的编码性能、编码速度和编码压缩比会直接影响整个流媒体传输的质量和传输成本。

常见的音频压缩格式有,MP3,AAC,HE-AAC,Opus,FLAC,Vorbis(Ogg),Speex 和AMR 等。音频采集和编码面临的主要技术挑战在于:时延敏感、卡顿敏感、噪声消除(Denoise)、回声消除(AEC)、静音检测(VAD)和各种混音算法等。

目前常用的视频编码标准有ITU-T 和ISO 发布的H.264 视频压缩标准。经过H.264 编码后的数据量可减少到原始数据量的百分之一。Google 和Cisco 开发的VP9 等编码标准可以达到比H.264 更高的编码压缩比。

常见的视频封装格式有,MP4,3GP,AVI,MKV,WMV,MPG,VOB,FLV,SWF,MOV,RMVB 和WebM 等。图像由于其直观感受最强并且数据量较大,构成了一个视频内容的主要部分。图像采集和编码面临的主要挑战在于:设备兼容性差、时延敏感、卡顿敏感等。

2.4 推流到流媒体服务器

从直播端推流到流媒体服务器,目前推送协议主要有三种:Real Networks 和Netscape 公司提出的RTSP(Real Time Streaming Protocol),Adobe 公司提出的RTMP(Real Time Messaging Protocol),Apple 公司提出的HLS(HTTP Live Streaming)。目前主流的流媒体传输协议是RTMP及其变种RTMPT/RTMPS/RTMPE 等协议。推流到边缘流媒体服务器后,流媒体再被复制分发到内容分发服务器系统(CDN)以及存储服务器。

2.5 内容分发服务器(CDN)

内容分发服务器(CDN)的作用是负责直播流的发布和转播分发功能。

2.6 播放器流播放

实现PC 端或移动端的RTMP 或HLS 流媒体拉流,解码,在播放器展现。

目前市面上集视频采集、编码、封装和推流于一体的SDK 很多,有商业版SDK,也有开源的SDK,比如著名的OBS (Open Broadcaster Software)软件。使用OBS 配置好一个支持RTMP 或HLS 的边缘流媒体服务器URL 就可以搭建一个简单的网络直播系统。基于前述网络直播工作原理的视频网络直播平台架构如图1 所示。

图1 视频网络直播平台架构

线上授课直播平台因为有直播端与播放端的实时互动要求一般设计成双向网络直播系统,辅以文字消息通道等功能增加实时互动效果,整体平台架构仍然如图1 所示。

3 决定线上授课直播平台播放质量的主要因素分析

通过分析前述网络直播工作原理,我们可以看到网络直播是一个环节较多的过程。决定线上授课直播平台播放质量的主要因素包括,直播端的受硬件限制的流媒体处理性能和网络带宽,边缘流媒体服务器的性能和网络带宽,CDN 性能,播放端的网络带宽和受硬件限制的流媒体处理性能。

3.1 直播音视频卡顿

1)推流端。推流端的网络带宽及稳定性,上行带宽不足或网络抖动导致的数据发送速率下降,无法达到流畅播放的帧率要求。推流端的计算性能,编码端设置码率帧率以及编码档位过高,由于硬件条件限制导致编码速度变慢,无法达到流畅播放的帧率要求。

2)CDN。对于RTMP/FLV 协议,服务端默认缓存4s 左右的数据,根据GOP(Group Of Pictures)即关键帧间隔大小不同会有波动,可以通过设置该缓存时间来减少卡顿影响。对于HLS协议,HLS(m3u8)是基于小文件的TS 分片的流媒体协议,每个分片都有5s 以上的时长(标准默认是10s),分片数量一般为3-4 个,可以通过增大m3u8 分片数量来减少卡顿影响。

3)播放端。大部分播放器都有接收缓存的,缓存收满后,才进行解码显示,这部分接收缓存的大小也会影响播放的卡顿情况,可以通过增大接收缓存减少卡顿影响。

3.2 直播时延

1)推流端。编码缓存过大,推流SDK 采用增大编码缓存来解决上行带宽不足导致的卡顿问题。编码端设置码率帧率以及编码档位过高,由于硬件条件限制导致编码延迟。减小编码缓存,降低码率帧率,可以降低直播时延。对于移动端推流,iOS建议使用硬编码,因为硬编码效率高而且省电;而Android 建议您用软编码。

2)CDN。RTMP/FLV 协议的GOP 设置较大。HLS(m3u8)的m3u8 设置较大。减小GOP,m3u8,可以降低直播时延。

3)播放端。播放SDK 不支持快进策略,大部分播放器都是在接收缓存收满后,才进行解码显示,这部分接收缓存的大小也会导致延迟。设置播放SDK 支持快进策略,收到大于接收缓存的数据进行丢帧快进,可降低直播时延。

4)直播视频分辨率低。直播视频分辨率是由推流SDK 决定的。直播视频分辨率并不能随意设置,推流SDK 一般有一个适中的默认直播分辨率。过高的直播分辨率,不仅使推流端的受硬件限制的编码速度,网络带宽无法支持,会使CDN 分发传输成本高,也会使播放端的受硬件限制的解码速率,网络带宽难以支持。

通过以上分析可以看到,直播音视频卡顿与直播时延有逆相关关系,需要在直播播放质量与控制直播时延之间找到平衡点。

3.3 直播音视频不同步

直播的流程是用户将视频主动推流到边缘流媒体服务器进行直播,出现直播音视频不同步的情况,是因为在推流,CDN 分发,拉流播放过程中某些环节出现音频的时间戳和视频的时间戳不一致的情况。可以通过重新启动推流或重新启动播放器解决。

4 结语

增大缓存可以改善线上直播音视频播放质量,但增大缓存也同时增大了传输时延,影响了线上授课要求的实时互动效果,需要在线上直播音视频播放质量与控制时延之间找到平衡点。参加线上直播授课的师生了解了网络直播工作原理与线上授课直播平台架构,了解了决定线上授课直播平台播放质量的关键因素,教师可以更好地利用现有线上授课直播平台提高线上直播授课效果;学生可以以更好的心态接受互联网数据传输质量的固有的不稳定性,以及音视频直播播放质量受推流端硬件性能,网络带宽,CDN 分发,播放端网络带宽,硬件性能等客观因素制约的事实,可以减少学生的焦虑和抱怨,使学生更专注于授课内容本身提高学习效果与效率。

猜你喜欢
网络带宽卡顿音视频
3KB深圳市一禾音视频科技有限公司
最忠实的守墓犬
WIFI音视频信号传输的关键问题探究
最忠实的守墓犬
高速公路整合移动音视频系统应用
Roland专业音视频新技术研讨会在上海召开