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

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
H.264技术在移动学习中的作用

H.264技术在移动学习中的作用 宋巍 一、H.264技术在移动学习平台中的应用 (一)移动学习平台的架构设计 本文设计的开放大学移动学习平台软件(手机微课堂)主要功能是使开放大学学员能够随时随地利用移动智能设备通过网络进行远程学习和交流。系统主要包括以下四部分:(1)通过有线或无线(Wi-Fi、3G、4G)网络连接到开放大学课程资料中心,浏览或下载学习资料;(2)在线课程学习系统,通过高清视频播放功能在线学习或在本地学习课件内容;(3)较丰富的在线交互功能;(4)后台 HYPERLINK /qikan/shxzx/glx/ 管理系统,提供用户、权限、安全校验等管理功能。当前移动学习平台在设计构架上主要有B/S结构和C/S结构两种形式,B/S结构虽然具有适用性广和开发便捷的优势,但也具有交互性差、产生的数据流量大、操作繁琐等缺点,因此在设计移动学习平台时本研究采用了具有系统可扩展性强、数据流量小、操作简便灵活的C/S构架(如图2所示)。其中采用H.264编码技术录制的课程视频存放于H.264视频服务器上,移动学习终端通过网络获取视频数据流后,通过移动学习平台中的H.264解码器解析出视频数据,再用Android系统中提供的播放器播放视频课程。 (二)采用H.264视频编解码技术的移动学习平台的设计与开发 1.系统的设计系统采用C/S构架设计,服务器端通过php网站管理系统数据库,移动学习平台终端在Android系统下开发一个专用app应用软件,采用模块化设计方式,将系统分为三层:界面层、 HYPERLINK /lunwen/zxsh/ljzx/ 逻辑层和功能层,每个功能模块单独实现后再集成到移动学习平台系统中。在制作服务器端视频课程资源和开发客户端视频解码器时都采用了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机上开发,在手机上运行,即开发 HYPERLINK /lunwen/zrkx/hjbhlw/ 环境与运行环境不同,所以还需要创建一个AVD虚拟机来仿真硬件运行环境。(2)H.264解码器编译移植Android系统中未集成H.264解码器,因此需要先将其他系统中的解码库进行移植并在Android系统中进行封装,然后再用Java调用实现解码。H.264解码可以分为前端码流处理、H.264解码和后端视频显示这三个功能模块[9][10][11]。前端码流处理模块主要完成数据读取任务,在Java层实现,利用java.io.FileInputStream类从码流中分割出NAL,交给底层的C HYPERLINK /qikan/whls/yyx/ 语言实现实时解码。H.264解码模块是整个解码过程的核心,需要通过本地C语言实现和解码库对码流数据进行处理,完成H.264解码实现图像重建。该模块通过移植FFmpeg解码库来实现解码。后端视频显示模块接收H.264解码模块解码后的视频数据,并在Android客户端进行显示。该模块也需要在Android的Java应用层实现。视频数据的处理在底层解码器中完成。解码的过程如下:首先打开解码器并为解码帧分配内存,然后从码流中不停地提取帧数据,针对视频帧调用解码器,最后解码完成后释放解码器。(3)课程播放模块的开发在移植了H.264解码器后,通过Android系统提供的MediaPlayer类播放解码后的video视频课程数据。视频课程可在线进行播放也可下载到本地再进行播放。由于网速的限制可能导致在线播放视频课程时速度较慢,建议先将视频文件下载到本地SD卡中,解码后利用MediaPlayer播放器在客户端播放。下载课程视频文件时系统采取了多线程和断点续传方式,下载过程中把下载 HYPERLINK /lunwen/jjkx/xxkxlw/ 信息不断存入本地数据库中,提高下载效率[12][13][14][15][16]。下载结束后删除下载的临时信息并将课程视

文档评论(0)

tangtianbao1 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档