视频点播系统中猝发式音视频流传输及接收技术的制作方法

文档序号:7695311阅读:306来源:国知局
专利名称:视频点播系统中猝发式音视频流传输及接收技术的制作方法
技术领域
本发明属于网络多媒体数据传送与播放领域。本发明涉及一种在网络上有效传送音频/视频流的技术,并特别涉及一种不改变已有播放体系的情况下实现视频点播(以下简称VOD)播放的方法。
2技术背景VOD技术经历多年的发展,原有的技术已经不很符合新的网络环境。现在的网络正向宽带发展,第一代和第二代VOD系统一般采用用户数据报协议(以下简称UDP)传送,这种方法适应了以前的网络环境。但在宽带网络下,UDP传送数据不能很好的节省网络带宽;另处,UDP的远程传送数据需要有路由器和防火墙的配合。传输控制协议(以下简称TCP)的传送在宽带环境下可以很好的传送数据流,但它同样在远程传送数据时需要有路由器和防火墙的配合。事实上,多数路由器和防火墙都开放超文本传输协议(以下简称HTTP)数据包和端口,如果能采用HTTP协议有效的传送数据流,则可以使VOD系统的功能更强劲,使其应用范围更广。
HTTP协议为传送WEB服务而设计,如果要使其很好的传送多媒体数据流,则必须对其进行改造。本发明可以解决这一问题。

发明内容本发明的具体内容如下●在播放器请求时才发送数据的方法;●采用特定的格式的PUT方法(HTTP协议的一种格式)请求音频/视频节目;●视频服务器回应播放器请求的方法;●播放器与视频服务器协同工作的方法;●不改变已有播放体系的情况下实现VOD播放的方法;

图1给出的是播放器发送请求包头和接收数据流的过程;图2给出的是服务器响应播放器请求的过程;图3给出的是不改变已有播放体系的情况下实现VOD播放的过程。
具体实施方式
猝发式音视频流传输及接收技术的核心思想是播放器在要需要数据时才请求服务器发送,播放器每次请求发送尽量少(但不影响播放)的数据块,服务器保证在最短的时间内把相应的数据块传送给播放器。
播放器采用HTTP协议的PUT方法向服务器请求节目流。播放器在第一次点播指定的节目和重定位节目流的位置时,请求的信息包头稍有区别。
第一次点播指定的节目时的请求信息列表●点播的节目流路径(可能是虚拟路径)●点播的节目起点位置●点播的节目终点位置●第一次点播的标志(标志是第一次点播)●点播者的帐号●点播者的密码重定位指定的节目时的请求信息列表●点播的节目流路径(真实路径)●点播的节目起点位置●点播的节目终点位置●第一次点播的标志(标志不是第一次点播)●点播者的帐号●点播者的密码由于本发明的服务器采用的是猝发式传送,为了减少服务器的运算开销,当重定位节目流时,播放器传送到服务器的节目路径是真实路径,并且标志节目为非第一次点播,这样,服务器接收到请求后,将不对请求的节目流的名字进行重新解析,也不再对用户进行认证。除此之外,对两者的请求,服务器的处理是相同的。
播放器发送给服务器的HTTP请求格式如下CHAR szRequestStreamHttpHeader[]={″USERAGENTHEROVODPLAY\r\n″∥播放器验证标志″VODUSERIP%u\r\n″ ∥用户的当地IP地址″PROIRITY%u\r\n″ ∥用于重定位时发送优先级″FILMID%u\r\n″∥影片ID″STARTPOS%u\r\n″ ∥起动位置(请求的开始位置字节数)″STOPPOS%u\r\n″ ∥结束位置(请求的结束位置字节数)″USERNAME%s\r\n″ ∥用户名称″PASSWORD%s\r\n″ ∥口令″FIRSTPLAY%s\r\n″ ∥是否起动″FILMPATH%s\r\n″ ∥文件路径″USERLANG%s\r\n″ ∥客户端字符集″USERSN%u\r\n″∥用户的时间序号″STARTTIME%s\r\n″; ∥流起动时间,从服务器上获取“\r\n”};服务器传送给播放器的包头信息列表●点播的节目流真实路径●点播的节目起点位置●点播的节目的长度(字节)
●传送给服务器的数据流的长度●传送的开始时间●节目的类型●服务器的响应码●服务器的响应字符串等图1给出了播放器请求(或重位)节目流和接收节目流的过程。该过程包括以下步骤●播放器把请求组织成szRequestStreamHttpHeader格式的HTTP头;●播放器把该HTTP头发送到相应的服务器(图1中的(1));如果发送失败,则此次的播放请求终止(图1中的(4));如果发送成功,则播放器等待服务器的回应定长的数据包头(图1中的(2));●如果服务器没有取到数据包头,则此次的播放请求终止(图1中的(4));如果取到数据包头信息,则分析服务器的返回信息。返回信息中包括服务器是否接受播放器的请求以及请求数据流的名字及大小等信息;●如果服务器接受播放器的请求,则会传送回相应的节目流的信息,并且紧接着会传送数据流;●播放器接收一块数据,然后播放;在播放过程中,播放器不再接收数据,服务器也不对其传送数据;当该块数据传送完后,播放器再请求一块数据进行播放(图1中的(3));●直到接收完所有数据或者用户中断播放过程,此次播放过程结束(图1中的(4))。
图2给出了服务器在接收到播放器的请求后的处理过程。该过程包括以下步骤●服务器有一个侦听线程接收到播放器的连接信息(图2中的(5));●当接收到一个播放器的请求后,启动一个线程为播放器服务(图2中的(6));●服务器接收线程接收播放器的请求头信息;如果接收信息出错,则拒绝服务;如果接收正确,则进一步分析播放器的请求;●如果播放器是第一次请求指定的节目流,则对节目名进行处理;当播放器第一次请求时,其请求的节目路径可能是虚拟路径,因此要进行路径转换(图2中的(7));●如果转换节目路径正确,则准备并发送回应播放器的信息包头(图2中的(8));如果发送不正确,则服务线程退出,服务器为播放器的服务终止;●如果信息包头发送正确,并且服务器认可播放器的请求,则向播放器发送数据流(图2中的(9));●服务器发送数据时,采用阻塞式发送方式;如果播放器不接收,则服务器就不能发送数据;●服务器每次发送一块数据,并且保证在最短的时间内把这块数据传送给播放器;●服务器把数据发送完毕,或者在发送的过程中数据发送不出去,则服务器的服务线程退出,不再为播放器服务。
前面阐述了播放器及服务器的协同工作完成音视频流的传输及接收技术。本发明的数据传送的关键是需要时才传送数据,如果要传送数据,则用最短的时间内传送完成。由于播放器在播放已取得的数据时,服务器不会向其传送数据。而此时服务器可以为其它播放器服务。这样每个播放请求在播放过程中不是一直占用网络带宽,而是间歇式的,猝发式的占用,从而可以充分利用网络带宽。
实验证明,在100MBPS(MBPS指每秒1M比特)的网络上,采用本发明的技术,可以传送80个1.5MBPS的MPEG1的节目流,并且保证播放流畅;也就是说,采用本发明的技术,在100MBPS的网络上可以稳定的传送120MBPS的音视频数据流,并保证它们能够流畅的播放。
能做到这一点的原因不是增加物理的网络带宽,而是本发明的猝发式传送技术适合于网络多媒体数据流的传送。这种技术充分利用音视频流边播放边取数据的特点以节省网络带宽。
在前面的阐述中,还有一点需要更进一步的说明和解决,同时这也是本发明的一个部分。这就是,现有的播放器多数是读取本地的文件进行播放,如果要支持播放网络上的文件流,则需要对播放器进行改造。MICROSOFT的MEDIAPLAYER及REALNETWORD的REALPLAYER可以播放网络上流文件。但是它们不能播放任意的非流式的文件如AVI、WAV、MIDI等。但是,如果这些文件是本地文件,则它们可以很好的被大多数据播放器播放。本发明的如下技术可以使得播放器像播放本地文件一样播放网络文件,而且不需更改播放器的原有的播放体系。
该技术的中心思想是尽量不改变原有的播放器的体系;通过挂钩系统的文件操作的API函数,挂接上的新API函数可以读取网络文件;当播放器调用文件操作API函数打开已挂接的网络文件时,新的文件操作API函数将去打开网络文件,对播放器来说,就象打开本地文件一样进行操作。
不改变已有播放体系的情况下实现VOD播放的步骤如下●装入已有的播放体系的播放器,并装入挂钩文件操作API函数的模块,同时挂接相应的API函数(图3中的(10));●调用装入的播放器播放文件(图3中的(11));如果播放的是VOD文件,则挂接对该文件的操作(图3中的(12));●播放器像播放本地文件一样操作要播放的文件,如打开音视频流文件,从文件中读取数据,重新定位文件等(图3中的(13));●如果打开的是本地文件,则被挂接的新的文件操作的API函数会调用系统的相应的函数来操作文件(图3中的(14));如果是VOD文件,则这些新的被挂接API函数会自动到VOD服务器上读取对应的VOD文件(图3中的(15));这样对于播放器来说,它根本不知道现在播放的是VOD文件还是本地文件;●播放器利用新挂接的API函数的操作要播放的节目流(图3中的(16)),直到播放结束;●如果播放完成,则解除对该文件的挂钩(如果前面已经挂接),进而该播放过程结束(图2中的(17))。
权利要求
1.视频点播(以下简称VOD)系统猝发式音视频流传输及接收技术通过一定的方法,在不改变已有的播放体系的情况下实现VOD播放,并且在播放音视频流时可以有效的节省网络带宽;该方法包括以下步骤装入已有的播放体系的播放器,并装入挂钩文件操作应用程序编程接口(以下简称API)函数的模块,同时挂接相应的API函数;挂接要播放的VOD文件,并调用装入的播放器播放该文件;播放器把请求信息组织成超文本传送协议(以下简称HTTP)请求包头,并发送到相应的服务器;然后等待服务器的回应的定长的数据包头;播放器分析服务器传回的信息,如是服务器按受播放器的请求,则播放器准备接收数据和播放;播放器接收一块数据,然后播放;在播放过程中,播放器不再接收数据,服务器也不对其传送数据;当该块数据传送完后,播放器再请求一块数据进行播放;直到接收完所有数据或者用户中断播放过程,此次播放过程结束;如果播放完成,则解除对该文件的挂钩(如果前面已经挂接),进而该播放过程结束。
2.权利要求1的方法还包括步骤服务器发送数据时,采用阻塞式发送方式;如果播放器不接收,则服务器就不能发送数据;服务器每次发送一块数据,并且保证在最短的时间内把这块数据传送给播放器;
3.权利要求1的方法还包括尽量不改变原有的播放器的体系;通过挂钩系统的文件操作的API函数,挂接上的新API函数可以读取网络文件;当播放器调用文件操作API函数打开已挂接的网络文件时,新的文件操作API函数将去打开网络文件,对播放器来说,就象打开本地文件一样进行操作。
全文摘要
多媒体数据流的数据量大,传送占用的网络带宽很大。现有的网络带宽十分宝贵,充分利用现有的网络带宽势在必行。本发明的猝发式音视频流传输及接收技术可以有效的利用网络带宽,并且不影响音视频的播放质量。本发明的关键思想是播放器需要数据时,服务器才传送;如果要传送数据,则用最短的时间内传送完成;由于播放器在播放已取得的数据时,服务器不会向其传送数据。而此时服务器可以为其它播放器服务;这样每个播放请求在播放过程中不是一直占用网络带宽,而是间歇式的,猝发式的占用,从而可以充分利用网络带。通过挂钩系统的文件操作的应用程序编程接口(API)函数,可以在不改变已有的播放器体系的情况下,可以很容易使原有的播放器可以播放视频点播(VOD)服务器上的文件。
文档编号H04N7/16GK1471317SQ0212532
公开日2004年1月28日 申请日期2002年7月25日 优先权日2002年7月25日
发明者梁肇新 申请人:梁肇新
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1