杨萃洁
(广西生态工程职业技术学院,广西柳州,545004)
在网络技术迅速发展的现在,移动互联网已经成为信息采集、共享、处理和传播的主要平台。在移动终端设备的硬件性能逐步升级的当下,人们已经将自身的工作、生活和学习融入移动互联网。以短视频为表现形式的教学视频资源——微课便是基于这样一种生活模式和生活需求而诞生的。微课的出现满足了快节奏生活下的碎片化知识资源需求,让网络用户可以随时随地进行碎片化的学习。但是,由于其基础为无线通信技术,微课的服务质量和使用情况将受流媒体的流量影响,如果网络带宽不佳,终端就会发生频繁的画面卡顿和数据缓冲,对用户的移动学习过程造成阻碍。因此,要给学习者提供最佳的用户体验,就需要构建终端动态码流自适应的微课支持系统,通过对码率等级自动化调整,减少卡顿、缓冲的发生。
微课是一种将教学信息碎片化、密集化呈现的授课方式,而自适应移动流媒体,则是流媒体类型的一种。首先,流媒体的实质是一种流式数据包,它的特点是能够在网络环境中同时实现数据信息下载和数据信息播放两种功能。这使得流媒体的便捷性要远远超过其他的媒体类型,也因为如此,流媒体是当前主要的微课载体。早期的流媒体技术以RTSP/RTP为代表,不过,因为移动智能终端的自身特性,RTSP流媒体没法满足跨防火墙的服务需求和CDN应用需要。因此,为适应其动态信息的传递需求,又诞生了HTTP无连接技术。该技术协议可以有效满足CDN应用,实现原RTSP技术没法实现的功能。不过,因为HTTP是渐进式下载,在隐私保护上功能欠佳,同时也不具备直播能力,所以,在HTTP无连接技术的基础上,又诞生了HTTP自适应流媒体技术。该技术同时结合了RTSP流媒体技术和HTTP无连接技术两种技术的优势,拥有码率自调节能力,它会甄别使用者的终端网络状况,然后选择能够符合其网络带宽情况的码率等级,保证用户在观看视频时的畅通无阻。因此,在微课制作中,HTTP自适应流媒体技术已经成为主要的开发应用技术。[1]
该技术方案的推出者是苹果公司,它的原理是以HTTP为载体,在此基础上为移动终端提供直播和点播功能。HLS技术的服务器是Web,具有出色的数据备份、处理能力,因此,在使用过程中可以较好地为使用者提供方便快捷的数据传输、存储能力,在时间戳和数据恢复能力上也十分出色。以Web服务器为基础,因该服务器已经具有了兼容现有网络设施的能力,在运行时该服务器会穿越防火墙和路由器,并应用CDN,因此HLS技术不需要再构建额外的流媒体服务器。这让HLS技术的可靠性和部署简洁性要远高于其他的流媒体系统。
一般来说,HLS流媒体系统的组件可分成Server、Distribution和Client三个部分。其中,Server端组件负责HLS流媒体系统的分段与封装,当用户在观看视频时,Server端组件就会把文件进行转码分段,使其成为适合在客户端传输的小片段;Distribution组件则负责HLS流媒体系统的传输功能,它是三个架构中和Web服务器关联最密切的一部分,其功能依托Web服务器展开,在遵守HTTP协议的原则上向移动客户端由Server端组件完成转码和分段后的文件,譬如索引文件、短视频、相关教育资源等;Client组件则负责完成移动客户端的流媒体请求,它会在接收到Distribution组件所传递的数据后将其进行重组、播放预处理,以此保障微课内容的正常播放。[2]
使用HLS流媒体系统制作微课的优势是显而易见的。当前的移动终端用户体验不仅包括授课内容、价值成分、情感体验,也包括微课的直接呈现方式和效果。从逻辑上看,微课的顺利播放将会直接影响用户对微课的直观感受,也就是情感体验。这说明微课的呈现方式与效果会决定微课的好与坏。传统的流媒体技术没法根据移动终端确定合适的数据码流,不仅容易出现视频卡顿的问题,还有很高的概率造成传输差错、数据包丢失,致使媒体文件的画面出现不连贯、帧数缺失的情况,导致用户没法享受到完整的学习体验。
特别是当下,我国的网络用户数量激增,通过微课完成学习任务的群体数量也越来越多,在这种情况下无线网络陷入了码流增长、链路不稳定的困扰中。而HLS流媒体系统则可以根据网络带宽的变化及运行管理平台的基本情况对码率进行动态化调整,实现对多种码流的切换与支持,确保生成不同等级的独立码流文件,以此为使用不同网络带宽的用户提供最佳的服务体验。
HLS技术主要由微课采集服务器、多码流微课服务器和Web服务器这三个部分构成,它的所有内容都是依靠这三者生成和分发的。HLS技术的服务器采取B/S结构,这是一种基于C/S结构的升级系统,它基于Internet技术,通过WWW浏览器来实现数据处理,只有极少部分数据逻辑是在前端实现的。因此,HLS技术可以帮助客户端支持直播和点播功能。HLS技术在有了客户机和数据服务器两层体系结构的基础上,又增加了We服务器。也就是说,在B/S型结构中拥有两个服务器,一个是数据服务器,另一个是We服务器,其结构也呈现为接口、We服务器、数据服务器三层体系。其中,第一层体系是接口。接口是实现用户和系统连接的基础,也是实现数据双向沟通的必要组成部分。由于B/S型结构的目的是具备更快、更强、更精准的数据信息处理能力,因此B/S型结构的第一层体系与第二层体系保持紧密的关联。B/S型结构的第二层体系是Web服务器,它的运作原理是:当用户开始使用B/S型结构的相应程序对浏览器进行连接,执行上网、数据传输等操作时,B/S型结构的接口会发出服务请求,Web服务器在接收到这层请求信息之后,会对此进行相应的回复,同时通过HTML代码将对应信息反馈给使用者。用户在获得反馈信息后,便能完成对数据信息的获取和处理。此时,用户能够依靠B/S型结构的第三层体系,也就是数据服务器对数据进行提取和保存操作,实现信息处理的精准化、效率化。[3]
微课采集服务器则负责具体直播行为,它会通过将实时音视频输入编码器组件的方式以实现对音视频文件的编码,编码格式为H.264/AAC格式。完成编码之后的音视频便会成为支持点播功能的文件形式,之后会被存储并推送到多码流微课服务器中进行封装。
多码流微课服务器的作用则是通过封装使文件成为符合MPEG-2标准的TS流,在依靠流分割器组件对TS流进行分段。虽然经历了分段的TS流会成为独立的文件,但彼此之间还是保持着连续性。分段是实现动态码率调整的重要一步,这些经过分割的小片段会被Web服务器所储存。同时,原分割组件会创建一个索引文件,即用户经常看到的扩展名为.m3u8的文件。这个文件的作用是把已经分段的媒体文件片段在Web服务器中的位置进行记录,它会随小片段文件的增多而不断地更新自身。于是,当用户观看微课时,客户端发出数据请求,Web服务器向后台请求扩展名为.m3u8的索引文件。这些文件被返回客户端,客户端便可以根据文件所提供的路径引导,将储存于Web服务器中的TS片段流进行有序的下载,这样便实现了HLS技术的动态码率调节功能。
要实现微课移动流媒体系统,就必须对服务器端的微课流媒体系统加以重视。从HLS技术的架构及组件组成可以看出,其在线下载、动态调整码率和直播点播的功能都来自微课视频采集服务器端,而该服务器端在处理微课直播时是依靠DirectShow技术对视频进行采集。DirectShow是目前HLS技术中常用的流媒体处理开发包,对现在常用的Mp4、ASF、Mpeg、AVI等视频格式都能予以支持,通过DirectShow完成视频釆集后,才能对其进行编码,而文件的转码功能则由FFmpeg完成。FFmpeg是一种采用LGPLGPL许可协议的开源程序,这使得它同时包含了视频编解码库和libavcodec音频等功能。当进行微课播放时,依靠FFmpeg的轮循程序,就能完成音视频文件的编码和封包,并存储为.ts文件格式,之后依靠流分割器组件对TS流进行分割生成.m3u8的索引文件,再基于HTTP与服务器进行交互,通过向终端反馈网络带宽和系统资源状况,请求m3u8索引数据和m3u8索引指向的微课视频数据,服务器端便会响应自适应码流的微课视频,由播放器封装、解码呈现给用户,保障用户在观看视频的过程中不会出现缓冲和卡顿等问题。
在信息技术飞速发展的当下,用户对流媒体的视频服务要求也越来越高,HLS技术是在HTTP的基础上进行自适应流媒体传输的,对于移动网络的资源有限和带宽不稳定的问题可以智能地进行感知,并适时切换码流,为用户提供适合自己所在网络环境的最佳流式文件,从而为用户带去最好的用户体验。