网络多媒体文件快速启动播放方法及系统
技术领域
本发明涉及多媒体传输方法及系统,具体涉及一种网络多媒体文件快速启动播放方法及系统。
背景技术
视频流(Video Streaming)是指视频数据的传输,例如,它能够被作为一个稳定的和连续的流通过网络处理。因为流动,客户机浏览器或插件能够在整个文件被传输完成前显示多媒体数据。采用视频流的视频播放技术在服务质量评估上通常涉及到媒体播放开始时间(start-to-play)、重新缓存(rebuffering ratio)和视频质量(video quality)这几个要素,他们之间相互制约,互相影响。视频流通常还涉及到自适应视频码流技术(Adaptive Streaming),自适应视频码流技术根据客户端和服务器端网络状况变化来自适应的调整传输视频的质量以达到最好的收视观看效果。网速通常变化很大,每种不同的网络类型之间的网速也差异非常大,例如,一个用户使用网络服务提供商(ISP)1兆的服务,这并不意味着该用户的带宽总是1兆,带宽在不同的时间会变化,也就是说1兆带宽的网速在不同的网络情况下会下降或者上升,从而导致视频流传输过程中会出现质量的波动。自适应视频码流技术可以调整视频的比特率来适应变化的网络环境,它是基于客户端变化的网络条件来调节传输多媒体的质量以达到最好的收视观看效果。自适应视频码流技术的一个特点就是要知道流媒体数据的元数据(metadata),例如比特码率,图像压缩中的图片组(GOP)的位置,版权控制许可(license)中的配置等。根据元数据和数据网络连接的带宽等信息,能够顺利平滑播放的最好视频码率。我们也可以根据可用的带宽和媒体元数据来计算一个被选择播放的视频码流是否能够继续一个视频播放进程。根据历史和实时带宽数据,可支撑的视频流的码率(即能够顺利平滑播放的最好视频码率)在一段时间后会重新计算。但是,媒体元数据通常存在服务器上,在媒体播放时客户端实时请求获得。在具有高时延或者其他不理想的情况比如带宽很低、高丢包率、或者很小的最大传输单元(MTU,全称Maximum Transmission Unit)限制情况,从服务器取得媒体元数据就要花费很长时间,这对开始播放时间(start-to-play,它指从用户选择播放开始到媒体真正开始播放这一段时间)是一个很大的额外开销。过长的开始播放时间会给用户带来很差的体验,现有的方法通过牺牲其他的视频流媒体播放性能来达到快速启动播放的目的,但是这样多媒体质量会得不到保障或者需要很高的重新缓存率。
发明内容
由此可见,现有技术没有向用户提供适合目前网络环境特点且能够在网络多媒体文件快速启动播放方面能使用户获得更好体验的方案。
因此,为了克服现有技术存在的不足,本发明要解决的技术问题上提供一种网络多媒体文件快速启动播放方法及系统,其基于在客户端预存服务器端的多媒体文件元数据和关键媒体内容来提高网络多媒体文件的启动播放速度。
为解决上述技术问题,本发明网络多媒体文件快速启动播放方法包括:在客户端预存服务器端的多媒体文件元数据和关键媒体内容;对预存的多媒体文件元数据进行索引,获得用户请求播放的多媒体文件;以及更新并同步客户端预存服务器端之间的多媒体文件元数据和关键媒体内容。
作为对本发明所述方法的进一步改进,所述在客户端预存服务器端的多媒体文件元数据和关键媒体内容的步骤包括:定义所需预存的多媒体文件元数据和关键媒体内容数据量的大小;压缩要预存的多媒体文件元数据;以及存储多媒体文件元数据,并对压缩的多媒体文件元数据进行解压。
作为对本发明所述方法的再进一步改进,所述对预存的多媒体文件元数据进行索引的方式包括:基于文件系统的索引或基于数据库管理系统的索引。
作为对本发明所述方法的更进一步改进,所述所述更新并同步客户端预存服务器端之间的多媒体文件元数据和关键媒体内容的步骤包括:
根据以下公式计算更新所分配的带宽:
W=T*a/(X*b)-K,
其中,W是更新元数据和关键媒体内容所分配的带宽,T是系统监测到的实时总带宽,K是系统为用户提供收视观看需要的带宽,a和b是防止网络带宽波动时造成的影响稳定因子,其中a=95%,b=0.8,X是网络波动参数,
根据以下公式计算网络波动参数:
X=V/{(Max–Min)*(Max–Min)}/4,
其中,Max和Min是一个单位时间段的最大和最小网络带宽,V是一个单位时间段的网络带宽方差,
根据以下公式计算一个单位时间段的网络带宽方差:
V=E(T-U)2,
其中,E是取期望值操作,U是一个单位时间段的网络带宽均值;
确定更新多媒体文件元数据和关键媒体内容的优先级。
为解决上述技术问题,本发明网络多媒体文件快速启动播放系统包括:用于在客户端预存服务器端的多媒体文件元数据和关键媒体内容的模块;用于对预存的多媒体文件元数据进行索引,获得用户请求播放的多媒体文件的模块;以及用于更新并同步客户端预存服务器端之间的多媒体文件元数据和关键媒体内容的模块。
作为对本发明所述系统的进一步改进,所述用于在客户端预存服务器端的多媒体文件元数据和关键媒体内容的模块包括:用于定义所需预存的多媒体文件元数据和关键媒体内容数据量的大小的模块;用于压缩要预存的多媒体文件元数据的模块;以及用于存储多媒体文件元数据,并对压缩的多媒体文件元数据进行解压的模块。
作为对本发明所述系统的再进一步改进,所述用于对预存的多媒体文件元数据进行索引的方式的模块包括:用于基于文件系统的索引的模块或基于数据库管理系统的索引的模块。
作为对本发明所述系统的更进一步改进,所述用于更新并同步客户端预存服务器端之间的多媒体文件元数据和关键媒体内容的模块包括根据以下公式计算更新所分配的带宽的模块:
W=T*a/(X*b)-K,
其中,W是更新元数据和关键媒体内容所分配的带宽,T是系统监测到的实时总带宽,K是系统为用户提供收视观看需要的带宽,a和b是防止网络带宽波动时造成的影响稳定因子,其中a=95%,b=0.8,X是网络波动参数,
X=V/{(Max–Min)*(Max–Min)}/4,
其中,Max和Min是一个单位时间段的最大和最小网络带宽,V是一个单位时间段的网络带宽方差,
V=E(T-U)2,
其中,E是取期望值操作,U是一个单位时间段的网络带宽均值;
用于确定更新多媒体文件元数据和关键媒体内容的优先级的模块。
利用本发明,用户让网络多媒体文件播放启动更快的同时保持了播放质量和很低的重新缓存率,进一步提高用户的使用体验,当用户选择开始播放,系统能用事先存好的媒体数据来立即启动播放,而不需要去服务器下载,节约了用户的时间,在网络情况特别恶劣时,它也能极大的提高媒体文件启动播放的时间,从而使用户在三网融合中切换频道时得到像普通电视一样的“实时”收视体验。
结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。
附图说明
图1示出服务器端和客户端的连接示意图。
具体实施方式
以下参照附图,对本发明的实施方式和实施例进行详细说明。
图1所示了本发明的运行环境所需的服务器端和客户端的连接示意图,对本发明网络多媒体文件快速启动播放方法的各个步骤作具体说明。
在客户端预存服务器端的多媒体文件元数据和关键媒体内容,由于存在客户端的数据不能太大,它受到客户端存储空间和版权控制的限制,而且预存的数据量也取决于带宽、用户操作行为、历史播放观看情况的统计数据、客户端处理器的性能、客户端内存空间、媒体播放所能分配的缓存区大小、以及存储空间和版权控制要求等,所以可以首先定义所需预存的多媒体文件元数据和关键媒体内容数据量的大小。
正常情况下媒体数据在传输时是经过压缩的,但是元数据通常没有压缩,为了节约传输时间和用于存储它们的空间,使得客户端能够读取元数据,所以压缩要预存的多媒体文件元数据,以及存储多媒体文件元数据,并对压缩的多媒体文件元数据进行解压,使用的压缩和解压算法是RLE行程长度压缩算法。
存放在客户端的元数据和关键媒体内容媒包括媒体流的开始部分,当用户选择开始播放,系统能用事先存好的媒体元数据和关键媒体内容来立即启动播放,而不需要去服务器端下载,在播放预存数据的时候,系统也在通过网络从服务器获取剩下的流媒体内容,如果用户在过程中停止或暂停播放,在播放停止点前后的媒体内容数据也存在客户端,从而在用户继续播放观看是确媒体播放保快速启动。
流媒体视频系统时不时需要增加新的媒体内容或者把旧的媒体内容删除。这就导致对应的元数据和关键媒体内容也需要经常更新,所以更新并同步客户端预存服务器端之间的多媒体文件元数据和关键媒体内容。
当媒体内容库变的很大时,元数据目录也会相应的增长,当用户请求媒体播放时,为了有效的找到正确的元数据和关键媒体内容,对预存的多媒体文件元数据进行索引,可以基于文件系统的索引,也可以基于数据库管理系统的索引系统对元数据进行索引并且把它们和客户端的关键媒体内容关联起来,这样查找媒体内容变的非常高效同时也提高了媒体播放开始时间的性能,利用历史统计数据,系统不断的随时更新索引。
更新元数据和关键媒体内容和媒体内容有时会很耗时并且要消耗带宽,所以要在媒体播放观看时分享带宽预算但是不会影响用户收视观看体验,当没有正常播放媒体下载时或者不需要很多的带宽资源时,客户端就更加激进的利用带宽来同步客户端和服务器的数据内容和信息。所以要计算更新所分配的带宽:
W=T*a/(X*b)-K,
其中,W是更新元数据和关键媒体内容所分配的带宽,T是系统监测到的实时总带宽,K是系统为用户提供收视观看需要的带宽,a和b是防止网络带宽波动时造成的影响稳定因子,其中a=95%,b=0.8,X是网络波动参数,
根据以下公式计算网络波动参数:
X=V/{(Max–Min)*(Max–Min)}/4,
其中,Max和Min是一个单位时间段的最大和最小网络带宽,V是一个单位时间段的网络带宽方差,
根据以下公式计算一个单位时间段的网络带宽方差:
V=E(T-U)2,
其中,E是取期望值操作,U是一个单位时间段的网络带宽均值;统计一个单位时间段的时间长度通常为120秒。根据上面的公式我们可以看出,当网络带宽波动大时,系统使用很小或者不使用带宽来更新数据,而把带宽专注于用户的收视观看。当网络带宽稳定,系统会分配更多的带宽用于数据更新。
在有限的带宽和有限的时间来更新元数据和关键媒体内容和媒体内容,决定什么信息来最先更新就显得非常重要,所以要确定更新多媒体文件元数据和关键媒体内容的优先级,更新优先级是基于历史统计信息来决定的。这些统计信息包括了用户行为、带宽数据、和媒体播放数据,但不仅仅局限于这些。比如,用户观看多的媒体内容所对应的元数据的更新优先级别就高,会优先得到更新。当用户请求的内容已经更新,但是还没有同步到本地设备,客户端会从服务器重新请求新的元数据和媒体内容。
本发明使用预存的和实时的数据来快速决定可以正常连续平稳观看的最高质量视频码流和需要的处理器计算资源和内存,客户端收集和计算的有用信息用于提高用户收视观看体验,这些收集和计算有用的信息及时异步传送报告给服务器端。
利用本发明,用户让网络多媒体文件播放启动更快的同时保持了播放质量和很低的重新缓存率,进一步提高用户的使用体验,当用户选择开始播放,系统能用事先存好的媒体数据来立即启动播放,而不需要去服务器下载,节约了用户的时间,在网络情况特别恶劣时,它也能极大的提高媒体文件启动播放的时间,从而使用户在三网融合中切换频道时得到像普通电视一样的“实时”收视体验。
本领域的技术人员可以理解,网络多媒体文件快速启动播放方法,可以根据需要进行设计,以便优化快速启动播放的性能。因此,这里给出的具体实施方式不对本发明的保护范围构成限制。虽然以上结合附图描述了本发明的具体实施方式,但是本领域的技术人员可以在本发明技术构思的启发和不脱离本发明内容的基础上对本发明作出各种变形或修改,这些变形或修改仍然落入本发明的保护范围之内。