基于校园网流媒体视频点播系统设计及实现利用学校现有的网络和资源,设计并开发视频点播系统, 利用流媒体技术有效率地实现视频点播、电视网络直播、文 件上传等功能,实现资源分类管理,不但为在校师生提供了 基于流媒体技术的资源服务,极大地提高教师教研的技术水 准,为教师专业成长提供资源上的保障,也为学校资源建设 提供了很好的平台,使教学资源实现特色化管理,促进了数 字化校园的建设这种系统实现方案花费极少,具有技术先 进、性能良好、成本低廉的特点,非常适合校园环境,使用 价值高只要有校园网络的学校都可以比较容易地实现一、系统的架构与设计运用于校园的视频点播系统采用浏览器/服务器模式 会比较适合,即B / S模式客户端只要能上网即可以观看 视频,系统灵活开放这样处理,既可以充分发挥视频点播 系统的优越性,又不需要使用者有专业的知识或者特定的操 作技能流媒体服务器、WEB服务器、数据库服务器是视频点 播系统的三大组成部分基于B / S结构的视频点播系统的 工作原理是:(1 )当客户需要点播节目时,首先使用浏览器访问WE B服务器2 )由WEB服务器查询数据库服务器,返回节目的 U R L给客户机3) 客户机启动流媒体播放器。
4) 客户机根据获得的节目URL向流媒体服务器发 起请求5) 流媒体服务器接受请求并查询存储系统,发送流 媒体数据给客户机6 )在客户机的媒体播放器上进行播放,完成一次视 频点播过程流媒体视频点播系统在校园网络内实现的总体技术架 构如图1所示,系统技术架构的核心组成部分是安装了WM S (Windows Media S e r v e r )流媒体服 务软件的流媒体服务器、用ASP. NET开发的WEB服 务器和SQL Server数据库服务器这三大部分视 频来源有两大部分:一是原有的音、视频文件和不断增加的 录像资源,通过采编工作,通过WEB服务器上传到流媒体 服务器存储系统;二是由电视机顶盒接收模拟信号,经过编 码器和编码软件,利用WMS实现电视网络直播图1视频点播系统的技术架构总图(一)流媒体服务器的架构设计流媒体服务器是流媒体应用的核心系统,是运营商向用 户提供视频服务的关键平台其主要功能是对媒体内容进行 采集、缓存、调度和传输播放,流媒体应用系统的主要性能 体现都取决于媒体服务器的性能和服务质量因此,流媒体 服务器是流媒体应用系统的基础,也是最主要的组成部分服务器性能:IBMX3650 7 9 7 9 ( I n te 1 X e o n 2 . 0 GHz) 2 U机架服务器;2个英特尔 至强双核DP 2 . 0 GH z CPU, 4MB二级缓存,最 大支持2路处理器,4GB PC2-5300 D D R 2 ECC Chipkill S D RAM内存(1 2个内存插 槽\最大扩展到4 8 GB); S A S磁盘控制器等。
存储系统的配置:服务器主机的相关配置,Serve RAID 8K阵列卡和 5 块 1 46. 8 G B 1 5 K3. 5〃 SAS热插拔硬盘可以满足当前大数量的视频资 源的存储需求,6个热插拔薄型硬盘托架可以扩展未来一段 时间的新视频资源的存储需求流媒体服务软件的选择:使用W i n d o w s 2 0 0 3 s e r v e r■操作系统,启用I IS和Wi n d o w s media services 服务微软的W i n d o w s Media Service (WM S)是最典型的流媒 体服务器,它采用MMS协议接收、传输视频,采用Wi n d o w s Media Player (WMP)作为前端播 放器二)WEN服务器的功能设计流媒体服务器建好以后,并不能提供用户较友好的访问 方式,一般都会提供一个视频资源的路径,如何找到一个更 友好的方式?让很多视频资源都集结在一个资源网站上我们采用基于W i n d o w s的ASP. NET和V B. NET作为基础开发网络应用程序,自己开发视频网站 作为VOD系统的WEB服务器,其作用是为用户和管理员 提供一个良好的交互平台,方便对视频资源进行操作和管 理。
另外,也方便了管理员对用户进行管理图2视频点播网站系统的总体功能图校园网视频点播系统的总体功能如图2所示,包括后台 管理(包括用户管理模块、视频管理模块、目录管理模块和 评论管理模块)、视频点播(包括视频点播模块和发表评论 模块)、电视直播三个子系统视频点播网站系统的各模块 功能介绍如下:用户管理模块:在此功能模块中管理员对用户的信息进 行管理,包括添加、删除用户信息和对用户的信息进行修改 等视频管理模块:在此功能模块中管理员可以上传视频、 删除视频目录管理模块:在此功能模块中管理员管理视频目录, 可以添加、修改、删除视频信息本功能模块的系统工作流 程与用户管理模块相同发表评论模块:在此功能模块中用户可以对所观看的视 频进行评价评论管理模块:在此功能模块中管理员管理用户对视频 的评价信息,可删除评价信息视频点播模块:在此功能模块中用户可以点播自己想看 的视频客户完成一次视频点播的系统工作流程如图3所示,客 户通过WEB服务器提出某一文件的点播请求,由WEB服 务器查询数据库,如果片源的信息在数据库存在,由WEB 服务器向流媒体服务器发出请求,流媒体服务器向客户机以 媒体流的形式发送音视频文件。
客户端启动流媒体播放软 件,接收媒体流这样,用户就完成了一次视频点播过程图3视频点播工作流程图用户工作的总流程如图4所示,用户在登录界面按要求 输入用户名和密码,系统会根据用户的输入信息访问相应的 数据库表Us e r ,确定是否为合法用户,条件符合则进入 系统界面用户和管理员在视频网页上可以做相应权限的行 为系统再根据表Us e i■中的权限字段判断用户的身份是 管理员还是普通用户,管理员用户还要经系统访问另一张数 据表Adm i n,判断是系统管理员还是普通管理员普通 管理员的所有行为权限系统管理员都有,而系统管理员的部分权限普通管理员没有图4用户工作流程图(三) 数据库设计数据库服务器执行W E B服务器发送的对节目信息和 用户信息的查询、存取、删除等命令数据库服务器和WE B服务器协作,让WEB服务器的响应请求和数据操作分 开,降低WEB服务器的压力,对数据服务器的性能和稳定 性有一定的要求本系统使用的数据库服务器是SQL Server 2 0 0 5 o系统的数据库设计包括用E-R图设计,数据字 典的设计,数据库表的设计,数据库逻辑关系图等视频点 播网上系统用户、管理员和视频资源之间的联系图如图5所 不O图5数据E-R图(四) 电视直播的架构设计电视直播的工作原理是:将电视(模拟)信号通过采集 转换为数字信号输入计算机,应用流媒体技术在网络上进行 直播,用户访问指定的直播网站页面,其访问请求导向发布 服务器节点,获得流媒体数据,通过网页浏览器自带的播放 器观看直播视频内容。
我校实现电视直播,需要配备HVC 4 0 0编码器和N o w s t r e a m编码软件作为采集编码模块在服务器上 安装H VC 4 0 0编码器和N o w s t r e a m编码软件, 来实现实况流的直播或定时直播、实况流的拉传递功能、实 况流的推传递功能、文件保存或定时保存等二、系统实现与测试我们采用基于W i n d o w s的ASP. NET和V B . NET作为基础开发网络应用程序,结合MS SQL Server 2 0 0 5数据库技术,完成网站的开发运用一)点播平台的实现图6点播平台首页面点播平台的首页面如图6所示,根据我校教学资源建设 的要求,分栏目为:(1) 视频直播:在该页面,用户可以直接同步观看各 频道电视节目2) 视频新闻:该页面展示当今发生的重要新闻事件 和学校新闻视频3 )示范课例:在该页面,教师上公开课的视频分学 科分组展示4)教师培训:该页面展示针对教师技能、素质培训 的视频资料5)教学资源:该页面展示优秀教学示范的视频资料6 )电影:该页面展示一些电影资料7)音乐:该页面展示一些音频资料 )) 管理平台的实现后台的管理目前有三块功能,分别为目录管理、视频添 加及用户管理。
1 .目录管理功能该视频网站的目录非常灵活,可以实现无限级目录的动 态管理,添加、修改、删除都很方便,是用As p . n e t 里自带的T r e e v i e w组件实现,效果如图7所示图7目录管理2 .视频添加功能在视频添加模块里,“视频介绍”部分采用Wo r d编 辑器的功能,方便内容的添加编辑,如图8所示图8视频添加我校的视频网站支持三种方式上传:第一种是直接以w mv格式上传,优势在于视频比较清晰,但公网浏览不顺畅, 应用于追求清晰度的情况第二种是直接以f 1 v格式上 传,对于从网上找到的资源,如果是f 1 v格式可以直接上 传第三种是由其它格式转化为f 1 v格式方式上传,这就 借助于我们ASP. N e t的f fmp e g和me n c o d e i■组件来实现如图9所示图9文件格式直接转换页面3.用户管理为了实现视频的分级管理,不同级别的用户只能看到相 应级别的视频,管理员在审核会员的时候,可以对用户进行 分级,功能如图1 0所示图1 0用户管理(三)关键技术的实现1 .使用T r e e V i e w部署目录树实现视频目录管 理T r e e V i e w控件用来显示信息的分级视图,如同 W i n d o w s里的资源管理器的目录。
T r e e V i e w 控件显示Node对象的分层列表,每个Node对象 均由一个标签和一个可选的位图组成T r e e V i e w — 般用于显示文档标题、索引入口、磁盘上的文件和目录、或 能被有效地分层显示的其它种类信息创建了 T r e e V i e w控件之后,可以通过设置属性与调用方法对各N o d e 对象进行操作,这些操作包括添加、删除、对齐和其它操作2 .用N e a tU p 1 o a d组件完成视频的上传工 作,上传速度快,有进度显示3 .借助Ffmpeg和Mencode r组件来完成视频转换和截图工作我们用Asp. net开发一个可以同时实现上传和转 换的网页平台,通过使用免费的f fmpeg和menco d e r组件,基本上可以实现把所有视频文件格式转为f 1 v格式在这个平台中,f f mp e g组件和me n c o d e r组件是有具体分工的,对于asf、a v i > m p g > 3 g p、m o v等格式文件采用f f m p e g组件来进行转 换,而w m v > r m v b > r m等格式的文件采用m e n c o d e i■组件来转换,另外,在转换过程中可以自动截图, 截图都是靠f fmp e g组件来完成的。
这样,运用这个网 页平台就可以完整实现视频的上传和转换 )) 系统测试截取一段6 0秒时间长度的视频文件,将文件存储为w m v (352 ?B 288,3Ofps)格式存储容量大小 是4. 9 6 Mo将wm v格式文件直接上传的网络速度数据 如图11,是 6 9 . 5 K B / So图1 1 wmv格式文件上传进度将文件以f 1 v格式上传的网络速度数据如图1 2 ,是 8 9 . 1 K B / So图12 wmv文件转化为FLV格式上传进度测试结果是同时间段视频以wmv格式直接上传的网 络速度比转化为f1v格式上传网络速。