标题 | 基于RTMP协议的图书馆多媒体管理系统设计与实现 |
范文 | 艾小马 摘要:该文以湖南科技学院图书馆为例,对音视频资源管理现状进行了分析探讨,对视频管理系统进行了需求分析,设计并实现了基于RTMP协议的多媒体管理系统。以期在图书馆视频资源建设管理和多媒体管理系统开发方面,为高校图书馆提供参考和借鉴。 关键词:图书馆;高校图书馆;RTMP协议;视频管理系统 中图分类号: TP315 文献标识码:A 文章编号:1009-3044(2019)08-0032-03 开放科学(资源服务)标识码(OSID): 视频资源建设是高校图书馆数字化建设的重要内容之一,视频资源以图文并茂、动静结合、声形并茂等独特的方式直观地展示给读者,其在阅读推广、特色资源建设等方面更加符合新时代读者的需求[1],逐渐向传统资源建设发起挑战。高校图书馆越来越重视视频资源建设。随着时间的推移,图书馆收集的音频和视频资源越来越多,以湖南科技学院图书馆为例,收藏的音视频资料包括地方文献音视频资源、精品课程录音录像、随书音视频以及购买的其他资源等,经过10多年的建设已达几千部(个)。视频资源涉及教学、科研、文史等方面,利用好这些资源,对师生的教学、科研能有一定的帮助,同时也能丰富业余、课余生活。湖南科技学院图书馆对于视频的管理还处于初级阶段,采用文件保存的手段,还没有相关的软件和系统对其进行管理,因此,就存在管理和查看不方便等问题。尽快解决视频资源管理和使用的不便,更加有效合理地管理利用视频资源,成为图书馆急需解决的任务。因此,开发与设计图书馆音视频管理系统是必要的。 1 需求分析 以湖南科技学院图书馆为例,通过查阅相关资料、实际调查,参考其他的系统,从我馆的实际情况出发,确定了系统的具体需求。图书馆多媒体管理系统为我校师生提供图书馆收藏的音视频点播服务,不限制终端,手机和电脑都能顺利访问,为图书馆管理员提供音视频管理服务。涉及的业务对象为游客和管理员。 游客的功能需求有: 1)能查询音视频:能根据标题、作者、简介、发布日期等查询音视频;能进行高级查询,多个条件组合检索;能浏览音视频的所有信息、播放相关音视频。 2)能对音视频排序:能根据发布日期、点击量排序,包括顺序、倒叙。 3)能分类浏览:能按照学科或者中图法进行分类浏览。 管理员的功能需求有: 1)管理音视频:能上传音视频;增删改查音视频资源。 2)分类管理:增删改查学科分类;增删改查中图法分类。 3)专题管理:能对某一专题对音视频进行归类,如党建专题等。 4)管理员管理:操作管理员用户以及权限分配。 5)能对音视频信息进行统计:对浏览量按照年份进行统计;对信息的建设情况按照年份统计等。 2 系統设计与实现 2.1 系统架构设计 本系统是面向师生的音视频管理系统,提供音视频点播服务,为图书馆管理员提供多媒体资料管理服务。主要包括2个服务,视频服务和WEB服务。整体架构如图1所示。 2.1.1 数据库 数据库是系统的底层,实现除音视频文件以外其他信息的保存,通常采用关系型数据库。 2.1.2 数据访问层 数据访问层封装了对数据库的操作,为业务操作提供支持。业务操作就不用担心数据的具体细节。数据访问层实现数据库具体表的增删改查操作。 2.1.3 视频服务 搭建视频服务器,采用C/S模式,与客户端通信,实现音视频的点播服务。 2.1.4 WEB服务 采用B/S 模式,将音视频的有关信息呈现给客户端,同时为管理员实现管理功能。 2.1.5 客户端 客户端采用B/S模式,通过访问网页以实现查询、播放视频、管理等所有功能。游客不限制PC和手机访问,管理员只能通过PC端来管理。 2.2 系统模块设计 本系统由视频查询、视频分类浏览、专题浏览、管理后台4个模块组成。视频查询,分成简单和复杂查询,设置条件检索视频信息。视频分类浏览,集成查询功能,按照学科分类或中图法分类显示信息。专题浏览,按照主题显示信息列表。所有的信息列表都能按照发布时间、点击量顺序或倒叙排列。管理后台,包括视频管理、分类管理、专题管理、用户管理、统计4个子模块,分别实现对应的功能。 2.3 数据库设计 系统涉及的主要实体有音视频信息、用户信息、分类信息。考虑到数据冗余及设计的复杂度(如专题设计为音视频实体的属性,权限作为用户实体的属性),数据表基本与实体一一对应,系统的主要数据表为音视频信息表(表1)、分类信息表(表2)、用户信息表。 2.4 系统实现 2.4.1 开发环境与技术选择 数据库采用sql server2008,视频服务采用基于RTMP协议的开源的RED5,WEB服务使用微软visual studio2013工具C#语言实现。 视频点播是本系统的核心部分, 视频通信协议采用的RTMP协议。RTMP即Real Time Messaging Protocol实时消息传送协议,是Adobe提出的用于Flash平台之间传递音视频及其他数据的一种实时网络传输协议,是为数不多的已经公布细节的实时流式传输协议之一。RTMP是基于TCP协议的,具有传输可靠的特点,能保证视频传输的质量。RTMP支持端对端的可靠链接和完整的时间戳序列, 采用TCP方式传输FLV报文, 面向连接提供可靠的数据传输来减少丢包, 降低了媒体流传输中丢包对播放质量的影响和失真[2]。另外,RTMP协议传输是在Flash之间进行,超过95%的PC机都安装了Flash插件,要使用RTMP协议传输视频,不用另外安装客户端[3],基于HTML5的浏览器也支持RTMP协议。 基于RTMP协议的流媒体服务器有Adobe公司的Flash Media Server、RED5等,RED5是开源的,本系统采用RED5作为视频服务的服务器。RED5使用JAVA语言编写,使用RTMP作为流媒体传输协议,与FMS完全兼容[4]。使用RED5做流媒体服务器,可以不用修改任何配置使用自带的demo或者进行简单的配置,不需要编写复杂的代码,也不需了解RTMP协议的实现细节。 视频点播的客户端可以使用ActionScript开发的flash程序,也可以选择已经成熟的产品,比如JW Player,或者其他方式(如包含video.js),本系统采用JW Player实现客户端视频的播放。具体做法是在网页中包含支持JW Player的脚本文件jwplayer.js,再嵌入下面的js代码,就能实现视频的播放。 [ jwplayer('mediaspace').setup({//mediaspace是控件ID 'flashplayer': 'player.swf', 'file': 'BladeRunner2049.flv',// BladeRunner2049.flv是文件名 // rtmp://172.20.147.112/lib是服务器路径 'streamer': 'rtmp://172.20.147.112/lib', 'controlbar': 'bottom', 'width': '720', 'height': '480' });] 2.4.2 实现数据访问层 数据访问层封装了对所有数据表的所有操作,为具体的业务操作提供数据服务。把sql server的操作封装成一个静态类sqlHelper。运用面向对象的思维把所有的业务实体转化成实体类,实体类成员与数据表字段一一对应。定义各实体功能的操作类,调用sqlHelper实现实体信息的数据库增删改查操作。以分类功能操作中的“按层级获取分类列表”功能为例,代码如下。 [ public DataTable getClassListByLevel(int level,string classType) { string strSql = "SELECT * FROM class_info WHERE level="+level+" and [email protected]"; SqlParameter[] parameters = { SqlHelper.MakeInParam("@classType",SqlDbType.VarChar,50,classType) }; using (SqlConnection ConnDtmis = new SqlConnection(DAConfig.ConnString)) { try { return SqlHelper.ExecuteDataset(ConnDtmis, CommandType.Text, strSql, parameters).Tables[0]; } catch (Exception ex) { throw ex; } } }] 2.4.3 实现WEB服务 WEB服务调用数据层的实体操作类与底层数据库的交互(查询信息,插入新信息,更新修改的信息),具体的业务逻辑放在WEB服务(展示数据库信息给客户端,接收客户端提交的请求)。基于系统的访问量和数据规模,WEB服务采用ASP.NET基本的网站开发模式,采用的代码和页面分离的办法,具体的业务操作代码放在代码文件(.cs),展示内容和样式放在页面文件(.aspx)。PC端和手机端的页面分别设计,通过判断浏览器的类型实现自动跳转。 实现了数据访问层和WEB服务,就实现了整个系统。 3 结束语 本文通过分析湖南科技学院图书馆师生对多媒体管理系统的功能需求,确定了系统的功能,然后进行系统的架构和数据库设计,采用RTMP协议作为系统的核心功能视频点播的通信协议,最后实现了系统。 基于RTMP协议的图书馆多媒体管理系统的实现,满足了图书馆和读者的需求,方便了图书馆视频资源的管理,同时也方便了师生查询和观看视频,从一定程度上丰富了图书馆的馆藏建设手段,对于图书馆的视频资源建设起到一定的促进作用。未來,还要根据实际情况不断完善和扩展新功能,如与微信的对接功能等。 参考文献: [1] 赵阳. 高校数字图书馆特色视频数据库建设浅论[J]. 科技情报开发与经济,2011,21(25): 43-45. [2] 王艳. Android系统中RTMP流媒体直播的设计与实现[J]. 电视技术,2017,41(1):64-67. [3] RED5_百度百科[EB/OL]. https://baike.baidu.com/item/Red5. 2019. [4] 雷霄骅, 姜秀华, 王彩虹. 基于RTMP协议的流媒体技术的原理与应用[J]. 中国传媒大学学报: 自然科学版, 2013,20(6):59-64. 【通联编辑:谢媛媛】 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。