基于跨平台技术的流媒体点播系统设计与实现*

2015-06-04 06:37
现代教育技术 2015年4期
关键词:转码跨平台服务器

孙 恒

(山东大学 外国语学院,山东济南 250100)

引言

随着信息产业的迅猛发展,互联网规模的日益扩大,网络科技不断进步,基于互联网的各种新型应用也与人们的工作生活紧密连接在一起。2013年首届中国移动学习展在北京召开。移动学习成为继远程学习和数字化学习之后教育发展的新阶段。2015年初教育部下发的《2015年教育信息化工作要点》中就表明,坚持促进信息技术与教育教学深度融合的核心理念,以信息技术在教育教学中的深入普遍应用为导向,促进教育教学模式创新,引导资源共建共享,提高教育质量。由此可见,在线教育开始进入爆发期,移动学习作为在线教育的一种形式也迅猛发展。移动学习绝不是网络学习平台和课程的简单移植,而是更为符合移动状态下的学习需求,如微型化、便携化[1]。

通过挖掘现有的教学视频的使用价值,可以更好地为移动学习提供资源支持。由于移动终端使用平台的多样化和资源受限的特性给系统的设计和应用带来新的挑战,突出体现在移动学习资源设计和开发、界面设计等各个方面。本文详细阐述了基于跨平台技术的流媒体点播系统的设计实现过程。因为在设计中考虑到了跨平台的特性,所以系统既能用传统PC浏览器访问,同时也可以在移动平台上进行使用[2]。

一 基于跨平台技术的流媒体点播系统架构设计

针对跨平台移动学习的特点以及对资源的需求,给出基于跨平台技术的流媒体点播系统平台总体框架。因为面向学校所有用户提供 7*24小时在线流媒体服务,所以系统的稳定性和快速处理能力处于首要位置。我们采用J2EE架构,后台数据库采用MySQL进行系统开发。

1 技术架构设计

J2EE技术架构可以简化企业解决方案的开发、部署和管理相关的复杂问题。它包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性应用的需求。通过提供统一的开发平台,降低了开发多层应用的费用和复杂性,同时为现有应用程序集成提供强有力的支持,完全支持EJB,具有良好的向导支持打包和部署应用,可以添加目录支持、增强安全机制,提高系统性能[3][4]。

2 系统功能架构设计

基于跨平台技术的流媒体点播系统采用B/S架构、多层次多模块化设计,既是流媒体资源内容采集、存储、共享管理平台,实现资源管理等多项功能;又满足流媒体点播和流媒体直播等网络应用的需要,可以完善和提升校园网络直播点播、媒资管理、内容发布等应用功能和服务质量;同时也可以将各种类型的音视频媒体、文字、图表资料进行数字化存储和管理。

基于跨平台技术的流媒体点播系统利用服务器集群和高性能路由器进行软硬件相结合的负载平衡和分布式数据处理。使用该组合性能稳定可靠,是流媒体点播系统常用的解决方案。系统服务器物理架构如图1所示。用户使用多平台终端通过3G、4G或校园网进行访问,在通过防火墙过滤和用户身份认证后,就可以使用流媒体点播服务。系统根据服务器的软硬件配置不同,进行对应功能分配。高性能服务器提供调度和播出节目,响应用户点播请求等核心业务服务。服务器集群根据访问用户量的多少,自动平衡过大流量负载,以保证出现大量并发访问时,用户仍可正常访问系统。

数据服务器包括用户管理、资源管理及业务配置管理等模块。用户管理模块提供对注册用户的全面管理;资源管理模块提供对流媒体资源的管理,包括资源的信息查询等。系统资源服务器包括系统资源管理等其他模块实现对系统资源等信息内容的监控。媒体服务器向用户提供流媒体服务,其主要功能是对媒体内容进行收集、暂存和传输播放。媒体服务器的性能直接影响到流媒体点播应用系统的服务质量[5][6]。

3 系统媒体转码设计

由于点播系统同时支持跨平台多终端访问,因此,流媒体资源必须能同时兼容多种点播模式。我们使用了FLV流媒体播放格式,因为它的文件体积小、流媒体质量良好、加载速度快,在各种网络环境下都能流畅观看,并且具有保护版权的功能,非常适合网络应用,所以被众多流媒体分享网站广泛使用。

因为要保证流媒体在各种平台下都能够流畅的播放,所以转码是本系统设计开发中的重点。转码流程图如图2所示。系统管理员添加流媒体文件,系统对资源的大小及名称进行对比,防止数据重复录入。如果对比发现相同资源,则提示管理员进行流媒体观看进行确认,如果确认相同,则停止添加操作;如果没有相同资源,则自动录入系统。入库分类结束后,调用转码工具进行转码,转码时间长短由流媒体大小、码率以及服务器 CPU负载决定。转码完成后,自动生成内容页面并发布到网站;转码失败时,显示信息,提示出错原因[7][8]。

图1 系统服务器物理架构

图2 流媒体转码流程图

4 系统数据库设计

数据库采用MySQL作为数据平台,因为在Web应用方面MySQL是目前最流行的关系型数据库管理系统应用软件。MySQL关联数据库将数据保存在不同的表中,这样就增加了读取速度并提高了灵活性。由于MySQL体积小、速度快、总体拥有成本低,在很多Web应用网站的开发中都选择将其作为网站数据库[9]。整个数据库中最主要的表为用户表MediaUser,数据表MediaFilm。用户表MediaUser中,User_ID作为主键来对用户进行唯一性确定。其余字段作为补充条件对用户其他信息进行登记。数据表MediaFilm中,Film_ID作为主键,流媒体相关信息作为补充内容标示信息的唯一性。具体内容如表1、表2所示,仅列出主要字段内容,其他次要部分略。

表1 用户表MediaUser

表2 数据表MediaFilm

二 基于跨平台技术的流媒体点播系统实现

1 流媒体点播自适应系统实现

系统由于支持跨平台多终端访问,所以使用了屏幕显示自适应模式,根据访问端的状况自动调整流媒体点播系统在不同平台上的显示内容。从台式电脑端访问流媒体点播系统的界面如图3所示,从移动端平台访问流媒体点播系统的界面如图4所示。

图3 电脑端访问流媒体点播系统效果截图

图4 移动端访问流媒体点播系统效果截图

系统首页代码中使用 Javascript代码来进行访问终端类型判断,根据判断类型进入电脑端或者移动端对应的网页访问模型[10]。代码概要如下:

2 流媒体点播系统各功能实现

流媒体点播平台系统功能主要由以下几个模块构成。

(1)资源门户:通过系统将资源通过门户进行展示,进行下载和浏览点击进行统计排行。(2)离线转码:该模块采用任务编码方式,对上传的文件媒体格式进行自动转码。

(3)内容管理模块:系统以WEB方式对跨平台发布的内容进行统一管理,支持对节目的各种操作功能;可以对节目信息进行编辑;可以预览影片内容,并将画面截图作为海报。

(4)用户管理:系统具备完备的用户管理功能,按照用户类型进行管理,前台用户拥有节目的观看权限,后台用户则拥有系统的管理权限。可以设置用户组级别。可以对不同的分类设置观看等级,不同级别的用户可以看到的节目不同。

(5)服务器管理:对服务器进行全面的管理,包括查看和修改服务器信息、服务器运行状态监控等;监控服务支持实时监控每台服务器当前的负载情况和运行状态等。

3 流媒体点播系统转码功能实现

视频转码是将已经压缩编码的视频码流转换成另一个视频码流,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求。转码本质上是一个先解码,再编码的过程,因此转换前后的码流可能遵循相同的流媒体编码标准,也可能不遵循相同的流媒体编码标准。系统对视频重编码进行了全新优化,在服务器端通过调用转换工具实现流媒体格式转换[11]。关键处理代码接口类定义如下:

使用该定义类接口可以迅速的将各种流媒体文件转换成为FLV格式文件,在同等时间内可以完成更多的流媒体转换任务。

4 流媒体点播系统压力测试实现

系统采用了服务器集群负载均衡模式,可以同时支持 2000个点播请求。我们使用 Apache JMeter开源工具对系统进行WEB端压力测试。用一台高性能计算机使用多线程模拟出大量用户同时访问系统的情况,用来测试WEB系统的并发量上限。在软件压力测试结果中最重要的部分就是Error%[12]。由测试结果看到Error%为0.00%,说明出现错误的请求的数量为0,证明系统是经得起多线程大并发量考验的。压力测试报告如图5所示。

三 结语

本文在利用现有媒体资源的基础上,通过交流座谈等形式深入了解学校师生实际教学中对移动学习的需求,设计并实现了基于跨平台技术的流媒体点播系统,在新的网络应用环境下,使得大量宝贵教学视频资源可以继续发挥应有的教学辅助作用。基于跨平台技术的流媒体点播系统支持目前市场上所有种类的移动终端平台和台式电脑端平台的流媒体传输服务,系统通过对多种终端平台的视频资源进行统一管理,实现各种视频文件格式的快速高效转码能力。统一流媒体服务可以保护学校在教学上的原有投资,保证平台在未来的无缝对接升级,可以为台式电脑平台用户、手机平台用户和移动平板电脑用户同时服务。经过两年的无故障运行,充分证明系统中的流媒体资源可以在各种平台环境下清晰、流畅的播放,用户体验良好,并且满足师生工作学习中对视频资源访问的实际需求。

我们正在有针对性的开发基于Android、IOS、Windows Phone等系统的专用APP程序,实现一键即可完成登陆、点播的功能。随着跨平台技术和互联网的不断前进,使流媒体点播系统更加贴近师生学习工作、更符合实际教学需求。

[1]教育部办公厅.2015年教育信息化工作要点[OL].

[2]鲍松彬.融合移动学习的大学英语教学新模式[J].实验室研究与探索,2013,(4):144-147.

[3]闫俊伢,安俊秀. J2EE技术体系的探讨与研究[J].实验室研究与探索,2010,(7):83-85.

[4]杨中科.J2EE开发全程实录[M].北京:清华大学出版社,2007: 186-188.

[5]莫志超,张未展,王军等.基于云计算的P2P流媒体服务器集群部署算法[J].计算机应用, 2014,(2):365-368.

[6]沈超莉,何明昌,郭雅雯.基于文件系统的视频教学流媒体播放平台设计[J].实验室研究与探索,2012,(2):138-140.

[7]贾振华. Java语言程序设计[M].北京:中国水利水电出版社,2010:195-198.

[8] Joyce F. Fundamentals of Java programming[M].北京:科学出版社,2012:242-245.

[9] Baron S,Peter Z,Vadim T著.宁海元,周振兴,彭立勋等译.高性能MySQL[M].北京:电子工业出版社,2013:86-92.

[10]钟迅科.基于HTML5的跨平台移动Web应用与混合型应用的研究[J].现代计算机, 2014,(13):32-36.

[11] Ken B,Lee C著施宏斌译.HTML5多媒体开发指南[M].北京:清华大学出版社,2013:201-206.

[12]温素剑.零成本实现Web性能测试:基于Apache JMeter [M].北京:电子工业出版社,2012:189-193.

猜你喜欢
转码跨平台服务器
跨层级网络、跨架构、跨平台的数据共享交换关键技术研究与系统建设
一款游戏怎么挣到全平台的钱?
天津台新闻云系统外来视频文件转码方案
视频转码技术在广播电视中的应用研究
通信控制服务器(CCS)维护终端的设计与实现
PowerTCP Server Tool
视频转码软件的需求和框架分析
基于C++语言的跨平台软件开发的设计
得形忘意的服务器标准
计算机网络安全服务器入侵与防御