H.264技术在移动学习中的作用

时间:2022-07-30 11:53:20

H.264技术在移动学习中的作用

一、H.264技术在移动学习平台中的应用

(一)移动学习平台的架构设计

本文设计的开放大学移动学习平台软件(手机微课堂)主要功能是使开放大学学员能够随时随地利用移动智能设备通过网络进行远程学习和交流。系统主要包括以下四部分:(1)通过有线或无线(Wi-Fi、3G、4G)网络连接到开放大学课程资料中心,浏览或下载学习资料;(2)在线课程学习系统,通过高清视频播放功能在线学习或在本地学习课件内容;(3)较丰富的在线交互功能;(4)后台管理系统,提供用户、权限、安全校验等管理功能。当前移动学习平台在设计构架上主要有B/S结构和C/S结构两种形式,B/S结构虽然具有适用性广和开发便捷的优势,但也具有交互性差、产生的数据流量大、操作繁琐等缺点,因此在设计移动学习平台时本研究采用了具有系统可扩展性强、数据流量小、操作简便灵活的C/S构架(如图2所示)。其中采用H.264编码技术录制的课程视频存放于H.264视频服务器上,移动学习终端通过网络获取视频数据流后,通过移动学习平台中的H.264解码器解析出视频数据,再用Android系统中提供的播放器播放视频课程。

(二)采用H.264视频编解码技术的移动学习平台的设计与开发

1.系统的设计系统采用C/S构架设计,服务器端通过php网站管理系统数据库,移动学习平台终端在Android系统下开发一个专用app应用软件,采用模块化设计方式,将系统分为三层:界面层、逻辑层和功能层,每个功能模块单独实现后再集成到移动学习平台系统中。在制作服务器端视频课程资源和开发客户端视频解码器时都采用了H.264视频编解码技术。虽然目前Android操作系统中未提供H.264接口,但可以通过对FFmpeg代码库中H.264编解码器的移植实现这一功能,由于FFmpeg开源代码库成熟度较高,代码的效率、适用性和稳定性都较好,因此移植后的系统也将具有较好的性能。该方案的优势在于:①采用H.264视频编解码技术提高视频解码效率,大大减少移动学习产生的数据量并提高视频画面效果,提升用户体验;②采用C/S构架保证平台的稳定性和可操作性,加强学习过程的交互性;③开发效率高并能保证平台的适用性。2.系统的开发平台开发流程如下:(1)建立Android开发平台Android开发平台由AndroidSDK模拟平台、eclipse插件、JAVAJDK工具和ADT插件组成,均可在Google公司的官方网站上免费下载,安装好这些工具就搭建好了Android开发平台[5][6][7][8]。由于Android应用需要在PC机上开发,在手机上运行,即开发环境与运行环境不同,所以还需要创建一个AVD虚拟机来仿真硬件运行环境。(2)H.264解码器编译移植Android系统中未集成H.264解码器,因此需要先将其他系统中的解码库进行移植并在Android系统中进行封装,然后再用Java调用实现解码。H.264解码可以分为前端码流处理、H.264解码和后端视频显示这三个功能模块[9][10][11]。前端码流处理模块主要完成数据读取任务,在Java层实现,利用java.io.FileInputStream类从码流中分割出NAL,交给底层的C语言实现实时解码。H.264解码模块是整个解码过程的核心,需要通过本地C语言实现和解码库对码流数据进行处理,完成H.264解码实现图像重建。该模块通过移植FFmpeg解码库来实现解码。后端视频显示模块接收H.264解码模块解码后的视频数据,并在Android客户端进行显示。该模块也需要在Android的Java应用层实现。视频数据的处理在底层解码器中完成。解码的过程如下:首先打开解码器并为解码帧分配内存,然后从码流中不停地提取帧数据,针对视频帧调用解码器,最后解码完成后释放解码器。(3)课程播放模块的开发在移植了H.264解码器后,通过Android系统提供的MediaPlayer类播放解码后的video视频课程数据。视频课程可在线进行播放也可下载到本地再进行播放。由于网速的限制可能导致在线播放视频课程时速度较慢,建议先将视频文件下载到本地SD卡中,解码后利用MediaPlayer播放器在客户端播放。下载课程视频文件时系统采取了多线程和断点续传方式,下载过程中把下载信息不断存入本地数据库中,提高下载效率[12][13][14][15][16]。下载结束后删除下载的临时信息并将课程视频文件的存放信息保存到本地数据库中,以便后期维护。

(三)各信息交互功能模块的设计

系统中的在线交互功能包括在线答疑、在线测试、在线提问、公告新闻浏览、成绩查询等。该模块功能比较分散,需要单独实现和分别调用。在设计系统交换功能时大量使用JSON来完成移动终端和远程数据库的信息交互。系统运行时会启动一个后台服务线程连接远程服务器,读取最新数据以更新本地数据库,仅读取本地数据库中的内容用以初始化系统界面,采用异步初始化界面使系统运行更加流畅。

二、移动学习平台的应用

在无线网络覆盖的环境下对整个系统进行了测试,服务器端为学校网站,客户端为基于Android的智能手机,采用黑盒测试法反复进行,结果表明整个系统运行稳定,访问视频课程速度较快,课程图像清晰度及平台操作便利性等均达到预期效果。2013年9月2日至2013年9月27日间,辽宁装备制造职业技术学院信息工程系的96名在校生和3位教师参加了基于Android和H.264技术的移动学习平台的应用体验,整个实验期间,实验参与者下载平台软件并安装到Android智能手机上,再使用学习平台对移动学习服务器上的部分微课程进行了学习。实验结束后以问卷形式移动学习平台的应用进行了满意度调查,结果如表1所示。由表1可见,大部分实验参与者对该移动学习平台较为满意。在操作的便利性、可靠性、界面风格、响应速度和实用性上都得到了较高的认可。为了便于广大学员接受,移动学习平台手机微课堂采用了类似于微信的滑动窗口风格(如图3所示)。

三、结束语

本文基于Android设计的移动学习平台使用了一种轻量级的H.264解码方式,可在使用Android操作系统的智能手机和平板电脑上使用,学习者可以随时随地利用智能终端设备进行学习,能够方便地使用高校公开课资源,具有课程选择、课程下载、在线答疑和在线测试等功能。该平台软件的实现部分已经在国家版权局登记注册,其模型具有良好的经济性和可操作性,使公众更好地利用高校教学资源提供了一种移动解决方案。但是,本研究还很不完善,需要在今后不断改进,尤其在实践应用环节,实验参与者较少,范围较集中。然而,移动学习的出现弥补了远程教育在实现终身教育手段上的局限性,越来越普及。希望本研究能够起到抛砖引玉的作用。

作者:宋巍

上一篇:包装技术基础的改革研讨 下一篇:高校就业指导工作之思考