Web服务器和浏览器协同管理远端视频服务器的方法
【专利摘要】WEB服务器和浏览器协同管理远端视频服务器的方法。用途是视频服务器、WEB服务器和浏览器是Internet网上三个节点时,浏览器能视频播放和注解显示。它的方法包括:WEB管理浏览器从通信服务器获得匹配的WEB管理ID和通信服务器固定IP给视频服务器,以便视频服务器主动连通信服务器,通信服务器根据管理消息的用户类型,分别得到视频服务器和WEB浏览器的IP和视频通信的端口号,并发给各自对方以便它俩视频通信,同时建立和维护与它俩的链路,通信服务器和它俩依据WEB管理ID建立映射关系,WEB管理浏览器查看通信服务器管理的链路参数状态并管理WEB服务器数据库。本发明解决了视频服务器与通信服务器和浏览器中参数如何映射的问题。
【专利说明】WEB服务器和浏览器协同管理远端视频服务器的方法
【技术领域】
[0001]本发明属于基于WEB方式的提供实时视频的网络视频服务器的【技术领域】,具体涉及WEB浏览器对远端视频服务器的管理,WEB服务器对远端视频服务器的管理,以及WEB浏览器播放远端视频服务器视频的方法。
【背景技术】
[0002]视频服务器已广泛存在我们生活中,它的管理也各种各样,如基于RTSP的流媒体视频服务器,在Web环境下实现视频交互,如基于WEB的远程教学视频交互系统和基于Internet的嵌入式视频监控系统,不胜枚举。
[0003]与本专利最接近的技术方案是国内著名杂志《计算机应用与软件》2004年11月的第21卷第11期《基于WEB的远程教学视频交互系统设计》(作者是武汉大学计算机学院徐明和深圳大学教育技术与信息中心陈瑶),类似的国内申请(专利)号:200610078963.9个性化远程教学系统及方法,这些技术方案都是针对学生进行个性化远程教学的设计,使一个教师同时面对几百名学生进行授课,从而也极大地节省并合理利用教师资源,它的目的和实现方法显然与我的专利相差太远。
[0004]一、所述杂志的教师机(对应专利中授课单元),虽然类似于一个视频服务器,但该视频服务器与浏览器是绑在一起的,绑在里面的视频服务器设计为一个ActiveX控件而存在,那么所述教师机只能在一个支持浏览器的平台中运行,同时必须打开浏览器后视频服务器才能工作,使用范围有很大的局限性,而且作为一个ActiveX控件存在,运行起来是不安全的,无法达到服务器所要求的长时间运行稳定性和安全性,也无法作为服务器在后台运行,而我专利中视频服务器是作为单独进程存在,可在嵌入式操作系统中运行,不需要嵌入式操作系统支持浏览器去登陆WEB服务器做WEB动态管理,运行可长久,可在后台运行,运行是安全的。
[0005]二、作为ActiveX控件的视频服务器,并不需要事先得到杂志中所述的通信服务器应用程序(对应专利中的教学数据单元)的IP地址,因为打开网页后,WEB服务器也就是通信服务器应用程序的IP会返回给浏览器中ActiveX控件,而我专利中视频服务器始终是通过配置文件获得通信服务器应用程序的IP和视频服务器的WEB管理ID,并把该视频服务器的WEB管理ID传给通信服务器,这样通信服务器通过上传来的WEB管理ID去找到视频服务器的IP,建立映射关系,而杂志中所述的通信服务器应用程序是通过网页传到通信服务器的用户名或用户ID去找到教学数据单元,从而建立映射关系,实现方案差别很大。
[0006]三、更大差别是,本专利设计了 WEB管理ID来映射通信服务器、视频服务器、WEB管理浏览器和WEB播放浏览器四者的关系,另外,本专利设计了管理浏览器来专门管理远端的视频服务器的视频通信和链路维护。
[0007]四、所述杂志的教师机作为一个视频服务器的设计方案,使视频服务器不再绑定在WEB服务器本地,使视频服务器和教师脱离出来,也就是教师不需要老是固定到WEB服务器本地讲课,有一定有益效果,但这种设计方案的初衷就是使视频服务器和教师绑定在一起,但可一起移动,教师登陆,视频服务器就在,教师不登陆,视频服务器也就不存在,而本专利中WEB服务器、视频服务器、WEB管理浏览器(相当于教师)互不绑定在一起,其中的视频服务器在需要的时候既可以移动,也可以作为真正视频服务器独立长久运行,并且WEB管理浏览器既可以在线,也可以下线,可不分时间地点动态管理远端视频服务器。
【发明内容】
[0008]本发明的目的是,解决了 WEB浏览器、WEB服务器和视频服务器三者之间是Internet网上三个节点的情况下,WEB浏览器和WEB服务器如何管理视频服务器,使得WEB浏览器能够播放远端视频服务器视频的问题。
[0009]本发明的技术方案是:把WEB浏览器分为WEB管理浏览器和WEB播放浏览器,WEB服务器对WEB管理浏览器的不同注册ID号也就是用户名不同,在WEB服务器全域数据库内分配不同和唯一的WEB管理ID加以标识和区分,这样做到每一个WEB管理ID对应一个视频服务器的管理和视频访问,依据WEB管理ID,建立起通信服务器、WEB浏览器和视频服务器的映射关系。WEB管理浏览器和WEB播放浏览器是否使用同一个IP不受影响,当然,WEB管理浏览器和视频服务器是否共用一个IP,是否在同一台计算机上也不受影响,但具体解决方案略有不同。
在Internet网上设计专用的通信服务器和Web服务器,通信服务器作为一个应用程序驻留在Web服务器中,通信服务器对视频服务器的管理,主要是它们之间通信管理,由于通信服务器具有Internet网上固定和唯一公共IP,需要对视频服务器配置所述固定和唯一公共IP,以便视频服务器主动去连通信服务器,建立它们之间的链路,通信服务器对该链路进行实时管理和状态记录。通信服务器通过与WEB浏览器建立起来的链路,一样对该链路进行实时管理和状态记录。
[0010]WEB管理浏览器对视频服务器的管理,主要是它通过页面操作,获得通信服务器的上面所述公共IP和它的WEB管理ID,并依据视频服务器和WEB管理浏览器是否在同一台计算机上做不同的处理,以便对视频服务器配置通信服务器的所述公共IP和所述视频服务器的WEB管理ID,当它们两个不在同一台计算机上时,把页面操作获得的所述公共IP和WEB管理ID通过手动添加配置视频服务器并保存配置文件;当它们两个在同一台计算机上时,通过页面按扭操作,直接改写某个目录下视频服务器的配置文件。WEB管理浏览器还能通过页面操作获得通信服务器与视频服务器之间的链路状态,并能播放它管理的视频服务器中的视频,以便更好检查和维护视频服务器的IP配置和链路物理连接,查看播放后果,同时,通过页面操作,实现WEB页面互动,修改WEB管理ID所对应的视频服务器中视频在WEB服务器中的注解(也就是修改WEB服务器的数据库中的内容),以便WEB播放浏览器播放所述ID对应的视频服务器中视频时,还能在网页中看到针对该视频的许多注解。
[0011]本发明的有益效果是,由于远端的视频服务器只依赖于Internet网与浏览器和固定WEB服务器发生关系,视频服务器可随意分散各地,通过WEB服务器集中管理,解决了以往制约该行业发展的WEB视频服务器中视频带宽瓶颈和巨额带宽成本问题,同时,视频服务器拥有者通过浏览器管理一样可随意维护移动的视频服务器的网络性状和视频内容说明,这些对于其他非管理者视频浏览者来说是透明的,但视频浏览者随意播放各地多处的视频服务器中视频的愿望得到实现。[0012]【具体实施方式】
1、通信服务器用于协调和管理WEB浏览器、通信服务器和视频服务器之间的通信活动。
[0013]通信服务器应用程序设计一个数组全局变量(这里称呼为WEB通信管理全局变量WebTG_Varbl ),数组元素个数由系统容纳的WEB管理ID的数目决定,每个WEB管理ID对应一个数组元素,数组类型是一个结构体,这样,数组元素的各结构成员分别记录这个数组元素的“WEB管理ID号”(由系统分配,分配后不变)、“视频服务器的IP和视频通信的端口号”(视频服务器的位置是可以移动的,IP可变,通过侦听视频服务器的连接后获得)、“WEB管理浏览器的IP和视频通信的端口号”(WEB管理浏览器的位置是可以移动的,IP可变,一个WEB管理浏览器的注册ID号对应唯一一个WEB管理ID号,通过Web服务器为CGI程序设置的环境变量获得)、“视频服务器在线标志”、“WEB管理浏览器在线标志”、“用户注册ID”、“用户名称”、“用户类型”(标识为WEB管理浏览器)、“视频服务器和通信服务器的链路参数链路状态”(通信服务器检查心跳消息判断链路状态)、“视频服务器和WEB管理浏览器的网络视频通信、链路参数链路状态”(WEB管理浏览器上报)等等。全局变量WebTG_Varbl做为内存数据库,它的数组元素的结构成员组成为内存数据库的一条记录,各结构成员的值实时更新保存到WEB服务器的物理数据库一张表中,当通信服务器进程刚启动时,从物理数据库中读数据,初始化每个数组元素的结构成员。
[0014]通信服务器应用程序另外设计一个数组全局变量(这里称呼为WEB播放浏览器通信全局变量WebPLT_Varbl),数组元素个数由系统支持的WEB播放浏览器注册ID号的数目决定,每个WEB播放浏览器注册ID号对应一个数组元素,数组类型是一个结构体,这样,数组元素的各结构成员分别记录这个数组元素的“WEB播放浏览器注册ID号”、“用户名称”、用户类型(标识为WEB播放浏览器)、“要访问的视频服务器的WEB管理ID”(通过Web服务器为CGI程序设置的环境变量获得,在HTTP的地址中指明)、“要访问的视频服务器的IP和视频通信的端口号”(通过要访问的WEB管理ID搜索全局变量WebTG_Varbl获得)、“WEB播放浏览器的IP和视频通信的端口号”(WEB播放浏览器的位置是可以移动的,IP可变,通过Web服务器为CGI程序设置的环境变量获得)、“在线标志”、“视频服务器和WEB播放浏览器用户的网络视频通信、链路参数链路状态”(WEB播放浏览器上报)等等,全局变量WebPLT_Varbl做为内存数据库,它的数组元素的结构成员组成为内存数据库的一条记录,各结构成员的值实时更新保存到WEB服务器的物理数据库另外一张表中,当通信服务器进程刚启动时,从物理数据库中读数据,对于每个在线的WEB播放浏览器ID号初始化WebPLT_Varbl中它对应数组元素的各结构成员,当浏览用户下线时,清除掉WebPLT_Varbl相应数组元素中的记录,以便留做新的上线用户使用,并置物理数据库中对应的该表中记录的标志为下线。
[0015]通信服务器应用程序设计一个通信管理接收线程,它收到管理消息时要判断消息的用户类型,如果用户类型是视频服务器,从消息中获得它的WEB管理ID,并根据WEB管理ID搜索全局变量WebTG_Varbl,找到它的数组元素(也就是内存数据库的一条记录),按消息类型修改该数组元素的视频服务器的IP (从连接中获得视频服务器的IP),这样,依据WEB管理ID建立起通信服务器和视频服务器IP 二者的映射关系,置该数组元素的视频服务器在线标志,同时,通信管理接收线程根据视频服务器和通信服务器之间的心跳消息,修改视频服务器和通信服务器的链路参数链路状态,一旦通信管理接收线程一定时间内受不到视频服务器和通信服务器之间的心跳消息,就置该数组元素的视频服务器下线标志;如果用户类型是WEB管理浏览器,通过WEB管理浏览器注册ID号、用户名称(通过Web服务器为CGI程序设置的环境变量获得)搜索全局变量WebTG_Varbl,找到它的数组元素(也就是内存数据库的一条记录,该记录中已有WEB管理ID),修改该数组元素的“WEB管理浏览器的IP”(从连接中获得WEB管理浏览器的IP),这样,建立起通信服务器和WEB管理浏览器IP 二者的映射关系,该关系中有唯一 WEB管理ID,并置该数组元素的“WEB管理浏览器在线”标志,按消息类型修改该数组元素的“视频服务器和WEB管理浏览器的网络视频通信、链路参数链路状态”结构成员值,按消息类型返回视频服务器和通信服务器的链路参数链路状态;如果用户类型是WEB播放浏览器,通过WEB播放浏览器注册ID号、用户名称(通过Web服务器为CGI程序设置的环境变量获得)搜索全局变量WebPLT_Varbl,找到它的数组元素(也就是内存数据库的一条记录),修改该数组元素的“WEB播放浏览器的IP” (从连接中获得WEB播放浏览器的IP),置该数组元素的“WEB播放浏览器在线”标志,给该数组元素的“要访问的视频服务器的WEB管理ID”结构成员赋值(通过Web服务器为CGI程序设置的环境变量获得,在HTTP的地址中指明),给该数组元素的“要访问的视频服务器的IP和视频通信的端口号”结构成员赋值(根据“要访问的视频服务器的WEB管理ID”结构成员,搜索全局变量WebTG_Varbl,找到要访问的视频服务器对应的IP和视频通信的端口号)。这样,依据WEB管理ID建立起通信服务器、视频服务器和WEB播放浏览器三者的映射关系。
[0016]通信服务器应用程序设计一个通信管理发送线程,当它搜索全局变量WebTG_Varbl中某WEB管理浏览器用户由下线变为在线标志,如果管理的视频服务器处于在线标志,它就把WEB管理浏览器用户的IP和视频通信的PORT发给视频服务器,把视频服务器的IP和视频通信的PORT发给WEB管理浏览器用户,如果管理的视频服务器处于下线标志,它就给WEB管理浏览器用户发送管理的视频服务器处于下线标志。当它搜索全局变量WebPLT_Varbl中某WEB播放浏览器用户由下线变为在线标志,如果要访问的视频服务器处于下线标志,它就给WEB播放浏览器用户发送要访问的视频服务器处于下线标志,如果要访问的视频服务器处于在线标志,它就把WEB播放浏览器用户的IP和视频通信的PORT发给视频服务器,把视频服务器的IP和视频通信的PORT发给WEB播放浏览器用户。
[0017]2、在Internet网上设计独立存在的视频服务器,一般采用ADSL或宽带上网,只需要拥有动态分配的公共地址,位置不必固定。视频服务器刚启动时,读配置文件得到两个关键参数:WEB管理ID和通信服务器固定IP进行通信管理初始化,并主动向通信服务器发出连接,连接消息中携带“WEB管理ID”参数,这样,报告自己动态分配的公共地址及所属的“WEB管理ID”两个参数。实现视频服务器的视频通信,首先需要“视频通信管理收发进程”收到通信服务器管理消息,得到视频服务器客户端WEB浏览器的IP和PORT ;其次是“视频通信控制收发进程”,使用RTSP / RTP协议实现。
[0018]“视频通信管理收发进程”,接受WEB管理浏览器用户对配置文件的手动配置,得到上面所述WEB服务器的公共IP和它的WEB管理ID两个配置参数,或在WEB管理浏览器上通过按钮操作,直接修改视频服务器中配置文件所述两个配置参数。“视频通信管理收发进程”读取配置文件,得到所述两个配置参数后,就可通过Winsock的调用建立起与通信服务器的连接,收发视频服务器和通信服务器之间的心跳消息,并且收取通信服务器发来的管理消息,通过管理消息获取WEB管理浏览器用户的IP和视频通信的PORT或WEB播放浏览器用户的IP和视频通信的PORT,这样,视频通信控制收发进程使用RTSP / RTP协议就可实现视频通信。
[0019]3、WEB管理浏览器以Web控件的形式实现。Web控件通过“视频通信管理收发进程”接受通信服务器管理消息的收发,其次通过“视频通信控制收发进程”使用RTSP / RTP协议实现视频传输。
[0020]WEB管理浏览器打开网页访问WEB服务器后,Web控件通过“视频通信管理收发进程”与通信服务器建立起心跳消息来保持连接,Web控件依靠此连接从通信服务器收到管理消息,获取网页要浏览的视频服务器的IP和视频通信的PORT,这样,Web控件中“视频通信控制收发进程”就可以使用RTSP / RTP协议在WEB管理浏览器端实现视频服务器中的视频传输和播放。同时,依靠它的所述连接,Web控件通过“视频通信管理收发进程”,把视频服务器和WEB管理浏览器之间的网络“视频通信、链路参数链路状态”发消息给通信服务器。
[0021]WEB管理浏览器通过网页操作,向通信服务器发送请求消息,查看视频服务器和通信服务器的链路参数链路状态,但只能查看与WEB管理浏览器的WEB管理ID匹配的链路。
[0022]WEB管理浏览器通过网页操作,动态交互和管理WEB服务器中它的数据库数据(这些数据与WEB管理浏览器的WEB管理ID匹配,它匹配视频服务器中的视频内容说明)的输入输出基本语法:
〈FORM M ETH0D=get / post ACT0D=URL>< 0RM> 。 [0023]这样,WEB播放浏览器打开该WEB管理ID对应的网页,不但能播放视频,还能通过HTML看到该视频的文字说明。
[0024]4、WEB播放浏览器也以Web控件的形式实现,它的“视频通信管理收发进程”和“视频通信控制收发进程”的实现方案与WEB管理浏览器一样。不同的是,不发送请求消息查看视频服务器和通信服务器的链路参数链路状态,也不动态交互和管理WEB服务器中它的数据库数据。
【权利要求】
1.一种管理视频服务器的方法,在视频服务器驻留在浏览器中或驻留在WEB服务器中时,浏览器能视频播放,其特征是:视频服务器独立存在时,WEB管理浏览器从通信服务器获得匹配的WEB管理ID和通信服务器固定IP给视频服务器,以便视频服务器主动连通信服务器,通信服务器依据WEB管理ID建立起与视频服务器和WEB管理浏览器两者的映射关系,据此把两者各自IP和端口号发给对方以便它俩视频通信。
2.根据权利要求1所述的管理视频服务器的方法,其特征是:视频服务器刚启动时要读配置文件,配置文件必须有两个关键参数=WEB管理ID和通信服务器固定IP。
3.根据权利要求1所述的管理视频服务器的方法,其特征是:通信服务器、视频服务器、WEB管理浏览器和WEB播放浏览器四者的关系,依据WEB管理ID来映射。
4.根据权利要求1所述的管理视频服务器的方法,其特征是:WEB管理浏览器通过网页操作,查看视频服务器和通信服务器的链路参数链路状态,查看的链路与WEB管理浏览器的WEB管理ID匹配。
【文档编号】H04N21/643GK103974136SQ201310041622
【公开日】2014年8月6日 申请日期:2013年2月4日 优先权日:2013年2月4日
【发明者】周成 申请人:周成