基于DASH的英语自主学习流媒体移动点播系统设计
2020-12-25满志慧
满志慧
(渤海大学 大学外语教研部, 辽宁 锦州 121013)
0 引言
流媒体是将媒体数据以特定的格式封装为数据包后,以流的方式在网络中分段传输的一种技术。随着信息技术发展,媒体信息资源不断丰富,音频和视频应用越来越广泛,流媒体技术也就应运而生,将网络技术与音视频技术有机结合[1]。流媒体技术的关键是流式传输,客户端与服务器建立连接,客户端不必等待全部文件内容接收完毕后再进行播放,而是采用边接收边播放的方式,具有较强的实时性的交互性。流式传输主要有两种实现方式,一是渐进式,按照顺序下载,也称为HTTP流式传输,不支持实时性要求较高的互动直播场景;二是实时式,允许用户对传输的媒体进行控制,需要构建特定的流式服务器,支持实时性要求较高的现场直播,比较成熟的协议包括RTST和MMS。渐进式存在延迟,实时式部署复杂,为了解决这些矛盾,目前又出现了自适应式流式传输。DASH(Dynamic Adaptive Streaming over HTTP),基于HTTP自适应流式传输方案,可应对复杂多变的网络环境与接收条件,很好地吸收了渐进式和实时式的优点,又解决了各自存在的问题。
传统英语学习重复播放和重复听说的模式,难以调动学生的积极性。大学英语的教学目标是培养英语综合应用能力,增强自主学习能力。新的教学模式以及现代教育技术支撑,鼓励英语学习朝着个性化方向发展,为自主学习创造了条件。基于视频点播的英语学习系统,将文字、视频和音频等资源分布在云存储系统中,学生使用移动终端,自己安排时间、地点和学习进度,在多种感官的刺激下进行英语学习,提高了学习效率和兴趣[2]。为了方便学生开展英语自主学习,本文基于最新的自适应流式传输技术设计点播系统,为系统开发提供完整的解决方案。
1 DASH框架基本结构
自适应流式传输技术包括Microsoft的SS技术、Apple公司的HLS技术、Adobe公司的HDS技术和MPEG组织的DASH标准。前三种技术由各自公司独立开发完成,媒体封装格式各不相同,不利于推广和发展。DASH是HTTP自适应流媒体技术领域的通用国际标准,没有规定编解码器类型,可以包含任何类型的媒体数据,客户端根据资源自适应地选择媒体内容下载,具有兼容性好、部署便捷和拓展性强等优点。框架基本结构,如图1所示。
图1 DASH框架基本结构
对于图1所示的DASH框架基本结构,由HTTP服务器和DASH客户端两部分构成。HTTP服务器存储两种内容,一种是切片文件,即音视频文件被分为多个切片,按切片播放,欲播放某段内容时快速定位到对应的切片;另一种是索引文件,即媒体呈现描述MPD文件,以XML格式保存多媒体文件信息。客户端由客户端控制模块、MPD解析模块、切片解析模块、媒体播放器和HTTP模块等构成,其中,MPD解析模块用于解析服务器传送来的MPD文件,切片解析模块是把切片转换成计算机可读的数据结构,HTTP模块用于建立DASH客户端与HTTP服务器之间的TCP连接并发送播放器请求[3]。DASH客户端对收到的MPD文件解析后,对网络环境和缓存情况进行评估,动态调整合适码率的视频切片,并将请求发送给HTTP服务器,这个过程就是自适应机制,确保音视频播放流畅[4]。
2 网络拓扑结构设计
网络拓扑结构表明了网络之间设备的分布情况以及连接状态,本系统的网络拓扑结构由媒体资源服务器、内容分发服务器、网络控制器、Web服务器、网络设备、传输媒介和用户终端等部分构成,如图2所示。
对于各组成部分功能简要说明如下:一是媒体资源服务器,用于存储媒体资源并进行相应管理,存储采用磁盘阵列方式保证数据的安全性和访问速度,管理功能包括资源管理模块、分割模块和编码模块;二是内容分发服务器,接受客户端的请求,用于处理HTTP2.0协议中的业务逻辑,将被请求码率的媒体文件发送给客户端,并针对推送自适应优化方案[5];三是网络控制器,用于分发服务器和Web服务器之间的流量控制,改变数据包发送的速率和优先级,用于解决数据超载问题;四是Web服务器,向浏览器等Web客户端提供文档,本系统使用Apache HTTP服务器[6];五是网络设备,包括交换机、路由器和防火墙等;六是传输媒介,服务器和网络设备等集中在较小区域,光纤或双绞线。固定终端使用互联网,移动终端使用4G/5G;七是用户终端,包括Windows的固定终端和移动终端,以及Android和iOS等智能终端。
图2 网络拓扑结构
3 系统功能结构设计
本系统包括教师、学生和管理员三类用户,参照文献[7-9],按照这三类用户设计的系统功能结构,如图3所示。
图3 系统功能结构
管理端是为系统管理员用户提供的功能,通过系统维护保证系统正常运行。除了常规的系统维护功能外,还提供配置管理功能,用于对软件版本进行维护,使软件变化过程清晰可见,实现对软件维护的精准化管理[10]。
教师端是为教师用户提供的功能,教师端的功能较多,除了常规的教学管理外,还包括资源管理和学情分析,以及学生端英语学习功能,图中只给出了部分核心功能。资源制作可使用本系统的功能,也可以使用第三方软件。
学生端是为学生用户进行英语自主学习提供的功能,也是本系统的核心功能。功能设计充分考虑了英语学习的特点,有利于发挥学生的自主性,提高学习过程的娱乐性,并辅助完成学习过程中的相关工作。因此,将整个功能划分为专项学习点播、娱乐学习点播和辅助学习三部分。其中,专项学习点播,针对英语学习词汇和语法是基础,培养“听、说、读、写、译”等综合能力的特点,将这些类别的资源分别组织;娱乐学习点播,通常的英语学习枯燥无味,多媒体的特点之一就是娱乐性强,提供英语歌曲、短剧、电影、故事和小说等娱乐性强的资源供学生点播;辅助学习,提供点播之外的相关功能,最重要的是资源下载,学生可以将需要反复学习的英语资源下载到智能终端,便于在没有网络信号的地方自主学习。
4 播放交互过程设计
音视频播放模块是本系统的核心程序,由以控制模块为核心的多个模块构成。播放交互过程[11],如图4所示。
图4 播放交互过程
对于图4所示的播放交互过程,控制模块作为桥梁,负责各模块之间的信息传递,各个步骤简要说明如下:(1)客户端查询到资源后播放器向控制模块请求播放;(2)控制模块向网络模块请求MPD文件;(3)网络模块各控制模块返回MPD文件;(4)控制模块向播放器返回MPD文件获取成功信息;(5)控制模块请求MPD解析模块解析MPD文件;(6)MPD解析模块向控制模块返回MPD文件解析结果;(7)控制模块将MPD文件解析结果写入数据模型存储到缓存管理模块;(8)控制模块向自适应码率选择模块传入MPD文件解析结果;(9)控制模块向自适应码率选择模块传入码率决策;(10)自适应码率选择模块向控制模块转入要下载的码率;(11)控制模块向缓存管理模块确认是否已下载;(12)缓存管理模块向控制模块返回确认是否已下载的结果;(13)控制模块向网络模块无缓存请求视频分片;(14)网络模块向控制模块返回无缓存请求视频分片结果;(15)控制模块向自适应码率选择模块写入网络带宽数据;(16)控制模块调用缓存管理模块将视频数据存入缓存;(17)播放器向控制模块请求播放下一个视频分片;(18)控制模块调用缓存管理模块取下一个视频分片数据;(19)缓存管理模块向控制模块返回取下一个视频分片数据结果;(20)控制模块向播放器返回下一个视频分片数据。
5 总结
自主学习已成为外语教学与研究的热点,校园无线WIFI基本实现全覆盖,流媒体技术蓬勃发展,为移动点播英语自主学习提供了基础条件。本文遵循软件工程的思想和方法,基于DASH标准展开研究,完成了网络拓扑结构设计、系统功能结构设计和播放交互过程等工作,为系统开发奠定了基础。基于本文设计开发的系统,根据网络带宽和缓冲区大小进行码率切换,充分发挥了DASH的优点,支持更为广泛的媒体分片格式,支持分片时间的动态设置,提升了带宽利用率的点播学习体验,对学生的英语综合水平和自主学习能力提升将发挥重要作用。本系统开发完成后,学生使用智能手机在校园网WiFi环境和家庭网络WiFi环境分别进行了测试,资源查询速度快,视频播放基本流畅,偶尔发生卡顿现象,是由于手机配置过底或垃圾文件占用内存过大造成的。但是,由于网络场景的复杂性和多样性,本研究还存在泛化能力不足问题,这也为未来研究更强大的学习码率自适应算法指明了方向。