一种流媒体传输方法、流媒体发送装置及流媒体传输系统的制作方法_4

文档序号:9551266阅读:来源:国知局
态信息和负载状态信息动态调节传输流媒体数据的实时传输流码率,在流媒体发送端实现了流媒体自适应码率传输和柔性传输策略,避免发明流媒体发送装置的系统过载。
[0080]图5是本发明实施例中的一种流媒体发送装置的结构示意图,本发明实施例中的流媒体发送装置可以为视频服务器、音频服务器或音视频会话服务器等流媒体发送装置,也可以为与流媒体接收装置对等的设备终端,如可以包括个人电脑、智能手机(如Android手机、1S手机等)、平板电脑、掌上电脑、移动互联网设备(MID)或穿戴式智能设备等互联网设备。如图所示本发明实施例中的流媒体发送装置至少可以包括:
[0081]流媒体传输模块510,用于根据流媒体接收装置发送的流媒体传输请求以第一传输流码率向所述流媒体接收装置传输流媒体数据。
[0082]例如流媒体接收装置根据用户在互联网中选择的目标视频,向流媒体发送装置发送针对目标视频的流媒体传输请求,这时流媒体传输模块510即可以根据所述流媒体传输请求以一定的实时传输流码率向流媒体接收装置传输所述目标视频的流媒体数据。具体实现中,流媒体发送装置在接收到流媒体接收装置发送流媒体传输请求时,可以先采用预设的第一传输流码率向所述流媒体接收装置传输流媒体数据,后续当再次接收到所述流媒体接收装置发送的流媒体传输请求时,通过实时码率调节模块530进行动态调节实时传输流码率。在可选实施例中,流媒体发送装置也可以判断是否首次接收到该流媒体接收装置发送的流媒体传输请求,若是,则流媒体传输模块510可以使用预设的传输流码率向所述流媒体接收装置传输流媒体数据,若不是首次接收到该流媒体接收装置发送的流媒体传输请求,实时码率调节模块530则可以根据流媒体发送装置之前向该流媒体接收装置传输流媒体数据时,该流媒体接收装置的传输状态信息确定当前的实时传输流码率,进而流媒体传输模块510通过确定得到的第一传输流码率向所述流媒体接收装置传输流媒体数据,在后续传输过程中,如再次接收到所述流媒体接收装置发送的流媒体传输请求时,可以根据实时码率调节模块530经过调节得到的实时传输流码率向所述流媒体接收装置传输流媒体数据。需要指出的是,这里提及的首次接收到该流媒体接收装置发送的流媒体传输请求,可以是流媒体接收装置针对某个目标流媒体文件的首次流媒体传输请求。
[0083]传输状态获取模块520,用于以第一时间间隔为周期获取所述流媒体接收装置的传输状态信息。
[0084]具体的,所述流媒体接收装置的传输状态信息可以包括所述流媒体接收装置的传输速率参考信息和/或传输稳定性参考信息,其中所述传输速率参考信息可以在预设时间段内流媒体发送装置向所述流媒体接收装置传输流媒体数据的平均速率,也可以为流媒体接收装置当前的即时传输速率或之前某个采样时刻的传输速率,所述传输稳定性参考信息可以包括在预设时间段内流媒体发送装置向所述流媒体接收装置传输流媒体数据的速率方差。传输状态获取模块520在流媒体传输模块510向所述流媒体接收装置传输流媒体数据的过程中以第一时间间隔为周期获取所述流媒体接收装置的传输状态信息,上述用以计算流媒体接收装置的传输速率参考信息或传输稳定性参考信息的预设时间段,可以与第一时间间隔的时长相同,也可以不同。
[0085]实时码率调节模块530,用于根据所述流媒体接收装置的传输状态信息将向所述流媒体接收装置传输流媒体数据的实时传输流码率从第一传输流码率调节为第二传输流码率。
[0086]具体实现中,所述流媒体发送装置可以预设的传输状态信息与传输流码率之间的映射关系,在传输状态获取模块520获取到所述流媒体接收装置的传输状态信息后,实时码率调节模块530可以在预设的传输状态信息与传输流码率之间的映射关系中查找所述流媒体接收装置的传输状态信息对应的第二传输流码率,从而将实时传输流码率从第一传输流码率调节为第二传输流码率。
[0087]而在可选实施例中,实时码率调节模块530可以根据所述流媒体接收装置的传输状态信息确定所述流媒体接收装置当前的传输状态参数,所述传输状态参数由value =α 氺transmiss1n—speed+β *transmiss1n_speed_variances 石角定,其中 transmiss1n—speed为预设时间段内流媒体发送装置向所述流媒体接收装置传输流媒体数据的平均速率,transmiss1n_speed_variances为预设时间段内流媒体发送装置向所述流媒体接收装置传输流媒体数据的速率方差,α和β分别为预设加权因子;实时码率调节模块530进而根据预设的传输状态参数与传输流码率之间的映射关系,确定所述流媒体接收装置的传输状态参数对应的第二传输流码率。在优选实施例中,α > β,即传输速率为传输状态信息的主要参考因素。
[0088]具体实现中,实时码率调节模块530可以判断当前向流媒体接收装置传输流媒体数据的实时传输流码率是否与所述流媒体接收装置的传输状态信息对应的第二传输流码率相同,若两者为同一传输流码率,则继续使用该传输流码率向流媒体接收装置传输流媒体数据,若两者不同,则使用实时码率调节模块530确定得到的第二传输流码率向所述流媒体接收装置传输流媒体数据。在可选实施例中,流媒体传输模块510可以待将当前正在传输的流媒体数据片(即TS文件片)后,使用所述根据所述流媒体接收装置的传输状态信息确定得到的实时传输流码率向所述流媒体接收装置传输下一个TS文件片,如目标视频文件包括100个TS文件片,流媒体传输模块510在传输第50个TS文件片时实时码率调节模块530根据所述流媒体接收装置的传输状态信息确定需要调节实时传输流码率,那么在后续接收到所述流媒体接收装置发送的针对第51个TS文件片(或其他TS文件片)的流媒体传输请求时,流媒体传输模块510可以根据所述确定的实时传输流码率向所述流媒体接收装置传输被请求的TS文件片。
[0089]可选的,本发明实施例中的流媒体发送装置进一步可以包括:
[0090]负载状态获取模块540,用于以第二时间间隔为周期获取自身的负载状态信息。
[0091]具体的,所述负载状态信息可以包括所述流媒体发送装置的流量负载信息、处理器负载信息和输入输出I/O负载信息中的任一种或多种,其中所述流媒体发送装置的流量负载信息包括所述流媒体发送装置当前带宽利用率(如curr_flUX当前服务器流量/eth0_flux网卡流量上限)和/或所述流媒体发送装置所处机房带宽利用率(如CUrr_dC_flUX当前机房流量/total_dc_flUX机房上限流量),所述处理器负载信息包括所述流媒体发送装置当前的CPU利用率,所述输入输出I/O负载信息包括所述流媒体发送装置当前的I/O利用率,需要指出的是,上述利用率参数可以为即时值,也可以为预设时间段内的统计值。所述负载状态获取模块540可以在流媒体传输模块510向所述流媒体接收装置传输流媒体数据的过程中以第二时间间隔为周期获取自身的负载状态信息,上述用以计算流媒体接收装置的传输速率参考信息或传输稳定性参考信息的预设时间段,可以与第二时间间隔的时长相同,也可以不同。所述第二时间间隔间隔可以与第一时间间隔相同,也可以不同。
[0092]所述实时码率调节模块530,还用于根据所述负载状态信息调节所述实时传输流码率。
[0093]具体实现中,若所述流媒体发送装置根据所述负载状态信息确定自身处于高负载状态,则可以降低所述实时传输流码率。在本实施例中,所述实时传输流码率可以为流媒体发送装置当前正在或将要向所述流媒体接收装置传输流媒体数据的传输流码率,如流媒体发送装置向所述流媒体接收装置传输的下一(组)TS文件片的传输流码率,具体举例来说,设目标视频文件包括100个TS文件片,流媒体发送装置在传输第50个TS文件片时使用传输流码率的是80kbps,进而根据负载状态获取模块540获取到所述负载状态信息确定自身处于高负载状态,则实时码率调节模块530可以降低实时传输流码率,例如降低为60kbps,那么在后续接收到所述流媒体接收装置发送的针对第51个TS文件片(或其他TS文件片)的流媒体传输请求时,流媒体传输模块510可以根据所述确定的实时传输流码率向所述流媒体接收装置传输被请求的TS文件片。
[0094]在可选实施例中,当所述流媒体发送装置当前的带宽利用率、所处机房带宽利用率、CPU利用率或I/O利用率达到对应的预设负载门限时,实时码率调节模块530可以降低所述实时传输流码率。上述四种利用率参数对应的负载门限可以为相同数值,也可以不同,例如为相同数值的负载门限,当所述流媒体发送装置当前的带宽利用率、所处机房带宽利用率、CPU利用率或I/O利用率中的任一个数值达到90%,则实时码率调节模块530可以降低所述实时传输流码率。
[0095]进而在可选实施例中,实时码率调节模块530可以根据所述负载状态信息调节当前正在接收所述流媒体发送装置传输的流媒体数据的所有流媒体接收装置中部分或全部流媒体接收装置的实时传输流码率。例如根据所述负载状态信息确定自身当前处于高负载状态,则实时码率调节模块530可以降低当前正在传输的流媒体数据传输任务的实时传输流码率,例如将所有任务都下调一个级别的实时传输流码率,在可选实施例中,实时码率调节模块530也可以仅降低使用较高的实时传输流码率的流媒体接收装置的实时传输流码率,如传输流码率分为高速、中速和低速三个级别,实时码率调节模块530可以将所有采用高速实时传输流码率的流媒体接收装置的实时传输流码率调节为中速的实时传输流码率。
[0096]进而在可选实施例中,当实时码率调节模块530根据根据负载状态信息判断当前需要降低所述实时传输流码率,而根据流媒体接收装置的传输状态信息确定得到的实时传输流码率比当前向该流媒体接收装置传输流媒体数据使用的传输流码率要高,这时可以暂时不根据优先根据流媒体接收装置的传输状态信息确定得到的实时传输流码率进行传输流媒体数据,即暂时不提高向该流媒体接收装置传输流媒体数据的传输流码率或
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1