一种视频集中存储和播放的控制方法及装置的制作方法

文档序号:7579155阅读:245来源:国知局
专利名称:一种视频集中存储和播放的控制方法及装置的制作方法
技术领域
本发明涉及视频流控制系统,具体地,涉及视频集中存储和播放的控制方法及相应的系统。
背景技术
本发明适用于在网络中传送视频流。随着视讯业务的发展,出现了越来越多的视频网站等提供视讯类业务的服务商。一般的,都是将视频录像文件存储在某存储介质上,用户点播该录像时通过网络将该录像文件传送到用户端,然后解码后视频画面显示在显示屏幕上。正是由于视讯类业务的发展,通过网络传输视频流越来越多,而由于我国网络带宽的限制,现有网络传输视频流时经常卡、顿,造成视频画面不流畅,从而影响视讯业务的开展。由此,发明了一种能够适应现有网络,能够实现视频流快速传送,并且视频画面那个流畅的方法。本发明创新了一种新型的视频文件格式,使得视频流在传输时能够更加的快速、 效率更高,解码出来的视频画面更加的清晰、
采用本发明可以让视频流适应现有网络,能够解决现在视频流传输不流畅和解码的视频画面不流畅、不清晰的问题。如,目前流行的高级流格式(Advanced Streaming Format, ASF)的视频文件格式。现在主要使用的视频文件格式是高级流格式格式,高级流格式是Advanced Streaming Format的简称,是由微软公司开发用于网络传播和播放动态影像的一种流媒体格式。它包含音频、视频、图像等多种形式,其最大的特点就是体积小。是针对网络传播而开发的通用多媒体文件格式,适合在网络上播放。首先各摄像头视频源,将模拟的视频信号传送给编码器,编码器编码后编码成高级流格式文件格式,高级流格式文件格式由一帧一帧的视频文件组成。高级流格式格式的视频文件存储在存储设备上。当用户需要点播该录像文件时,通过IP网络传输高级流格式格式的视频文件,到达用户端后,用户端的解码器对接收到的高级流格式格式的视频文件进行解码,解码还原为原始的视频信号,然后在各种显示屏幕上显示视频画面。由于高级流格式文件格式是由一帧一帧的视频文件组成,而每一帧的视频文件都较大,从而组合而成的高级流格式文件就较大。又由于我国的网络质量不是太好,而视频文件又较大,因此,在传输高级流格式格式的视频文件时,由于带宽的问题,接收端的显示屏幕不可避免的出现显示的视频画面卡、顿等问题。而由于显示屏幕所显示的视频画面卡和顿的因素,造成用户体验感很差,甚至造成用户会放弃视频业务。而现有技术一般采取的仅仅是调节接收端的内存,让内存尽可能的大,接收端的缓冲大了,接收到高级流格式格式的视频流后,等到缓冲快满时才一起解码,从而显示屏幕显示的视频画面是先卡住,然后突然播放一大段视频画面,然后再卡住,再播放一大段视频画面。这样处理,虽然较之以前有了些许的改善,但是无法从根本上解决问题,用户体验还是很差。而采用本发明可以完全解决该问题,使得视频流传输时更加顺畅,接收端解码后显示屏显示的视频画面流程,没有卡、顿。

发明内容
针对现有技术中的缺陷,本发明的目的是提供一种视频集中存储和播放的控制方法以及相应的控制系统。根据本发明的一个方面,提供一种视频集中存储和播放的控制装置,其特征在于,包括如下步骤
a.服务器端从视频文件中读取小包;
b.所述服务器端将所述小包通过网络发送给客户端;
c.所述客户端将所述小包组成中贞。根据本发明的又一个方面,还提供一种视频流控制系统,其包括
至少一个服务器,用于存储多个视频文件;
多个客户端,所述客户端通过网络与所述服务器相连接,且所述客户端从所述服务器下载视频文件;
其特征在于,所述服务器根据本发明所述的控制方法存放以及发布所述视频文件。本发明的技术可以实现低带宽的情况下用户也可以享受高品质的视频点播这样的视讯类业务。


通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显
图I示出根据本发明的第一实施例的,视频集中存储和播放的控制方法的流程图;以

图2示出根据本发明的第一实施例的,本发明提供的视频流控制系统所管理的视频文件的格式的示意图。
具体实施例方式针对上述所描述的技术问题,本发明的目的就是通过新的技术手段解决该问题,使得视频流传输时更加顺畅,接收端解码后显示屏显示的视频画面流程,没有卡、顿。具体地,图I示出根据本发明的第一实施例的,视频集中存储和播放的控制方法的流程图。首先执行步骤SlOl :服务器端创建视频文件。本领域技术人员理解,在本实施例中,优选地,所述服务器端首先创建所述视频文件的文件头对象区,其中,所述文件头对象区用于记录所述视频文件的基本信息。其次创建所述视频文件的流属性对象区,其中,所述流属性对象区用于记录媒体数据流的基本信息。而后创建所述视频文件的数据头对象区,其中,所述数据头对象区用于记录所述视频文件中数据块的数量。接下来创建所述视频文件的媒体流数据区,其中,所述媒体流数据区用于记录所述小包。然后创建所述视频文件填充对象区,其中,所述填充对象区用于对所述视频文件的剩余空间进行填充。接下来创建所述视频文件的索引对象区,其中,所述索引对象区用于记录所述视频文件中索引的数量。最后创建所述视频文件的索引数据区,其中,所述索引数据区用于记录索引,其中,所述索引用于指示所述小包在所述视频文件中的偏移位置。上述各创建过程都可以通过现有技术手段实现,在此不再赘述。其次进入步骤S102 :所述服务器端以小包的形式将媒体数据存储在所述视频文件中。本领域技术人员理解,所述服务器首先创建所述小包的小包头信息,再将所述媒体数据记录到所述小包中,最后根据所述小包在所述索引数据区中的偏移量创建索引。所述小包头信息包括以下信息中的任一种或多种信息小包长度信息、时间戳、序列号、以及数据流号。然后执行步骤S103 :服务器端接收来自客户端的请求发布一视频文件的请求信息。具体地,本领域技术人员理解,所述客户端根据用户的操作创建相应的请求信息,并将所述请求信息发送给所述服务器端。所述服务器端接收所述请求信息。优选地,所述请求信息通过公网发送,例如通过互联网发送,或者通过移动互联网发送;次优地,所述请求信息通过私网发送,例如在一个系统、公司内部的局域网,或者某些专网,这并不影响本发明的实质内容。本领域技术人员结合现有技术可以实现这样的发送与接收过程,在此不予赘述。 接下来进入步骤S104 :服务器端根据所述请求信息确定相应的视频文件,并从视频文件中读取小包。本领域技术人员理解,所述服务器端首先根据所述请求信息确定所述客户端所请求发布的视频文件。然后所述服务器端根据所述索引数据区中的索引确定所述小包在所述视频文件中的偏移位置。最后所述服务器端从所述偏移位置处读取所述小包。 进一步地,本领域技术人员理解,所述请求信息中优选地包括所述视频文件的文件名、发送请求的时间、以及请求持续有效时间等信息,根据所述视频文件的文件名的信息所述服务器端可以确定该请求信息所要求的视频文件。例如,所述视频文件的文件名是唯一的,所以可以通过文件名唯一地确定客户端所需要的视频文件。进一步地,本领域技术人员理解,优选地通过置于所述服务器端的、本发明提供的控制系统实现本步骤,在此不予赘述。然后执行步骤S105 :所述服务器端将所述小包通过网络发送给客户端。本领域技术人员理解,所述服务器端首先向所述客户端发送如下任一种或任多种数据区中的信息 所述文件头对象区、所述流属性对象区、以及所述数据头对象区。然后所述服务器端向所述客户端发送所述媒体流数据区中的所述小包。最后所述服务器端向所述客户端发送如下任一种或任多种数据区中的信息所述填充对象区、所述索引对象区、以及所述索引数据区。 进一步地,本领域技术人员理解,可以参考现有技术中关于丢帧的处理方式处理在本步骤中数据包丢失的情况,例如至少可以参考任何关于计算机网络的教材来解决该问题,而这也不是本发明的重点,在此不予赘述。最后执行步骤S106 :所述客户端将所述小包组成帧。本领域技术人员理解,所述客户端接收所述视频文件。而后所述客户端将所述数据流号相同且所述序列号连续的小包组成帧。最后所述客户端将所述视频文件中的小包组成帧。进一步地,本领域技术人员理解,上述步骤SlOl中的各创建过程,以及上述步骤 S103中的发送与接收过程可以通过现有技术予以实现,例如至少可以参考伊拉希(美)所著的《网络通信技术》、罗斯(美)与库罗斯(美)合著的《计算机网络》等文献。描述了这样的过程,在此不予赘述。进一步地,本领域技术人员理解,在一个变化例中,所述步骤SlOl中可以通过其他方式予以实现。例如其可以仅 仅创建所述文件头对象、填充对象、索引对象、以及索引数据区。而不必创建所述步骤SlOl中所有的内容。优选地,本领域技术人员理解,至少所述流属性对象、数据头对象、以及媒体流数据区为可选内容,这并不影响本发明的实质内容。在一些优选例中,其意义至少在于可以创建一个没有实质视频内容的视频文件,但可在日后填入视频内容,这样可以提高视频的存储效率。更进一步地,本领域技术人员理解,在一个变化例中,所述步骤SlOl可以被如下步骤替换“确定一个可以被覆盖的视频文件”,即寻找一个过期或者无用的视频文件,将新的视频文件覆盖所述过期或无用的视频文件,这样的好处至少在于可以节省存储空间。本领域技术人员理解,在这样的变化例中,并不重新创建一个视频文件,而是寻找一个可以被覆盖的视频文件,然后在此基础上更新该视频文件。进一步地,本领域技术人员理解,优选地,更新该视频文件的过程通过更新所述视频文件的文件头对象区、流属性对象区、数据头对象区、填充对象区、以及媒体流数据区来完成。更进一步地,本领域技术人员,本实施例中的步骤SlOl、S102与后续步骤并非在同一个时间段完成。优选地,步骤S101、S102实现了存储视频文件的过程,而且采用了本发明提供的存储方式对这些视频文件进行存储。这些视频文件可能是通过前台摄像终端所实时拍摄并实时存储的,也可能是预先存储在第三方系统中并根据本发明提供的控制方法转存至本控制系统所维护的物理磁盘上,这并不影响本发明的实质内容。进一步地,由于不同的视频文件可能在不同时间段被拍摄或转存,所以上述步骤S101、S102可能在不同时间段被不停地执行,本领域技术人员结合现有技术以及上述实施例可以理解这样的过程,在此不予赘述。更进一步地,本领域技术人员理解,在根据上述步骤S101、S102存储了一个或多个视频文件后,后续的步骤S103 S106可能被执行,在此不予赘述。而所述步骤S103飞106中,部分步骤由(置于)所述服务器端(内的、本发明提供的控制系统)来实现,部分步骤由客户端(内的与本发明提供的控制系统相对应的控制装置)实现,在此不予赘述。进一步地,参考上述图I所示实施例,本领域技术人员理解,本发明提供的小包头信息包括如下信息中的任一种或任多种信息小包长度信息;时间戳;序列号;以及数据流号。其中,所述小包长度信息用于指示所述小包的比特字长度。相应地,所述时间戳信息用于指示创建所述小包的时间,用于保证所述小包之间的顺序。相应地,所述序列号用于指示所属小包的唯一性和连续性,创建所述小包时,系统将分配一个唯一的且连续的号码即序列号。相应地,所述数据流号用于指示所述小包属于哪个所述视频文件,同一个所述视频文件下的所述小包的数据流号都相同。进一步参考上述步骤S106,本领域技术人员理解,通过对上述小包头信息的利用,可以实现对小包的重组,从而得到所述客户端可以使用的视频文件,在此不予赘述。进一步地,本领域技术人员理解,上述小包长度是字节为单位的,视频文件包含多个视频流和音频流,在每个流中,实际上就包含了很多的小包,这些小包的所属流号都是相同的,但是序列号的连续递增的。因此,通过上述步骤,就可以实现本发明提供的视频存储过程,在此不予赘述。更进一步地,本领域技术人员理解,在本实施例中,所述步骤S102中优选地包括了“根据所述小包在所述索引数据区中的偏移量创建索引”的子步骤,其中所述偏移量指存储单元的实际地址与其所在的段地址之间的距离,所述段地址即指所述索引数据区的首地址。所述子步骤“根据所述小包在所述索引数据区中的偏移量创建索引”即根据所述小包的存储单元的实际地址与所述索引数据区的首地址之间的距离创建索引。图2示出根据本发明的第一实施例的,本发明提供的视频流控制系统所管理的视频文件的格式的示意图。本领域技术人员理解,本发明定义的视频文件格式的作用就是小文件更容易在现有带宽不够的情况下快速的传送。优选地,在本发明的第一实施例中,所述视频文件包括文件头对象21、流属性对象22、数据头对象23、填充对象24、媒体流数据区 25、缩影对象26、以及索引数据27。更具体地,本领域技术人员理解,所述文件头对象21描述了所述视频文件的一些基本信息,所述文件头对象21内容包括
-KDSObjectUnit m—ObjectHead ;
-U32 m—MageNum;以及 -U8 m—byVer。进一步地,本领域技术人员理解,上述伪代码中,所述m—MageNum优选地指魔数, 一般我们用在文件或消息的开头,用来表示消息或文件头是没有被破坏的或是我们期望的。所述m_byVer优选地指文件格式的版本号。进一步地,本领域技术人员理解,所述流属性对象22描述了所述视频文件的音频/视频流的一些基本属性。所述流属性对象22的内容包括
-KDSObjectUnit m_0bjectHead ;
-U32 m_dwRecTime ;
-U32 m_dwMaxReadBuff ;
-U32 m_dwIndexLoc ;
-U32 m_dwMaxPackSize ;
-U8 m_byPackType ;
-U8 m_byMediaCount ;以及 -U8 m_byMediaType[MAX_KDS_STREAM_NUM] 类似地,本领域技术人员理解,所述m_dwRecTime优选地指录像时长;所述m_ dwMaxReadBuff在此优选地指最大可以读取内存区域的数量,在某些实施例中可以被忽略; 所述m_dwIndexLoc优选地指索引的位置;所述m_dwMaxPackSize优选地指一个小包的最大长度;所述m_byPackType优选地用于指示所述Pack的类型,并在变化例中可以被省略;所述m_byMediaCount优选地指媒体流的个数;所述m_byMediaType优选地指媒体的类型,例如音频流或视频流。进一步地,本领域技术人员理解,所述数据头对象23描述了所述视频文件总共有多少的数据块。所述数据头对象23的内容包括
-KDSObjectUnit m—ObjectHead ;
-U32 m—dwPackCount。本领域技术人员理解,所述填充对象24用于填充剩余空闲的区域。所述填充对象 24的内容包括
-KDSObjectUnit m—ObjectHead ;
-S8* m—pbPadding。 本领域技术人员理解,所述媒体流数据区25中数据存放的方式是以包方式存放,每一包是一帧或属于一帧的一个片段。本领域技术人员理解,所述索引对象26描述总共春在多少索引。所述索引对象26 的内容包括
-KDSObjectUnit m—ObjectHead ;
-U32 m—dwIndexCount。本领域技术人员理解,所述索引数据区27每一秒钟创建一个索引,但是每一个索弓I都是指向一个包在文件中的偏移。进一步地,所述文件头对象21、所述流属性对象22、所述数据头对象23、以及填充对象24的大小总和为IK字节。
本发明的目的就是通过新的技术手段解决该问题,使得视频流传输时更加顺畅, 接收端解码后显示屏显示的视频画面流程,没有卡、顿。具体的实现方案是通过定义新的文件格式,新的文件大小比高级流格式文件要小得多。小文件更容易在现有带宽不够的情况下快速的传送,接收端接收到小文件后快速的将小文件组合成大文件,再解码,然后在显示屏幕上显示流畅的视频画面。视频文件存储的是包,而不是帧,包属于一帧中的一个片段或完整一小帧,这样做的好处在于
1.作为录像放像,读取一包,就可以进行网络发送,效率比较高
2.用户点播该录像文件时,服务端读取文件,抽出包,然后进行发送,服务端不需要将包组成一帧一帧,然后再通过网络传送大的高级流格式文件,用户端接收到包后,将包组成一帧一帧的。这样一来降低了服务端的工作压力、二来降低了对网络带宽的要求,可以让低带宽用户也可以使用点播等这样的业务。以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
权利要求
1.一种视频集中存储和播放的控制方法,其特征在于,包括如下步骤 a.服务器端从视频文件中读取小包; b.所述服务器端将所述小包通过网络发送给客户端; c.所述客户端将所述小包组成中贞。
2.根据权利要求I所述的控制方法,其特征在于,所述小包包括一帧中的一个片段或者完整一小中贞。
3.根据权利要求I或2所述的控制方法,其特征在于,在所述步骤a之前还包括如下步骤 A.所述服务器端创建所述视频文件; B.所述服务器端以小包的形式将媒体数据存储在所述视频文件中。
4.根据权利要求3所述的控制方法,其特征在于,所述步骤A包括如下步骤 -创建所述视频文件的文件头对象区,其中,所述文件头对象区用于记录所述视频文件的基本彳目息; -创建所述视频文件的流属性对象区,其中,所述流属性对象区用于记录媒体数据流的基本彳目息; -创建所述视频文件的数据头对象区,其中,所述数据头对象区用于记录所述视频文件中数据块的数量; -创建所述视频文件的媒体流数据区,其中,所述媒体流数据区用于记录所述小包。
5.根据权利要求4所述的控制方法,其特征在于,所述步骤A还包括如下步骤 -创建所述视频文件填充对象区,其中,所述填充对象区用于对所述视频文件的剩余空间进行填充。
6.根据权利要求3至5中任一项所述的控制方法,其特征在于,所述步骤A还包括如下步骤 -创建所述视频文件的索引对象区,其中,所述索引对象区用于记录所述视频文件中索引的数量; -创建所述视频文件的索引数据区,其中,所述索引数据区用于记录索引,其中,所述索引用于指示所述小包在所述视频文件中的偏移位置。
7.根据权利要求3至5中任一项所述的控制方法,其特征在于,所述步骤B包括如下步骤 BI.创建所述小包的小包头信息; B2.将所述媒体数据记录到所述小包中。
8.根据权利要求6所述的控制方法,其特征在于,所述小包头信息包括如下信息中的任一种或任多种信息 -小包长度信息; -时间戳; -序列号;以及 -数据流号。
9.根据权利要求3至7中任一项所述的控制方法,其特征在于,所述步骤B还包括如下步骤B3.根据所述小包在所述索引数据区中创建索引。
10.根据权利要求I至9中任一项所述的控制方法,其特征在于,所述步骤a包括如下步骤 al.根据所述索引数据区中的索引确定所述小包在所述视频文件中的偏移位置; a2.从所述偏移位置处读取所述小包。
11.根据权利要求I至10中任一项所述的控制方法,其特征在于,所述步骤b包括如下步骤 bl.向所述客户端发送如下任一种或任多种数据区中的信息 -所述文件头对象区; -所述流属性对象区; -所述数据头对象区, b2.向所述客户端发送所述媒体流数据区中的所述小包; b3.向所述客户端发送如下任一种或任多种数据区中的信息 -所述填充对象区; -所述索引对象区; -所述索引数据区。
12.根据权利要求I至11中任一项所述的控制方法,其特征在于,所述步骤c包括如下步骤 cl.接收所述视频文件; c2.将所述视频文件中的小包组成帧。
13.根据权利要求12所述的控制方法,其特征在于,所述步骤Cl包括如下步骤 cll.所述客户端接收所述视频文件; cl2.所述客户端根据所述小包头信息将所述小包组成帧。
14.根据权利要求13所述的控制方法,其特征在于,所述步骤cl2包括如下步骤 cl21.将所述数据流号相同且所述序列号连续的小包组成帧。
15.根据权利要求I至14中任一项所述的控制方法,其特征在于,所述服务器端为视频会议前端,其用于采集图像和/或声音,所述客户端为视频会议监控平台。
16.一种视频流控制系统,其包括 至少一个服务器,用于存储多个视频文件; 多个客户端,所述客户端通过网络与所述服务器相连接,且所述客户端从所述服务器下载视频文件; 其特征在于,所述服务器根据权利要求I至15中任一项所述的控制方法存放以及发布所述视频文件。
全文摘要
本发明提供一种视频集中存储和播放的控制方法,其包括步骤a.服务器端从视频文件中读取小包;b.所述服务器端将所述小包通过网络发送给客户端;以及c.所述客户端将所述小包组成帧。本发明的技术可以实现低带宽的情况下用户也可以享受高品质的视频点播这样的视讯类业务,其解决了在低质量网络环境下处理视频传播的技术问题,对于视频监控、视频存储等领域具有重要意义。
文档编号H04N21/438GK102625138SQ20111003379
公开日2012年8月1日 申请日期2011年1月31日 优先权日2011年1月31日
发明者张之双 申请人:苏州科达科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1