流媒体的回看媒体流带宽控制系统及方法

文档序号:7808839来源:国知局
流媒体的回看媒体流带宽控制系统及方法
【专利摘要】本发明涉及网络通信领域,提供一种流媒体的回看媒体流带宽控制系统及方法,用于对流媒体的回看媒体流带宽进行控制,所述控制系统包括服务端和客户端,所述服务端具体包括实时节目编码模块、节目录制模块、节目回看控制模块、实时媒体流计数器和回看节目发送包计数器,所述客户端具体包括流媒体播放器,通过使用实时媒体流计数器作为参考计数器,结合回看节目发送包计数器,本发明能够在回看媒体流发送过程中均衡地利用网络带宽,避免了媒体流数据出现“浪涌”而导致网络数据传输效率下降的情况,提高了整个网络的带宽资源利用率。
【专利说明】流媒体的回看媒体流带宽控制系统及方法

【技术领域】
[0001] 本发明涉及网络通信领域,特别涉及一种流媒体的回看媒体流带宽控制系统及方 法。

【背景技术】
[0002] 流媒体是指采用流式传输的方式在互联网或内联网播放的媒体格式,流媒体在播 放前并不下载整个媒体流文件,只将开始内容存入内存,在媒体播放软件中对媒体流数据 包进行缓存并使媒体数据正确地输出。流媒体实现的关键技术就是流式传输,流式传输主 要指将整个音频、视频、三维媒体等多媒体文件经过特定的压缩方式解析成一个个媒体流 数据包,由服务端向客户端传送,其中客户端中的流媒体播放器本身具有一定缓冲能力, 但是如果服务端发送的媒体流数据量过大,媒体流数据出现"浪涌",这时网络数据将超过 播放器的缓冲能力,如果服务端是采用UDP(User Data Protocol,用户数据报协议)方式 向客户端发送媒体流数据,则会导致丢包;如果服务端是采用TCP (Transmission Control Protocol,传输控制协议)方式向客户端发送媒体流数据,则TCP协议栈的重传机制会不断 尝试重发数据,这样会导致网络有效带宽降低。


【发明内容】

[0003] 本发明提供一种流媒体的回看媒体流带宽控制系统及方法,用于对回看媒体流带 宽进行控制,以提高网络带宽资源利用率。
[0004] 为了解决以上的技术问题,本发明的第一个方面是提供一种流媒体的回看媒体流 带宽控制系统,所述系统包括服务端和客户端,所述服务端具体包括实时节目编码模块、节 目录制模块、节目回看控制模块、实时媒体流计数器和回看节目发送包计数器,所述客户端 具体包括流媒体播放器,
[0005] 所述实时节目编码模块用于以固定码率输出采用UDP方式封装的媒体流数据包, 其中每个媒体流数据包封装了固定长度的媒体数据;
[0006] 所述节目录制模块用于接收来自实时节目编码模块的媒体流数据包并保存为磁 盘文件;
[0007] 所述实时媒体流计数器用于对实时节目编码模块输出的媒体流数据包进行计 数;
[0008] 所述回看节目发送包计数器用于对节目回看控制模块发送的媒体流数据包进行 计数,其中回看节目发送包计数器的初始值为:当节目回看控制模块接收到客户端的节目 回放请求信号时,实时媒体流计数器的当前计数值;
[0009] 所述节目回看控制模块用于循环检测实时媒体流计数器的计数值和回看节目发 送包计数器的计数值,如果检测到回看节目发送包计数器的计数值小于实时媒体流计数器 的计数值,则读取节目录制模块中的磁盘文件,并向客户端流媒体播放器发送媒体流数据 包,发送后回看节目发送包计数器的计数值加一;
[0010] 所述流媒体播放器用于向节目回看控制模块发送回看请求信号。
[0011] 在第一个方面的第一种可能实现方式中,所述服务端和客户端处于同一局域网 内。
[0012] 在第一个方面的第二种可能实现方式中,所述节目回看控制模块使用UDP方式向 客户端发送媒体流数据包,其中发送的每个媒体流数据包中的数据长度等于实时节目编码 模块输出的每个媒体流数据包所封装的媒体流数据长度。
[0013] 在第一个方面的第三种可能实现方式中,所述节目回看控制模块使用TCP方式向 客户端发送媒体流数据包,其中发送的每个媒体流数据包中的数据长度等于实时节目编码 模块输出的每个媒体流数据包所封装的媒体流数据长度。
[0014] 在第一个方面的第四种可能实现方式中,所述流媒体播放器还用于接收节目回看 控制模块发送的媒体流数据包并进行解码显示。
[0015] 本发明的第二个方面是提供一种流媒体的回看媒体流带宽控制方法,所述方法包 括:
[0016] 步骤A :服务端的实时节目编码模块于以固定码率输出采用UDP方式封装的媒体 流数据包,其中每个媒体流数据包封装了固定长度的媒体数据;
[0017] 步骤B:服务端的节目录制模块接收来自实时节目编码模块的媒体流数据包并保 存为磁盘文件;
[0018] 步骤C:服务端的实时媒体流计数器对实时节目编码模块输出的媒体流数据包进 行计数;
[0019] 步骤D :客户端的流媒体播放器向节目回看控制模块发送回看请求信号;
[0020] 步骤E:将服务端的回看节目发送包计数器的初始值设置为实时媒体流计数器的 当前计数值;
[0021] 步骤F :服务端的节目回看控制模块循环检测实时媒体流计数器的计数值和回看 节目发送包计数器的计数值,如果检测到回看节目发送包计数器的计数值小于实时媒体流 计数器的计数值,则读取节目录制模块中的磁盘文件,向客户端的流媒体播放器发送媒体 流数据包,发送后回看节目发送包计数器的计数值加一。
[0022] 在第二个方面的第一种可能实现方式中,所述服务端和客户端处于同一局域网 内。
[0023] 在第二个方面的第二种可能实现方式中,所述步骤F中,节目回看控制模块使用 UDP方式向客户端发送媒体流数据包,其中发送的每个媒体流数据包中的数据长度等于实 时节目编码模块输出的每个媒体流数据包所封装的媒体流数据长度。
[0024] 在第二个方面的第三种可能实现方式中,所述步骤F中,节目回看控制模块使用 TCP方式向客户端发送媒体流数据包,其中发送的每个媒体流数据包中的数据长度等于实 时节目编码模块输出的每个媒体流数据包所封装的媒体流数据长度。
[0025] 在第二个方面的第四种可能实现方式中,在步骤F之后还包括:流媒体播放器接 收节目回看控制模块发送的媒体流数据包并进行解码显示。
[0026] 从以上技术方案可以看出,通过采用本发明所提供的流媒体的回看媒体流带宽控 制系统及方法,实现了对回放节目媒体流的流量带宽控制,本发明能够在回看媒体流发送 过程中均衡地利用网络带宽,避免了媒体流数据出现"浪涌"而导致网络数据传输效率下降 的情况,提高了整个网络的带宽资源利用率。

【专利附图】

【附图说明】
[0027] 图1为本发明实施例一提供的流媒体的回看媒体流带宽控制系统结构框图;
[0028] 图2A为本发明实施例二提供的流媒体的回看媒体流带宽控制方法流程图;
[0029] 图2B为本发明实施例二提供的流媒体的回看媒体流带宽控制方法流程图。

【具体实施方式】
[0030] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图,对本发明的具体 实施方式进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是 全部实施例,也不是对本发明的限制。基于本发明的实施例,本领域普通技术人员在不付出 创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
[0031] 如图1所示,图1为本发明实施例一提供的流媒体的回看媒体流带宽控制系统结 构框图,所述系统包括服务端和客户端,所述服务端具体包括实时节目编码模块101、节目 录制模块102、节目回看控制模块103、实时媒体流计数器105和回看节目发送包计数器 106,所述客户端具体包括流媒体播放器104。
[0032] 作为一种优选实施例,客户端与服务端处于同一局域网。
[0033] 实时节目编码模块101用于以固定码率输出采用UDP方式封装的媒体流数据包, 其中每个媒体流数据包封装有固定长度的媒体数据。具体地,实时节目编码模块101接收 实时节目源,通过编码后形成以UDP方式封装的媒体流数据包,并以固定码率进行输出。
[0034] 节目录制模块102用于接收来自实时节目编码模块101的媒体流数据包并保存为 磁盘文件。
[0035] 实时媒体流计数器105用于对实时节目编码模块101输出的媒体流数据包进行计 数。需要说明,实时媒体流计数器105是一个参考计数器,回看节目发送包计数器106的初 始计数值以实时媒体流计数器105的计数值为参考,通过实时媒体流计数器105和节目发 送包计数器106,可以实现对发送的媒体流数据包进行控制。
[0036] 回看节目发送包计数器106用于对节目回看控制模块103发送的媒体流数据包进 行计数,其中回看节目发送包计数器106的初始值为:当节目回看控制模块103接收到客户 端的节目回放请求信号时,实时媒体流计数器105的当前计数值。
[0037] 节目回看控制模块103用于循环检测实时媒体流计数器105的计数值和回看节目 发送包计数器106的计数值,如果检测到回看节目发送包计数器106的计数值小于实时媒 体流计数器105的计数值,则读取节目录制模块102中的磁盘文件,向客户端流媒体播放器 104发送媒体流数据包,发送后回看节目发送包计数器106的计数值加一。
[0038] 具体地,节目回看控制模块103可以使用UDP方式向客户端发送媒体流数据包,每 个发送的媒体流数据包中的数据长度等于实时节目编码模块101输出的每个媒体流数据 包所封装的媒体流数据长度。需要说明,如果节目回看控制模块103没有检测到回看节目 发送包计数器106的计数值小于实时媒体流计数器105的计数值,则不会读取节目录制模 块102中的磁盘文件,也就不会向客户端流媒体播放器104发送媒体流数据包,因此回看节 目发送包计数器106的计数值保持不变。
[0039] 作为一种优选实施例,节目回看控制模块103也可以使用TCP方式向客户端发送 媒体流数据包,其中每个媒体流数据包中的数据长度等于实时节目编码模块101输出的每 个媒体流数据包所封装的媒体流数据长度。
[0040] 流媒体播放器104运行在客户端,用于向节目回看控制模块103发送回看请求信 号。当节目回看控制模块103发送媒体流数据包后,客户端流媒体播放器104接收媒体流 数据包并进行解码显示。
[0041] 具体地,采用本发明实施例一所提供的直播流媒体节目的回看媒体流带宽控制系 统,对回看媒体流带宽进行控制的方法可以参考下述的具体方法实施例。
[0042] 如图2A和图2B所示,图2A和图2B为本发明实施例二提供的流媒体的回看媒体 流带宽控制方法流程图,所述方法包括:
[0043] 步骤201 :实时节目编码模块以固定码率输出UDP方式封装的媒体流数据包,同时 实时媒体流计数器对实时节目编码模块输出的媒体流数据包进行计数。
[0044] 具体地,实时节目编码模块和实时媒体流计数器运行在服务端,实时节目编码模 块接收实时节目源,通过编码后形成以UDP方式封装的媒体流数据包,并以固定码率进行 输出,以此同时,实时媒体流计数器对实时节目编码模块输出的媒体流数据包进行计数。
[0045] 步骤202 :节目录制模块接收来自实时节目编码模块的媒体流数据包并保存为磁 盘文件。
[0046] 节目录制模块运行在服务端,节目录制模块接收媒体流数据包并进行录制形成媒 体文件,同时将此媒体文件保存为磁盘文件方便后续步骤进行读取。
[0047] 步骤203 :客户端的流媒体播放器向节目回看控制模块发送回看请求信号。
[0048] 节目回看控制模块处于服务端,步骤201和步骤202执行的同时,如果回看控制模 块收到客户端的流媒体播放器发送的回看请求信号,则执行步骤204。
[0049] 步骤204 :节目回看控制模块将回看节目发送包计数器的初始值设置为实时媒体 流计数器的当前计数值。
[0050] 具体地,回看节目发送包计数器处于服务端,通过执行步骤201可以得到实时媒 体流计数器的当前计数值,将实时媒体流计数器的当前计数值设置为回看节目发送包计数 器的初始值。综合步骤203和步骤204,只要回看控制模块收到客户端的流媒体播放器发送 的回看请求信号,则会导致实时媒体流计数器的计数值与回看节目发送包计数器的计数值 相等。
[0051] 步骤205 :节目回看控制模块循环检测实时媒体流计数器的计数值和回看节目发 送包计数器的计数值,如果回看节目发送包计数器的计数值小于实时媒体流计数器的计数 值,则执行下一步骤。
[0052] 需要说明的是,由于执行了步骤204, 一开始会检测到回看节目发送包计数器的计 数值等于实时媒体流计数器的计数值,与此同时步骤201继续执行,实时媒体流计数器的 计数值增加,此时节目回看控制模块会检测到回看节目发送包计数器的计数值小于实时媒 体流计数器的计数值,则执行步骤206。
[0053] 步骤206 :节目回看控制模块读取节目录制模块中的磁盘文件,向客户端的流媒 体播放器发送媒体流数据包,发送后回看节目发送包计数器的计数值加一。
[0054] 具体地,节目录制模块中的磁盘文件包含媒体流数据包,节目回看控制模块读取 磁盘文件,向客户端的流媒体播放器发送磁盘文件中的媒体流数据包,发送后回看节目发 送包计数器的计数值加一,这说明,节目回看控制模块每发送一次媒体流数据包,回看节目 发送包计数器的计数值就累加一次。同时,节目回看控制模块继续检测实时媒体流计数器 的计数值和回看节目发送包计数器的计数值,直到媒体文件中的媒体流数据包全部发送 完,这就是步骤205所说的"循环检测"。
[0055] 作为一种优选实施例,所述服务端和客户端处于同一局域网。
[0056] 作为另一种优选实施例,所述控制方法在执行步骤206以后,还执行以下步骤:流 媒体播放器接收节目回看控制模块发送的媒体流数据包并进行解码显示。
[0057] 作为另一种优选实施例,步骤206节目回看控制模块使用UDP方式向客户端发送 媒体流数据包,每个发送的媒体流数据包中的数据长度等于实时节目编码模块输出的每个 媒体流数据包所封装的媒体流数据长度。
[0058] 作为另一种优选实施例,步骤206节目回看控制模块使用TCP方式向客户端发送 媒体流数据包,每个发送的媒体流数据包中的数据长度等于实时节目编码模块输出的每个 媒体流数据包所封装的媒体流数据长度。
[0059] 综合实施例一及其优选实施例,通过使用实时媒体流计数器作为参考计数器,结 合回看节目发送包计数器,能够使客户端流媒体播放器缓冲区的数据量维持在一个平稳水 平,无论节目回看控制模块采用UDP方式还是TCP方式向客户端发送媒体流数据包,本发明 都能够在回看媒体流发送过程中均衡地利用网络带宽,避免了媒体流数据出现"浪涌"而导 致网络数据传输效率下降的情况,提高了整个网络的带宽资源利用率。
【权利要求】
1. 一种流媒体的回看媒体流带宽控制系统,其特征在于所述系统包括服务端和客户 端,所述服务端具体包括实时节目编码模块、节目录制模块、节目回看控制模块、实时媒体 流计数器和回看节目发送包计数器,所述客户端具体包括流媒体播放器, 所述实时节目编码模块用于以固定码率输出采用UDP方式封装的媒体流数据包,其中 每个媒体流数据包封装了固定长度的媒体数据; 所述节目录制模块用于接收来自实时节目编码模块的媒体流数据包并保存为磁盘文 件; 所述实时媒体流计数器用于对实时节目编码模块输出的媒体流数据包进行计数; 所述回看节目发送包计数器用于对节目回看控制模块发送的媒体流数据包进行计数, 其中回看节目发送包计数器的初始值为:当节目回看控制模块接收到客户端的节目回放请 求信号时,实时媒体流计数器的当前计数值; 所述节目回看控制模块用于循环检测实时媒体流计数器的计数值和回看节目发送包 计数器的计数值,如果检测到回看节目发送包计数器的计数值小于实时媒体流计数器的计 数值,则读取节目录制模块中的磁盘文件,并向客户端流媒体播放器发送媒体流数据包,发 送后回看节目发送包计数器的计数值加一; 所述流媒体播放器用于向节目回看控制模块发送回看请求信号。
2. 根据权利要求1所述的系统,其特征在于所述服务端和客户端处于同一局域网内。
3. 根据权利要求1或2所述的系统,其特征在于所述节目回看控制模块使用UDP方式 向客户端发送媒体流数据包,其中发送的每个媒体流数据包中的数据长度等于实时节目编 码模块输出的每个媒体流数据包所封装的媒体流数据长度。
4. 根据权利要求1或2所述的系统,其特征在于所述节目回看控制模块使用TCP方式 向客户端发送媒体流数据包,其中发送的每个媒体流数据包中的数据长度等于实时节目编 码模块输出的每个媒体流数据包所封装的媒体流数据长度。
5. 根据权利要求1或2所述的系统,其特征在于所述流媒体播放器还用于接收节目回 看控制模块发送的媒体流数据包并进行解码显示。
6. -种流媒体的回看媒体流带宽控制方法,其特征在于所述方法包括以下步骤: 步骤A :服务端的实时节目编码模块于以固定码率输出采用UDP方式封装的媒体流数 据包,其中每个媒体流数据包封装了固定长度的媒体数据; 步骤B :服务端的节目录制模块接收来自实时节目编码模块的媒体流数据包并保存为 磁盘文件; 步骤C:服务端的实时媒体流计数器对实时节目编码模块输出的媒体流数据包进行计 数; 步骤D :客户端的流媒体播放器向节目回看控制模块发送回看请求信号; 步骤E:将服务端的回看节目发送包计数器的初始值设置为实时媒体流计数器的当前 计数值; 步骤F :服务端的节目回看控制模块循环检测实时媒体流计数器的计数值和回看节目 发送包计数器的计数值,如果检测到回看节目发送包计数器的计数值小于实时媒体流计数 器的计数值,则读取节目录制模块中的磁盘文件,向客户端的流媒体播放器发送媒体流数 据包,发送后回看节目发送包计数器的计数值加一。
7. 根据权利要求6所述的方法,其特征在于所述服务端和客户端处于同一局域网内。
8. 根据权利要求6或7所述的方法,其特征在于所述步骤F中,节目回看控制模块使 用UDP方式向客户端发送媒体流数据包,其中发送的每个媒体流数据包中的数据长度等于 实时节目编码模块输出的每个媒体流数据包所封装的媒体流数据长度。
9. 根据权利要求6或7所述的方法,其特征在于所述步骤F中,节目回看控制模块使 用TCP方式向客户端发送媒体流数据包,其中发送的每个媒体流数据包中的数据长度等于 实时节目编码模块输出的每个媒体流数据包所封装的媒体流数据长度。
10. 根据权利要求6或7所述的方法,其特征在于在步骤F之后还包括:流媒体播放器 接收节目回看控制模块发送的媒体流数据包并进行解码显示。
【文档编号】H04L29/06GK104092690SQ201410334338
【公开日】2014年10月8日 申请日期:2014年7月15日 优先权日:2014年7月15日
【发明者】唐文东 申请人:金亚科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1