APP下载

面向Android 的微课视频点播平台的设计与开发

2015-07-13苏国庆张辉李媛媛

电脑知识与技术 2015年13期
关键词:微课

苏国庆 张辉 李媛媛

摘要:随着移动网络的普及和教育信息化的不断发展,面向移动终端的微课视频平台开发成为研究的热点。针对微课平台视频点播的实际需求,用Servlet、JDBC、MSSQL完成服务端开发,用CoverFlow开源组件实现了客户端视频展示,采用H.264视频编码、解码技术及JSON数据解析实现远程影音的播放、下载、收藏与跳转等功能。为大容量的移动视频数据传输提供一个较理想的解决方案。

关键词:微课;JSON数据;Andriod;视频编码

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)13-0197-02

Abstract: With the continuous development of mobile network popularization and education information and mobile terminal micro lesson video platform design and development has become a research hotspot. For micro class platform video on demand of the actual demand, servlet, JDBC, SQL Server development, using coverflow open source components to achieve the client video display, to realize the remote video playback, download, collection and jump function based on H.264 video coding, decoding technique, and the JSON data analytical.Provides an ideal solution for mobile video data transmission of large capacity.

Key words:Micro class;JSON data;Andriod;video coding

随着智能移动终端的日益普及,移动学习突破了传统的教学模式。教务管理人员、教师和学生之间实现了更为灵活的交互式教学活动,这为大规模普及多媒体教学提供了一个良好的发展环境。因此,面向智能移动终端,特别是针对学校微课教学开发适用的视频点播平台有着广阔发展前景和实用价值。

1 Andriod系统

Android是以Linux为核心的手机操作平台,作为一款开放式的操作系统,允许开发者使用多种编程语言来开发 Android应用程序。整体架构分为应用程序层、应用程序框架层、系统运行库层和linux核心层。另外,包括一些核心应用程序,如电话、短信、音乐、视频、日历、地图、照相机、浏览器、图库等。Android的多媒体部分框架涉及应用程序、Java框架层、C语言框架、硬件抽象层等环节,提供标准多媒体API供上层相关应用程序调用。

2 关键技术

2.1 JSON数据解析转换原理

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。JSON采用兼容性很高的文本格式。JSON的数据格式非常简单,可以用JSON传输一个简单的String、Number、Boolean,也可以传输一个数组或者复杂的Object对象。服务器处理的JSON数据最终都会转化成简单的JavaScript对象,也就是可以简便阅读JSON对象转化成的字符串。

2.2 Andriod环境下视频编码解码技术

H.264 是MPEG-4标准定义的最新视频编码格式,是一种高性能的视频编码技术,同时也是技术含量最高、代表最新技术水平的视频编码格式。在继承以往成熟的编码技术的基础上,具有更高的编码效率,增加差错恢复能力,网络适应能力更强。H.264分为视频编码层和网络提取层两个层次结构。H.264在无线传输中的架构如图1所示:

在视频编码结束之后,需要将编码好的视频数据解码得到编码之前的视频数据,以下是官方标准的H.264解码器如图2所示:

视频解码过程是在初始化过程结束后对色度系数进行判断,得到NC计算公式,根据NC的值选择表格。H.264视频编码算法的解码过程如图3所示:

借助流媒体技术和网络通信技术,通过编码、发布和播放等步骤来实现视频播放。系统由视频发布处理、视频播放等模块组合而成,视频发布处理模块接收到视频流之后,将视频流发布到流媒体服务器,由流媒体服务器向用户终端提供视频播放服务。视频播放模块位于用户终端,流媒体服务协议与服务器端的视频发布处理模块交互,播放源从而可以选择合适的媒体源进行播放。

3 系统的设计与实现

3.1数据库的分析

系统选择的数据库是轻型的嵌入式SQLite数据库,是遵守ACID的关系型数据库管理系统,占用的资源非常低,在嵌入式设备中,所需内存更是微乎其微。重点是它能够支持windows / Linux/ Unix等主流的操作系统,同时能够跟很多 程序语言如C#、PHP、Java等相结合。

3.2 视频播放模块

视频播放模块涉及到类:Video.java、IVideo.java、VideoService.java、VideoManager. java、VideoServlet.java。

各类的具体使用情况如下:

Video.java:此类中主要包含用户点击观看的视频所包含的的视频具体信息。

IVideo.java:此类是视频的接口层,对数据库实现增删改查。

VideoService.java:此类是实现用户对视频所需要的服务。

VideoManager.Java:此类是实现对视频所需的功能实施具体操作。

VideoServlet.java:此类是获取视频信息,即得到视频的属性。

3.3 评论模块

用户评论模块的涉及的类:Comment.java、IComment.java、CommentService.java、CommentManager.java、CommentServlet.java。

各类的具体使用情况如下:

Comment.java:此类中主要包含用户点击观看视频后所评论的内容。

IComment.java:此类是用户评论的接口层,对数据库实现增删改查。

CommentService.java:此类是实现用户对视频进行评论所需要的服务。

CommentManager.java:此类是对用户看完视频进行评论所需的功能实施操作。

CommentServlet.java:此类是获取用户评论的信息,即得到评论的内容。

3.4 客户端模块设计

视频播放当中主要包括最新上架、热门推荐、上次观看、影视中心、最新视频等,如最新视频中包括同步剧场、影院热映、限时区以及最新电影四大部分,点击可以找到自己想要看到的视频,列表当中的视频可以进行更新,利用适配器将基本的数据显示到ListView,通过handler来更新主界面,选中position的图片,然后调用OnItemSelectedListener监听改变图像,如图4及图5所示:

涉及到的类:MyVideoActivity.java、VideoManager.java、IVideo.java、VideoService.java、Video.java。

各类的具体使用情况如下:

MyVideoActivity.java:此类实现视频的播放、暂停、继续、停止以及对播放列表进行更新和对想要的视频文件进行搜索

VideoManager.Java:此类是从网络端及本地得到视频及视频相关属性

IVideo.java:此类是实现从服务器端获得所有视频集合

VideoService.java:此类是实现用户对视频所需要的服务

Video.java:此类中主要包含用户点击观看的视频所包含的的视频具体信息

3.5 用户评论模块

用户看完视频可以发表对影片的观后感,其中会包括用户发表的时间日期以及具体内容。

涉及到的类:CommentActivity.java、Comment.Manager,IComment.java,CommentService. java。

各类的具体使用情况如下:

CommentActivity.java:此类是刷新用户评论列表内容

CommentManager.java:此类是对用户看完视频进行评论所需的功能实施操作

IComment.java:此类是用户评论的接口层,可以通过主键id得到特定视频的评价

CommentService.java:此类是实现用户对视频进行评论所需要的服务

4 结束语

传统的网络视频播放器功能单一,采用本文所述方案不仅能实现微课视频的快速下载以及在线流畅播放,还可以对网络微课视频的管理和对相关教学资源的分类,辅助在线答疑、内容库的浏览和查询等功能,基本满足微课教学平台的实时性、交互性需求,为开发同类的网络视频教学平台及相关应用提供参考。

参考文献:

[1] 李杨, 冯刚, 李亮, 等. 基于Android的多媒体应用开发与研究[J]. 计算机与现代化, 2011(4).

[2] 郭宏志. Android应用开发详解[M]. 北京: 电子工业出版社, 2010: 1-67.

[3] Ed Burnette.Hello, Android: Introducing Google's Mobile DevelopmentPlatform[M]. Pragmatic Bookshelf, 2010.

[4] Robi Sen. Unlocking Android: A Developer's Guide[M]. Manning Publications, 2009.

[5] Badrinath B R,Phatak S . Database server organization for handling mobile clients[R]. Technical Report DCS-342, Rutgers University, 1997.

[6] ITU-T. ITU-T Recommendation H.264, Advanced video Coding for Generic Audiovisual Services[Z]. 2005: 5.

[7] 吴伟. 基于JSON的信息系统数据采集机制设计[J]. 电脑知识与技术, 2011(11).

[8] 焦文华. 基于Android的移动互联网应用的研究和实现[D]. 北京: 北京邮电大学, 2013.

猜你喜欢

微课
微课在幼儿教育中的应用
微课在高中生物教学中的应用
微课在初中历史教学中的应用
微课,让高中数学学习活动真正发生
微课,清朗夜空中的一颗星
“微课”在教学实践中的应用感悟
基于EduSoho的微课平台搭建与应用
高中地理微课教学探索
微课在九年级数学复习中的有效应用
“微课”再解:回归应用价值的认知