一种多媒体分发点播系统及其实现方法

文档序号:7664462阅读:121来源:国知局

专利名称::一种多媒体分发点播系统及其实现方法
技术领域
:本发明涉及网络数据传输和多媒体文件点播
技术领域
,特别涉及一种多媒体分发点播系统及其实现方法。
背景技术
:随着市场经济的发展,各种媒体信息(特别是广告信息)的发送方式越来越手动重视。市场上现有的播控系统只能进行简单的单机播放,制定一定顺序的播放列表之后循环播放,并不能有效的控制一个媒体在某个时间段播放的频率,不能自动按照一定的规则编播播放列表,不能通过远端网络进行有效的控制和监控等,需要大量的人力维护和监控客户端。
发明内容本发明所要解决的技术问题是提供一种多媒体分发点播系统,该系统是一个旨在基于公共网络发布和管理媒体文件并控制媒体播放系统,可以实现基于因特网和企业内部网络及单机的多媒体播放。为了解决上述技术问题,本发明提供的多媒体分发点播系统,包括一控制装置、一交换机、一负责媒体文件的存储,上传和下传的媒体存储服务器、一媒体播放列表服务器、一数据库、若干个客户机以及与上述客户机分别相连的媒体播放装置,上述数据库、媒体播放列表服务器、媒体存储服务器依次通信连接并通过上述交换机接入公共网络;上述媒体播放列表服务器用于发布、修改和删除媒体播放列表,管理客户端电脑的媒体文件,控制客户端电脑的行为以及收集客户端电脑的运行情况以及为控制台的管理功能提供相应的接口;所述控制装置通过公共网络与媒体列表服务器相连,使得控制装置的管理员可以通过该公共网络对上述媒体列表服务器实施策略管理;上述任一客户机通过公共网络与媒体列表服务器相连,并且还与不同的媒体播放装置数据传输连接;所述控制装置包含若干的控制台,由管理员操作,用于査看和管理程序连接在媒体播放列表服务器上的程序。进一步所述媒体播放列表服务器包含有一用户管理模块、一通讯连接模块、一逻辑功能模、一数据库连接模块、一配置信息模块、一用户界面模块、一通知报警模块、一媒体文件管理模块、一自动升级模块和一心跳检测模块。进一步所述客户机包含有通讯连接模块、逻辑功能模、XML解析模块、媒体播放模块、图片播放模块、屏幕区域播放接口、字幕播放模块、媒体文件管理模块、自动升级模块和心跳检测模块。上述通信连接采用AFC协议,其设置的协议规范为所有的收发数据分为两种基本数据帧(通讯基本数据)和AFC调用数据帧。本发明还提供一种实现多媒体分发点播方法,该方法包括下列步骤客户机通过交换机与媒体播放列表服务器通信联络并进行用户注册,注册信息储存在媒体存储服务器中;对媒体进行编辑和管理;注册的客户端与媒体播放列表服务器通信联络,可根据媒体播放列表服务器中的列表将媒体存储服务器中相应的媒体信息进行播放首先运行客户端程序系统启动时启动运行;然后运行媒体播放程序(客户端可自动启动);设定播范个时间和播放持续时间的定时控制步骤;检测当天的媒体播放列表是否有从服务器发送过来的适合当天播放的播放列表;如没有,则返回定时程控制步骤;如有播放列表,检测是否到达其中几个媒体的播放时间;如没有,则返回检测当天的媒体播放列表步骤。如有,则进行媒体播放;如全部播放完毕,则生成终结指令,提交到媒体播放器程序,停止播放;没有播放完毕,则生成播放指令,提交到媒体播放器程序,进行播放;由客户端程序会定时检测媒体播放器程序是否正确运行,如果不正常,则返回继续进行媒体播放反之,则回到定时控制步骤。进一步,所述用户注册步骤包含下列步骤打开系统中的控制台;用管理员的身份通过选择文件菜单下的登录系统项进行系统登录;连接媒体播放服务器.若登录未成功则跳回到原界面重新登录以及若登录成功则选择管理菜单下的用户管理进行用户的添加和删除。所述媒体编辑和管理包括文件上传流程与文件下发流程。所述上传流程可包括下列步骤打开系统中的媒体播放控制台程序,用系统管理员或媒体管理员身份登录服务器;以及通过选择文件菜单下的媒体管理工具项进行添加/删除媒体并提交到文件服务器。所述下传程序如下打开系统中的媒体播放控制台程序,用系统管理员或媒体管理员身份登录服务器,通过选择规则管理菜单下规则菜单项来添加/修改/管理规则,接着通过选择播放列表管理菜单下播放列表项进行编辑播放列表,然后通过选择播放列表菜单下发布播放列表项进行播放列表发布,最后通过选择需要发布到的客户端计算机以及需要发布的时间段;之后客户端就能自动下载媒体文件。本发明提供的多媒体分发点播系统及其实现方法,具有下列优异的技术效果1.软件要求C/S模式,整体由四个部分组成,媒体存储服务器,媒体播放列表服务器、控制台和客户端,都可以独立运行在不同的电脑上,媒体存储服务器,媒体播放列表服务器、控制台三者也可以同时运行在一台服务器上。2.可以采用SQLServer2005数据库保存用户信息,媒体播放列表,客户端数据等。3.在英特网上运行,媒体文件可以通过FTP上传到媒体存储服务器上,或者通过FTP下发到客户端,允许文件的断点续传,需要验证文件的完整性。4.权限部分分为系统管理员和媒体列表管理员两类。不同身份的管理员登录控制台,只允许管理该权限设定允许的内容。其中系统管理员用户管理,媒体管理,系统管理等媒体列表管理员只能发布,修改,删除一台/组客户端电脑上的媒体列表和媒体文件最终用户可以上传,可以看到报表。5.管理员可以通过控制台对客户端发布,修改,删除媒体播放列表。6.客户端可以实时检测媒体播放列表,并且按照最新的媒体播放列表,调用WindowsMediaPlayer以及其它媒体播放器全屏或者以指定的分辨率播放多媒体节目。7.允许一个或者多个客户端插播重要节目和字幕。8.对于播放列表中本地没有的媒体文件,客户端会自动从服务器下载(允许节目分类别保存)。并且在下载期间播放由控制台指定的其他本地已经存在的节目。下载完毕后,无缝自动按照节目单规定的时间播放。9.同样的节目源允许设置多种规格,不同的客户端可以设置分发不同规格的节目。10.控制台可以查看,删除客户端已经存在的所有媒体节目文件,并且可以制定相应的删除规则,比如清除最后播放时间在10天前的所有媒体文件。11.服务器和客户端的传输数据需要加入签名模块,确保内容是认证服务器传过来的。12.服务器和客户端加入心跳检测模块,确保长时间的稳定运行,即使出现故障也能及时恢复。13.客户端电脑能够自动定时开关机,并且开关机时间可以通过控制台设定。14.客户端电脑可以分组管理。15.完善的错误处理机制,对于客户端电脑的连接,下载的文件,出现的问题,发生的错误等等重要事件,都能及时的生成日志并且传送回服务器,保存到数据库中,方便及时查询。16.可以根据客户端日志,设置警报功能,及时通知管理人员。17.需要和LED的控制设备能够相互配合,使得客户端可以在LED上进行播放。18.客户端可以自动升级。图1是本发明提供的一种多媒体分发点播系统的结构结构。图2是媒体存储服务器的结构示意图。图3是媒体播放列表服务器的结构示意图。图4是本发明提供的系统的用户注册流程图。图5是本发明提供的系统的文件编辑和管理流程图。图6是本发明的系统的从服务器到客户端的文件下发流程图。图7是系统的媒体播放的整体流程图。具体实施例方式下面参照附图,对本发明做详细描述。参见图l,本发明的系统包括一控制装置l、一交换机2、一媒体存储服务器3、一媒体播放列表服务器4、一数据库5、若干个(例如3个)客户机6A、6B、6C以及与上述客户机分别相连的媒体播放装置7A、7B、7C。数据库5(可采用SQL2000)、媒体播放列表服务器4、媒体存储服务器3依次通信连接并通过交换机2接入公共网络例如因特网(Internet)。上述数据库5,媒体播放列表服务器4和媒体存储服务器3都可以安放在企业内部机房。控制装置1有若干个控制台,例如1A和1B,是作为整个系统中枢的任务处理器(该处理器指微机,如台式机或笔记本电脑),可以安放在任何一个连通Internet的场所,通过6网络连接到媒体列表服务器4。管理员通过控制台A和B实施策略管理。客户机A、B、C(即包含客户端应用程序的客户端)可以安放在任何一个连通Internet的场所,通过网络连接到媒体列表服务器4和媒体存储服务器3,并且还与不同的媒体播放装置7A、7B、7C(如电视墙、大尺寸液晶显示器等)数据传输连接。媒体存储服务器3主要负责媒体文件的存储,上传和下载服务。媒体播放列表服务器4用于发布、修改和删除媒体播放列表,管理客户端电脑的媒体文件,控制客户端电脑的行为以及收集客户端电脑的运行情况;以及为控制台的管理功能提供相应得接口。控制台1A、1B主要提供了一个管理员操作的平台,用于该系统一切事务的査看和管理的程序。该程序连接在媒体播放列表服务器上。客户端程序安装在每一台需要被管理的客户机6A、6B、6C上,用于提供管理功能的接口。该程序连接在媒体播放列表服务器4上,如果需要下载媒体,则直接连接到媒体存储服务器上。媒体存储服务器3作为用来存储多媒体文件的网络设备,目前存储的多媒体文件的格式可包括PPT,WMV,AVI,JPG,GIF,BMP,MP3,WMA共8种,并提供这些文件的上传,下载和删除;并且允许文件分类保存。通常需要满足下列应用环境1.文件体积较大,多媒体文件一般几兆到几十兆不等。2.文件时效性较强,需要多点客户端同时下载。3.文件内容公开化,无须保密,可以明文传输。4.在网络不好的条件下,允许断点续传。5.要求下载服务非常稳定。本发明选用一款常用的FTP服务器;同时还需要有一个监视程序同时运作,用以监视FTP服务器是否正常工作,如果意外停止,需要重新启动FTP服务器程序,并且需要向数据库写入该事件。参见图2,媒体存储服务器3设有FTP服务器模块301、FTP服务器监视程序模块302及数据库模块303。上述三个功能模块通过标准的TCP/IP协议进行相互间的数据连接。FTP服务器模块采用体积小巧,功能强大的FileZillaServer0.9.18版FTP服务器。FTP服务器监视程序模块为用¥0++编写的设量在媒体存储服务器中的一个确保服务器运行正常的监视程序。数据库模块为直接通过ADO方式连接监视程序的MicrosoftSQL2005数据库。另外,该服务器设有用来手工维护的远程桌面控制器,或者安装有类似PcAnywhere远程控制软件,方便管理。媒体列表服务器4是整个系统的核心组成部分。它的主要功能分为4个方面和数据库连接,提供数据库操作接口;和客户机6A、B、C连接,从客户端收集数据,发送指令给客户机6A、B、C执行;和控制台1A、1B连接,提供控制台管理功能的接口;和媒体存储服务器连接,管理媒体服务器上的文件。参见图3,媒体播放列表服务器4设有用户管理模块401、通讯连接模块402、逻辑功能模403、数据库连接模块404、配置信息模块405、用户界面模块406、通知报警模块407、媒体文件管理模块408、自动升级模块409和心跳检测模块410等十个模块。上述这些模块的数据连接关系如下用户管理模块401分别与通讯连接模块402、逻辑功能模403、数据库连接模块404、配置信息模块405和用户界面模块406相连。通讯连接模块402分别与用户管理模块401、逻辑功能模403、配置信息模块405、通知报警模块407、媒体文件管理模块408和自动升级模块409相连。逻辑功能模403分别与用户管理模块401、通讯连接模块402和用户界面模块406相连。数据库连接模块404分别与用户管理模块401和通知报警模块407相连。配置信息模块405分别与用户管理模块401、通讯连接模块402、用户界面模块406、通知报警模块407、媒体文件管理模块408、和心跳检测模块410相连。用户界面模块406分别与用户管理模块401、逻辑功能模403、配置信息模块405和媒体文件管理模块408相连。通知报警模块407分别与通讯连接模块402、数据库连接模块404和配置信息模块405相连。媒体文件管理模块408分别与通讯连接模块402、配置信息模块405和用户界面模块406相连。自动升级模块409分别与通讯连接模块402、数据库连接模块404和配置信息模块405相连。心跳检测模块410分别与配置信息模块405相连。以下具体描述各功能模块(-)用户管理模块401:该模块负责用户认证和权限管理,用户分为3种系统管理员,媒体列表管理员,普通用户I.系统管理员(1)允许添加,修改和删除用户,用户信息包括用户名,用户密码,用户权限,用户关联计算机组(只对媒体列表管理员和普通用户有效),公司,备注;(2)允许添加,修改和删除公司,公司信息包括公司名,公司用户列表,备注;(3)允许管理客户端自动开关机时间(设置/取消);(4)设置系统运行参数,包括数据库连接信息,数据库处理线程数(连接数),业务处理线程数,临时目录,心跳检测时间间隔,服务器监听地址,端口(默认端口2777)和管理端口(默认端口2778),报警邮件地址,FTP服务器信息(地址,用户),分辨率种类,客户端自动升级目录,注有些在服务器端设置;(5)允许添加,修改和删除计算机组;(6)允许添加和删除客户端计算机到组;(7)允许删除计算机(仅仅用于移掉不再使用的客户端计算机);(8)允许对组的管理(移动,排序);(9)允许设置计算机分辨率;(10)允许査看系统曰志;(11)允许査看操作日志;(12)包括媒体列表管理员的所有权限。II.媒体列表管理员(1)允许对每一组/台客户端计算机添加,修改和删除媒体播放列表单个媒体或目录或虚拟组,规定播放长度,播放规则(循环,单次),说明计算机原则上只能播放分辨率一致的内容,但也允许强制播放不同分辨率的内容;(2)允许新建FTP扫描目录;(3)允许刷新扫描FTP目录;(4)允许对媒体文件信息管理,包括类别(自动生成),分辨率,公司,备注(5)允许对FTP目录媒体文件编虚拟媒体文件组(必须是同样分辨率的媒体内容),并加以管理;(6)允许对每一组/台客户端计算机设置播放媒体下载未完成规则(重复播放上一个媒体,跳过此媒体文件,播放指定媒体文件,不播放任何文件),此文件下载完成后的规则(中止正在应急的媒体文件,等待应急的媒体文件播放完成后继续播放,不做任何响应)(7)设置长时间未播放媒体策略(超过多少天未播放媒体删除);(8)允许管理客户端计算机上的媒体文件查看(名字,公司,长度,类别,最后播放时间),删除;(9)允许对一组/台客户端计算机添加插播字幕(字幕高度),插播媒体媒体类别,媒体内容,循环播放次数/时间,等上一个媒体播放完成后播放或者直接播放,如果有上一个插播节目未完成的话是直接插播或者等待上一个插播节目完成;(10)允许设置目标计算机的媒体播放装置(LED显示墙或者本地监视器);(11)包括普通用户的所有权限。m.普通用户(1)允许登录到控制台,査看对应计算机/组的媒体规则。(二)通讯连接模块402:该模块负责和控制台,客户端通讯,并采用AFC通讯协议。曰逻辑功能模块403:该模块负责核心逻辑功能处理,所有控制台/客户端发送来的AFC请求和应答,都在该模块中处理。卿数据库连接模块404:该模块负责和数据库连接,同时负责写入/读取数据库数据,采用ADO连接数据库,该功能也包含在AFC库中。(5)配置信息模块405:采用XML作为配置文件的格式,基于通用性和易用性的角度考虑,采用libxml库作为XML格式的接口。该模块的作用是提供一个配置文件接口,用于保存和客户端计算机相关的内容和设置信息到本地文件中,并且用于和控制台,客户端传送某些指令或数据。W用户界面模块406:由于媒体列表服务器被设计为一个服务程序,需要有一个基本的互交界面,启动,停止服务,以及设置系统参数,该界面模块实际上类似于一个客户端,但是连接到管理端口(默认为2778,服务器程序启动后,管理端口即开启),同样基于AFC通讯协议设计。(七)通知报警模块407:该模块用于在发生一些紧急事务时,能及时的告知相关管理人员。通知和报警主要分为两部分,控制台屏幕消息和电子邮件系统。在发生如下事件时会发出报警信息1.媒体列表服务器程序意外终止或无法响应;2.媒体文件服务器FTP服务无法连接或无法响应;3.客户端电脑长时间未连接(时间可以设置);4.客户端电脑意外重启;5.客户端程序意外终止或无法响应;6.数据库服务器无法连接;7.客户端电脑调用播放软件发生严重错误。W媒体文件管理模块408:该模块主要负责和媒体存储服务器上的FTP服务器通讯,下载文件列表,删除过期文件加自动升级模块409:该模块会定时监测位于FTP服务器指定目录下的最新版客户端程序,并且记录下最新的客户端文件版本。在客户端程序每次连接到服务器时都会和这个基准版本比对,当客户端程序版本低于此版本时,服务器会要求客户端下载此最新版本文件,并且让客户端退出,完成自动升级后,再次打开新客户端程序。(十)心跳检测模块410:该模块是一个单独存在的服务程序,主要是为了能够在服务器意外出错退出或者无法响应时,主动的关闭该服务器程序,并且另外启动一个服务器程序,确保系统的平稳运行。控制台1A、1B是整个系统的用户互交部分,它为整个系统地管理提供了一个人性化的操作界面。该控制台根据实际设计需求设有通讯连接模块IOI、逻辑功能模块102、配置信息模块103和用户界面模块104四个功能模块。以下具体描述各功能模块(-)通讯连接模块101:该模块负责和媒体列表服务器通讯,采用AFC通讯协议。(二)逻辑功能模块102:该模块负责处理和媒体列表服务器通讯中的AFC请求和应答。曰配置信息模块103:该模块负责发送,解析和服务器通讯过程中的XML配置信息。卿用户界面模块104:该模块负责和用户互交信息,设计上分成四块(l)菜单工具栏部分该部分主要是所有系统功能的分类显示,对于一些较常用的功能,放在工具栏上。详见表h主项菜单下拉菜单项功能描述文件登录系统使用用户名登录系统登出系统登出系统修改密码修改登录用户的密码提交配置变动把修改的内容提交到服务器放弃配置变动放弃之前做的修改,恢复到上一次提交的内容<table>tableseeoriginaldocumentpage11</column></row><table><table>tableseeoriginaldocumentpage12</column></row><table>(4)状态栏部分该部分主要是提示当前选择功能的描述,以及显示一些系统状态。客户机6A、6B、6C是安装在每一台客户端电脑上,接收服务器传过来的指令,依照指令做出相应的动作,对客户端电脑全方位进行控制和监视的程序。该客户端根据实际设计需求设有通讯连接模块601、逻辑功能模602、XML解析模块603、媒体播放模块604、图片播放模块605、屏幕区域播放接口606、字幕播放模块607、媒体文件管理模块608、自动升级模块609和心跳检测模块610等十个模块。以下具体描述各功能模块(-)通讯连接模块601:该模块负责和媒体列表服务器通讯,采用AFC通讯协议。G逻辑功能模块602:该模块负责核心逻辑功能处理,所有服务器发送来的AFC请求和应答,都在该模块中处理。(3XML解析模块603:该模块的作用是提供一个接口,用于解释服务器发送过来的XML格式内容,保存到本地,用于万一和服务器断开连接之后,仍然能够正常地运行和播放内容。卿媒体播放模块604:该模块用于和各种媒体播放软件整合,统一各个模块的播放接口(目前包括WindowsMediaPlayer10.0和PowerPoint2003),同时提供这些播放接口来用于播放各种不同的媒体(WMV,WMA,MP3,AVI,PPT)。图片播放模块605:该模块主要显示BMP,GIF,JPG格式图片,并且提供统一的播放接口。的屏幕区域播放接口606:该接口主要用于区域混播,不仅用于字幕播放,还可以搭载其他控件,用于播放天气预报、时间等文字信息,也可用于显示图像或动画。(七)字幕播放模块607:该模块主要负责按照要求的显示字幕(内容,高度,滚动速度等),并且和媒体播放模块很好的配合。该模块将做成一个控件,实现一个接口,用于在媒体播放装置7A、7B、7C上显示内容。W媒体文件管理模块608:该模块主要负责管理本地媒体文件,把文件分为5类1.完好的文件2.需要下载的文件3.正在下载的文件4.需要校检得文件5.需要删除的文件它的主要功能1.根据媒体列表,和媒体存储服务器上的FTP服务器通讯,下载文件。2.并且如果下载不完全,能够断点续传。3.全部下载完毕后,可以根据MD5码校检文件是否完整,如果不完整,重新下载此文件。4.可以删除本地媒体文件。加自动升级模块609:该模块会在服务器要求客户端升级的情况下,主动到位于FTP服务器指定目录下下载所有的最新版客户端程序文件,完成MD5校检,并且在下载完成后,启动另一个自动升级程序,然后退出客户端程序,等自动升级程序全部复制完新程序后,重新启动新的客户端程序。(十)心跳检测模块610:该模块是一个单独存在的服务程序,主要是为了能够在客户端程序意外出错退出或者无法响应时,主动的关闭该客户端程序,并且另外启动一个客户端程序,确保系统的平稳运行。原理是这样的在客户端程序的事务处理线程和主线程中,每隔一段时间就会发送一个消息到这个服务程序,服务程序在一定时间内没有收到客户端的消息,或者只有某一个线程的消息,那么说明客户端程序运行出现了问题。杀掉客户端程序,并且重新启动;如果程序无法关闭,那么强制重启动电脑;并在此之前把这个事件记录一个文件中,等客户端再次连接到服务器时会自动发送这个事件。上述模块^^^^通信采用AFC协议。包含AFC协议和AFC库的通信协议设置协议规范如下所有的收发数据分为两种,基本数据帧(通讯基本数据),AFC调用数据帧(真正的数据内容)。每一个数据包都必须包含数据头,数据头格式-struct—frame—head—tBYTEbyHead;,RDdwLength;BYTEbyType;DWORDdwReserved该数据包是否加密(l)基本数据帧格式在紧接着—frame—head_t的结构数据后面跟着的第一个字节决定着数据帧的类型(即以下各数据结构中的byHead字段)。请求连接服务器发送struct_ini—ask_struBYTEbyHead;〃必须是0x55BYTEbyType;〃0x01:如果此连接需要验证客户端,0x00:不需要验证14〃必须是Oxll〃整个数据包的长度,包括此结构〃0x01:基本数据帧;0x04:AFC调用数据帧;〃保留字段,一般为0在AFC调用数据帧中最低位可以表BYTEbyEnocdeType;〃暂时没什么用处,设置为1BYTEbyVersion;〃版本,为2DWORDdwReserved;//保留字段,为0应答连接请求客户端发送struct—ini—rpy—struBYTEbyHead;〃必须是0x56BYTEbySupport;〃0xFF:支持该服务器,0x00:不支持该服务器BYTEbyAfcFlag;〃最低位必须置1,最低第二位表示是否在AFC中应用了加密模块'BYTEbyType;〃必须是0BYTEbyReserved[14];〃保留字段,必须是0最终连接应答服务器发送struct—ini_acc_struBYTEbyHead;〃必须是0x57BYTEbyAcc印t;〃0x00:表示服务器接受此客户端连接,其他数值表示拒绝连接的错误代码BYTEbyErrDescription[200];〃拒绝连接的错误描述BYTEbyFeature;〃表明服务器所支持的功能,最低位表示该服务器支持AFC数据帧BYTEbyReserved[15];〃保留字段,必须是0如果之前客户端的请求byAfcFlag中允许服务器加密,那么紧接着这个结构体,服务器需要发送一个SessionKey给客户端,该SessionKey允许由客户端和服务器自定义以上三种基本数据帧表示了整个连接的建立过程,1.由服务器向客户端发送jni一ask—stru数据包2.由客户端向服务器发送jni一rpy—stru数据包3.由服务器向客户端发送jni—acc—stru数据包(根据情况,可能还跟着SessionKey)此时,双方连接完成建立。此外如果服务器需要认证客户端,还有两种基本数据帧用于辅助连接,査询客户端用户信息BYTEbyHead;〃必须是0x01应答客户端用户信息-客户端发送struct—ini_userinfo—rpy—struBYTEbyHead;〃必须是OxOC紧接着这个结构体,客户端可以发送自定义用户认证数据,一般是用户名和密码,可能也有其他的信息。值得注意的是,一般来说基本数据帧的数据都是不经过加解密模块的,但这是一个例外,用户认证数据是允许加密的。如果之前设置了双方通讯数据加密,那么在收发这个认证数据时会调用相应的加解密模块。客户端用户确认BYTEbyHead;〃必须是OxOD一旦服务器发送了这个数据包,说明了双方经过了用户认证,连接是可信的。到此为止,所有的连接相关的基本数据帧都介绍完毕了。还有两个用于检査连接是否保持建立的基本数据帧,检査连接是否保持建立-客户端发送struct_ini—keep—connect—struBYTEbyHead;〃必须是0x05BYTEbyHead;〃必须是OxOE(2)AFC调用数据帧格式所谓AFC调用,实际上是(AdvancedFunctionCall)的縮写,我设计这个格式的最初目的是希望网络上的调用也能像一般本地函数调用一般,可以自己定义不同功能的函数名和参数类型,调用完毕后,函数可以返回指定格式的结果;而对于调用者来说,此函数的内部是不可见的,类似于黑匣子。需要注意的是这个协议仅仅定义了一个调用规范,调用可以是由客户端发起,服务器应答;也可以是服务器发起,客户端应答。下面具体说明每一个AFC调用数据帧都受到加密模块的影响,以下的内容都是在解密以后的格式。AFC调用数据帧都必须额外包含一个数据头,struct—afc_head—tDWORDdwLength;〃AFC数据帧的长度,包括此结构BYTEbyCompressMethod;〃压縮模式,最低第1位0表示此数据包没有压缩,1表示此数据包经过了压縮处理;最低第2位置1表示即使在应答的时候此数据包也不准被压縮;最低第3位置1表示在应答的时候此数据包需要强制被压縮,其它位保留,目前需要置0BYTEbyType:〃0:这是一个请求数据,1:这是一个应答数据WORDwFlag;〃该版本中置0WORDwReserved;〃必须为0如果byCompressMethod指名了此数据包是经过了压縮的,那么首先需要解压縮,在本协议中压縮方式为原始数据长度(4字节)+标准的21^压縮方式。解压縮后分为两种类型分别讨论1.请求数据struct—afc_request_tDWORDdwldentity;〃用于一对请求/应答数据包的标示DWORDdwPararaNumber;〃此请求的参数数目—afc_unit—tauName:〃请求的名称,相当于函数名(大小写敏感)〃_afc—unit—t参数1〃—afc—unit_t参数2:〃.......................〃—afc—unit—t参数dwPaxamNumber2.应答数据//ResponseheadforAFC,follow—afc—head—tstruct_afc_response_tDWORDdwResult:〃返回结果,0:成功,其它表示错误代码DWORDdwldentity:〃用于一对请求/应答数据包的标示,应该等于请求调用的dwldentityDWORDdwResultNumber;〃返回结果数目〃—afc—unit_t结果1〃—afc—unit_t结果2〃.......................//—afc—unit_t结果dwResultNumber其中—afC_Unit_t结构是为了设计可以传输任意的数据类型而作,定义如下struct—afc_unit_tDWORDdwLength;〃数据长度BYTEbyData[O];〃数据内容,byData[dwLength]另外,在这个库中还额外的加了一些基本的SQL调用内容,就不在这里熬述了,可以参见相关附件。上述系统中的软件采用丫〔++编制,编译环境为MicrosoftVisualStudio.Net2005。运行时,客户端操作系统WindowsXPProfessionalSp2,服务器操作系统Windows2003ServerEnterpriseEditionR2,数据库MicrosoftSQLServer2005。整个系统的客户端所连接的显示设备通常是单个或多个拼接的LED显示墙。所采用的媒体播放器WindowsMediaPlayer11、JPG/GIF、PPT;FlashPlayer。此外,本系统采用TCP/IP协议开发,在客户端、控制台和媒体播放服务器之间没有采用特定的通讯协议。在客户端、控制台和媒体文件服务器之间管理媒体文件(包括上传,下载,删除等)采用了FTP协议。媒体播放列表是整个系统的核心,播放列表采用XML格式。定义了客户端计算机播放媒体文件的时间,顺序以及内容。控制台程序通过播放列表编辑工具,可以把添加到系统中的公益广告媒体/商业广告媒体/商业广告规则按照任意的顺序组合成一个或多个播放列表,并保存到服务器数据库中。然后控制台程序可以通过分发不同的播放列表到不同的客户端计算机的不同时间段上,实现不同的客户端计算机可以在不同的时间范围内播放不同的内容。一个典型的播放列表如下〈?xmlversion=〃1.0〃encoding=〃GB2312〃?〉<playlistrule><timeruletype=〃std〃start=〃06:0(h00〃end=〃21:59:59〃〉〈rulecomment=〃PUB〃name=〃adnamel〃length=〃00:00:30〃as='Ttype二〃MPG〃id=Turl="ftp://xxx.com/xxx/xxx.mpg7〉<rulecomment=〃C0M〃name=〃adname2〃length=〃00:00:30"as=T'type=〃AVT"18<formula>formulaseeoriginaldocumentpage19</formula>Playlistrule是root元素,一个播放列表文件只能包含一个playlistrule元素Time元素是时间段元素,一个播放列表文件只能包含一个time元素,其中的start/end属性说明了这个播放列表的开始时间点和结束时间点Rule元素是具体的播放媒体内容,一个time元素可以包含多个rule元素,每一个rule元素就是一个需要播放的媒体文件,comment属性指出了time元素的类型(PUB:公益,COM:商业,RUL:规则),name属性指出了广告名称,length属性指出了此媒体播放的长度,as属性指定了一旦length属性设定的长度到达之后,如果媒体仍然没有播放完毕是否要截断此媒体的播放,type属性指定了媒体文件的类型,id属性标明了这个媒体在系统中的唯一编号,url属性说明了媒体下载的地址和文件名。另外,考虑到整个项目的媒体列表服务器,控制台,客户端这三个部分,需要设计一个安装程序,以便安装到多个电脑上。所以,安装程序使用InnoSetup5做,这也是一个自由软件。由于可以支持安装脚本,功能非常强大,比一些常用的商业安装程序制作软件定制性都要强。该软件目前版本是5.1.7,可以在http:〃www.jrsoftware.org/isinfo.php获得详细信息。以下为上述技术设置时涉及到的第三方程序或库Libxml2.6.26该库是一个著名的XML操作库,GNOME中就采用了它作为XML的库。功能强大而实用,性能稳定。为自由软件,提供源代码,可以自由修改、分发,没有版权关系。软件地址http:〃xmlsoft.orgIconv1.9.2该库是一个编码转换库,用于Unicode编码和多字节编码之间的互相转换,在Libxml中也有使用到。为GNU软件,提供源代码,需要遵循GNU版权规则,软件地址http://www.gnu.org/softvrare/libiconv/Wget1.10.2该程序是一个著名的HTTP/FTP下载命令行工具,功能强大,很多Linux中都包含了这个程序,也是一个GNU软件,提供源代码,需要遵循GNU版权规则,软件地址http.V/www.gnu.org/software/wget/Zlib1.2.3该库是一个用于处理ZIP压縮内容的库,并且几乎是该领域内唯一的选择。为自由软件,提供源代码,可以自由修改、分发,没有版权关系。软件地址hp:〃www.zlib.net/FileZillaServer0.9.18该软件是一个FTP服务器程序,功能强大,便于配置,同时有图形管理界面和日志。是一个GNU软件,提供源代码,需要遵循GNU版权规则,软件地址http:〃sourceforge.net/projects/filezilla/Crypto++5.2.119一个很好的加解密类库,提供了多种算法的实现,提供源代码,基本上是一个自由软件,需要遵循它自己的版权规则,软件地址http:〃www.eskimo.com/weidai/cryptlib.htmlGuiToolKitLib1.1.5一个非常不错的界面类库,用于控制台的界面设计中,更重要的是它是一个自由程序,提供源代码,可以自由修改、分发,没有版权关系。软件地址http:〃ww.beyondata.com/Windows2003自带的FTP程序该程序用于基本且简单的FTP操作,版权包含在Windows软件中,可以用ftp.exe-h来查看帮助信息,在Windows的帮助和支持中心中也有相关内容InnoSetup5(包括一些插件)一个非常不错的安装程序制作工具软件,当前最新版本是5.1.7,属于自由软件,没有版权问题。关于该软件的详细信息可以在http:〃www.jrsoftware.org/isinfo.php获得。AFC库该库是一个用于服务器和客户端通讯和数据库访问的程序,包含了AFC3.DLL(用于服AFC调用数据帧格式能像一般本地函数调用一般,可以自己定义不同功能的函数名和参数类型,调用完毕后,函数可以返回指定格式的结果;而对于调用者来说,此函数的内部是不可见的,类似于黑匣子。需要注意的是这个协议仅仅定义了一个调用规范,调用可以是由客户端发起,服务器应答;也可以是服务器发起,客户端应答。该通信协议具有如下优点1.具有比较强大的可定制性和通用性;2.使用完成端口收发服务器端数据包,在Windows系统上有比较高的性能;3.支持加密协议;4.支持SQL数据库;5.有一定的错误处理能力。此外,本系统还涉及的技术参数与内容如下客户端可采用操作系统WindowsXPProfessionalSp2服务器操作系统可采用Windows2003ServerEnterpriseEditionR2数据库可采用MicrosoftSQLServer2005显示设备LED显示墙(单个或多个拼接)媒体播放器WindowsMediaPlayer11、JPG/GIF、PPT;FlashPlayer。本系统采用VC"H"编制,编译环境为MicrosoftVisualStudio.Net2005。现面参照参见图4、图5、图6和图7,对本发明的多媒体分发点播系统的工作过程进行描述。参见图4,用户注册流程包括下列步骤打开系统中的控制台21;用管理员的身份通过选择文件菜单下的登录系统项进行系统登录22和23;连接媒体播放服务器3的步骤24.若登录未成功则跳回到原界面重新登录,若登录成功则选择管理菜单下的用户管理进行用户的添加和删除(步骤25和26)。媒体编辑和管理流程包括文件上传流程与文件下发流程两个过程。参见图5,文件上传流程为打开系统中的媒体播放控制台程序步骤31;用系统管理20员或媒体管理员身份登录服务器步骤32;通过选择文件菜单下的媒体管理工具项进行添加/删除媒体并提交到文件服务器(步骤32、33和34),完毕后关闭媒体管理工具36。参见图6,文件下发流程为打开系统中的媒体播放控制台程序(步骤41);用系统管理员或媒体管理员身份登录服务器(步骤42);通过选择规则管理菜单下规则菜单项来添加/修改/管理规则(步骤43和44);接着通过选择播放列表管理菜单下播放列表项进行编辑播放列表(步骤45和46);然后通过选择播放列表菜单下发布播放列表项进行播放列表发布(步骤47);最后通过选择需要发布到的客户端计算机以及需要发布的时间段(步骤48);最后,客户端就能自动下载媒体文件(步骤49)。参见图7,媒体播放的整个流程为首先运行客户端程序系统启动时启动运行(见步骤51);然后运行媒体播放程序(客户端可自动启动)(见步骤52);定时监视程序。可设定播范个时间和播放持续时间(见步骤53);检测当天的媒体播放列表步骤54,是否有从服务器发送过来的适合当天播放的播放列表;如没有,则返回定时程序步骤53;如有播放列表,检测是否到达其中几个媒体的播放时间;如没有,则返回检测当天的媒体播放列表步骤54。如有,则进行播放(步骤56);如全部播放完毕,则生成终结指令,提交到媒体播放器程序,停止播放(步骤581、582);没有播放完毕,则生成播放指令,提交到媒体播放器程序,进行播放((步骤571、572);在检测媒体播放程序(步骤573),客户端程序会定时检测媒体播放器程序是否正确运行,如果不正常,则返回媒体播放程序52:反之,则回到定时程序步骤53.以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。权利要求1、一种多媒体分发点播系统,其特征在于,包括一控制装置、一交换机、一负责媒体文件的存储,上传和下传的媒体存储服务器、一媒体播放列表服务器、一数据库、若干个客户机以及与上述客户机分别相连的媒体播放装置,上述数据库、媒体播放列表服务器、媒体存储服务器依次通信连接并通过上述交换机接入公共网络;上述媒体播放列表服务器用于发布、修改和删除媒体播放列表,管理客户端电脑的媒体文件,控制客户端电脑的行为以及收集客户端电脑的运行情况以及为控制台的管理功能提供相应的接口;所述控制装置通过公共网络与媒体列表服务器相连,使得控制装置的管理员可以通过该公共网络对上述媒体列表服务器实施策略管理;上述任一客户机通过公共网络与媒体列表服务器相连,并且还与不同的媒体播放装置数据传输连接;所述控制装置包含若干的控制台,由管理员操作,用于查看和管理程序连接在媒体播放列表服务器上的程序。2、如权利要求1所述的多媒体分发点播系统,其特征在于,所述媒体播放列表服务器包含有一用户管理模块、一通讯连接模块、一逻辑功能模、一数据库连接模块、一配置信息模块、一用户界面模块、一通知报警模块、一媒体文件管理模块、一自动升级模块和一心跳检测模块。3、如权利要求1所述的多媒体分发点播系统,其特征在于,所述客户机包含有通讯连接模块、逻辑功能模、XML解析模块、媒体播放模块、图片播放模块、屏幕区域播放接口、字幕播放模块、媒体文件管理模块、自动升级模块和心跳检测模块。4、如权利要求1所述的多媒体分发点播系统,其特征在于,所述通信连接采用AFC协议。5、权利要求4所述的多媒体分发点播系统,其特征在于通信连接采用AFC协议,其设置的协议规范为所有的收发数据分为两种基本数据帧(通讯基本数据)和AFC调用数据帧。6、一种实现多媒体分发点播方法,其特征在于,该方法包括下列步骤客户机通过交换机与媒体播放列表服务器通信联络并进行用户注册,注册信息储存在媒体存储服务器中;对媒体进行编辑和管理。注册的客户端与媒体播放列表服务器通信联络,可根据媒体播放列表服务器中的列表将媒体存储服务器中相应的媒体信息进行播放-首先运行客户端程序系统启动时启动运行;然后运行媒体播放程序(客户端可自动启动);设定播范个时间和播放持续时间的定时控制步骤;检测当天的媒体播放列表是否有从服务器发送过来的适合当天播放的播放列表;如没有,则返回定时程控制步骤;如有播放列表,检测是否到达其中几个媒体的播放时间;如没有,则返回检测当天的媒体播放列表步骤。如有,则进行媒体播放;如全部播放完毕,则生成终结指令,提交到媒体播放器程序,停止播放;没有播放完毕,则生成播放指令,提交到媒体播放器程序,进行播放;由客户端程序会定时检测媒体播放器程序是否正确运行,如果不正常,则返回继续进行媒体播放反之,则回到定时控制步骤。7、如权利要求6所述的实现多媒体分发点播方法,其特征在于,所述用户注册步骤包含下列步骤打开系统中的控制台;用管理员的身份通过选择文件菜单下的登录系统项进行系统登录;连接媒体播放服务器.若登录未成功则跳回到原界面重新登录以及若登录成功则选择管理菜单下的用户管理进行用户的添加和删除。8、如权利要求6所述的实现多媒体分发点播方法,其特征在于所述媒体编辑和管理包括文件上传流程与文件下发流程。9、如权利要求8所述的实现多媒体分发点播方法,其特征在于所述上传流程包括下列步骤.-打开系统中的媒体播放控制台程序,用系统管理员或媒体管理员身份登录服务器;以及通过选择文件菜单下的媒体管理工具项进行添加/删除媒体并提交到文件服务器。10、如权利要求6所述的实现多媒体分发点播方法,其特征在于所述下传程序如下打开系统中的媒体播放控制台程序,用系统管理员或媒体管理员身份登录服务器,通过选择规则管理菜单下规则菜单项来添加/修改/管理规则,接着通过选择播放列表管理菜单下播放列表项进行编辑播放列表,然后通过选择播放列表菜单下发布播放列表项进行播放列表发布,最后通过选择需要发布到的客户端计算机以及需要发布的时间段;之后客户端就能自动下载媒体文件。全文摘要本发明公开了一种多媒体分发点播系统及其实现方法。所述系统是一个旨在基于公共网络发布和管理媒体文件并控制媒体播放系统,可以实现基于因特网和企业内部网络及单机的多媒体播放。该系统包括一控制装置、一交换机、一负责媒体文件的存储,上传和下传的媒体存储服务器、一媒体播放列表服务器、一数据库、若干个客户机以及与上述客户机分别相连的媒体播放装置。所述系统的实现方法包括客户机通过交换机与媒体播放列表服务器通信联络并进行用户注册;对媒体进行编辑和管理;注册的客户端与媒体播放列表服务器通信联络等。本发明所述多媒体分发点播系统以及实现方法能通过远端网络进行有效的控制和监控等,减少人力维护和监控客户端。文档编号H04N7/173GK101472140SQ20071017352公开日2009年7月1日申请日期2007年12月28日优先权日2007年12月28日发明者卢文滨,张明伟申请人:上海高翔广告传播有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1