基于动态自适应码率传输协议hls流媒体的直播方法和服务器的制造方法

文档序号:9251244阅读:782来源:国知局
基于动态自适应码率传输协议hls流媒体的直播方法和服务器的制造方法
【技术领域】
[0001]本发明涉及数据处理技术领域,特别是涉及一种基于动态自适应码率传输协议HLS流媒体的直播方法和一种服务器。
【背景技术】
[0002]近年来,流媒体传输领域出现了一种发展趋势,流媒体传输由传统的RTSP(realtime streaming protocol、实时流传输协议)、MMS (Multimedia Messaging Service,多媒体信息服务)、RTMP (Real Time Messaging Protocol,实时消息传送协议)等媒体传输协议在线服务向纯粹的HTTP (Hyper Text Transport Protocol,超文本传输协议)转变。现在已经有许多视频网站采用HTTP传输方案进行媒体内容的传输,形成这种转变主要有以下几个理由:
[0003]1、Q)N(Content Distribut1n Network,内容分发网络)以及服务器主机提供的网页下载服务比传统的媒体流服务要便宜;传统的媒体传输协议通常很难穿过防火墙或是路由器,因为它们主要是基于UDP (User Datagram Protocol,用户数据报协议)不定端口来进行传输,而HTTP协议则不存在这个问题,原因在于HTTP基于80固定端口,网络设备对80端口默认支持。
[0004]2、采用HTTP协议进行流媒体传输不需要特别进行缓存或代理。
[0005]3、采用HTTP协议封装流媒体并传输到客户端,与其他协议相比更加方便和便宜。
[0006]目前,互联网上流媒体传输主要有传统流媒体、渐序性下载和流媒体自适应传输这三种类型:
[0007]1、传统流媒体。以RTSP协议为例,RTSP协议是一个典型的流媒体传输协议,也是一个有状态的协议。有状态是指从客户端连接上流媒体服务器的那一刻起,一直到客户端断掉与流媒体服务器端的连接,流媒体服务器一直保持着与客户端的连接状态。客户端通过开始play、停止pause、卸载teardown等命令来与流媒体服务器进行通信。
[0008]2、渐序性下载。它本质上和从网页服务器上下载一个文件类似。大多数的客户端和媒体传输平台支持渐序性下载,渐序性来自于大多数客户端允许流媒体回看,并且后台可以同时下载节目。支持HTTP 1.1的客户端能够定位到未下载完整的流媒体位置。由于不像传统流媒体的服务器,很少能在一个时间段内够发送超过10秒媒体数据给客户端,HTTP网页服务器能够保证持续的节目数据传输直到整个流媒体下载完成。即使客户端在回看时暂停节目播放,节目数据依然会持续下载到浏览器的缓存中,保证用户能有良好的收看体验。
[0009]3,HTTP协议为基础的流媒体自适应传输。这是一种混合型的传输类型,它的传输动作类似流媒体,但是实际上是基于HTTP协议渐序性下载。HTTP协议为基础的流媒体自适应传输的好处在于,使用了已有的HTTP协议而不需要开发一个新的传输协议。微软提出的平滑流Smooth Streaming和移动网络流媒体自适应传输,都是以HTTP协议为基础的流媒体自适应传输的应用实例,该技术能够实现持续的小流媒体文件的下载,而不是一个大流媒体文件的连续下载。在典型的HTTP协议为基础的流媒体自适应传输方案中,音视频节目被编码成许多小的数据片,这些小的数据片组成一个数据块,一个数据块的长度通常为2?4秒长。
[0010]流媒体自适应传输技术有几个共同的技术特点:(I)它从同一个节目源产生多个不同码率的流媒体以适应不同的带宽和不同的设备类型。(2)自适应分发文件以及码流传输的变化都是适应有效网络吞吐量和可用的CPU (Central Processing Unit,中央处理器)资源。(3)所有的操作对用户都是透明的,节目源的切换都在后台进行,用户很难注意到节目源的变化。然而,自适应技术方案只限制在客户端,这种动态方法可能限制某些专业用户希望能够自己对特殊内容传输进行微调和控制,降低了系统的灵活性。且由于流媒体的切片长度通常为10秒每片,切片一个片段,缓冲一个片段,延时可能在20秒以上,总体所需时间较长,导致用户体验较差。

【发明内容】

[0011]鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于动态自适应码率传输协议HLS流媒体的直播方法和相应的一种服务器。
[0012]为了解决上述问题,本发明实施例公开了一种基于动态自适应码率传输协议HLS流媒体的直播方法,包括:
[0013]服务器根据网络属性信息确定初始切片时长和初始编码速率;
[0014]所述服务器接收客户端的直播服务请求;
[0015]所述服务器依据所述直播服务请求采用初始切片时长对流媒体进行切片,生成切片文件;
[0016]所述服务器按照所述初始编码速率将所述切片文件发送给所述客户端;所述客户端用于依据所述切片文件进行直播。
[0017]优选地,所述流媒体具有对应的流媒体分辨率,所述服务器根据网络属性信息确定初始切片时长和初始编码速率的步骤包括:
[0018]服务器获取网络的性能数据和/或客户端的屏幕信息;
[0019]所述服务器获取所述流媒体的传输速率;
[0020]所述服务器采用所述流媒体分辨率,和/或网络的性能数据,和/或客户端的屏幕信息,和/或传输速率确定所述流媒体的初始切片时长。
[0021]优选地,所述流媒体具有对应的分辨率,所述服务器根据网络属性信息确定初始切片时长和初始编码速率的步骤包括:
[0022]服务器获取网络的性能数据和/或客户端的屏幕信息;
[0023]所述服务器获取所述流媒体的传输速率;
[0024]所述服务器采用所述流媒体分辨率,和/或网络的性能数据,和/或客户端的屏幕信息,和/或传输速率确定所述流媒体的初始编码速率。
[0025]优选地,所述方法还包括:
[0026]所述服务器在所述客户端进行直播的过程中,统计所述切片文件的发送时间,以及在所述客户端的播放时间;
[0027]所述服务器采用所述发送时间和所述播放时间调整所述流媒体的初始切片时长,和/或初始编码速率,和/或流媒体分辨率。
[0028]优选地,所述服务器采用发送时间和所述播放时间调整所述流媒体的初始切片时长,和/或初始编码速率,和/或流媒体分辨率的步骤包括:
[0029]所述服务器判断所述发送时间是否高于所述播放时间;
[0030]若所述发送时间高于或等于所述播放时间;则所述服务器提高所述流媒体的初始切片时长;和/或,降低所述流媒体的初始编码速率;和/或,降低所述流媒体的流媒体分辨率;
[0031]若所述发送时间低于所述直播时间;则所述服务器降低所述流媒体的初始切片时长;和/或,提高所述流媒体的初始编码速率;和/或,提高所述流媒体的流媒体分辨率。
[0032]本发明实施例还公开了一种服务器,包括:
[0033]确定模块,用于根据网络属性信息确定初始切片时长和初始编码速率;
[0034]接收模块,用于接收客户端的直播服务请求;
[0035]切片模块,用于依据所述直播服务请求采用初始切片时长对流媒体进行切片,生成切片文件;
[0036]直播模块,用于按照所述初始编码速率将所述切片文件发送给所述客户端;所述客户端用于依据所述切片文件进行直播。
[0037]优选地,所述流媒体具有对应的流媒体分辨率,所述确定模块包括:
[0038]第一获取子模块,用于获取网络的性能数据和/或客户端的屏幕信息;
[0039]第二获取子模块,用于获取所述流媒体的传输速率;
[0040]切片时长确定子模块,用于采用所述流媒体分辨率,和/或网络的性能数据,和/或客户端的屏幕信息,和/或传输速率确定所述流媒体的初始切片时长。
[0041]优选地,所述流媒体具有对应的流媒体分辨率,所述确定模块包括:
[0042]第三获取子模块,用于获取网络的性能数据和/或客户端的屏幕信息;
[0043]第四获取子模块,用于获取所述流媒体的传输速率;
[0044]初始编码速率确定子模块,用于采用所述流媒体分辨率,和/或网络的性能数据,和/或客户端的屏幕信息,和/或传输速率确定所述流媒体的初始编码速率。
[0045]优选地,所述装置还包括:
[0046]统计模块,用于在所述客户端进行直播的过程中,统计所述切片文件的发送时间,以及在所述客户端的播放时间;
[0047]调整模块,用于采用所述发送时间和所述播放时间调整所述流媒体的初始切片时长,和/或初始编码速率,和/或流媒体分辨率。
[0048]优选地,所述调整模块包括:
[0049]判断子模块,用于判断所述发送时间是否高于所述播放时间;若所述发送时间高于或等于所述播放时间,
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1