CN106534760B - 一种媒体流传输方法、设备及系统 - Google Patents

一种媒体流传输方法、设备及系统 Download PDF

Info

Publication number
CN106534760B
CN106534760B CN201510587455.2A CN201510587455A CN106534760B CN 106534760 B CN106534760 B CN 106534760B CN 201510587455 A CN201510587455 A CN 201510587455A CN 106534760 B CN106534760 B CN 106534760B
Authority
CN
China
Prior art keywords
media
fec
stream
conference server
configuration information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510587455.2A
Other languages
English (en)
Other versions
CN106534760A (zh
Inventor
范燕平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201510587455.2A priority Critical patent/CN106534760B/zh
Priority to PCT/CN2016/098585 priority patent/WO2017045568A1/zh
Publication of CN106534760A publication Critical patent/CN106534760A/zh
Application granted granted Critical
Publication of CN106534760B publication Critical patent/CN106534760B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems

Abstract

本发明的实施例提供一种媒体流传输方法、设备及系统,涉及通信领域,能够降低服务器的资源消耗,从而减小媒体流端到端的传输时延。包括:会议服务器接收媒体发送终端发送的FEC配置信息,所述FEC配置信息包含媒体流支持的FEC流的标识;所述会议服务器根据所述FEC配置信息,生成第一映射关系表,第一映射关系表包含FEC流的标识与媒体接收终端的标识之间的对应关系;接收媒体发送终端发送的媒体流和媒体发送终端根据FEC配置信息生成的FEC流;将媒体流发送至各个媒体接收终端,并根据FEC流的标识与媒体接收终端的标识之间的对应关系将FEC流发送至媒体接收终端。本发明的实施例用于媒体流传输。

Description

一种媒体流传输方法、设备及系统
技术领域
本发明的实施例涉及通信领域,尤其涉及一种媒体流传输方法、设备及系统。
背景技术
通常多方视频会议解决方案都是用集中的会议服务器转发来减少终端的带宽和CPU(英文全称:Central Processing Unit,中文全称:中央处理器)消耗。会议服务器接收来自于参与者的RTP(英文全称:Real-time Transport Protocol,中文全称:实时传输协议)媒体流,然后会议服务器通过混合转码等操作整合修改成合适的RTP流发送给其他的参与者,但是会议服务器的解码重编码通常会引入额外的时延。在多方视频会议中,媒体发送者通常通过多流转发同时向多个媒体接收者发送媒体资源,多流转发是指对于同一个媒体资源,媒体发送者同时发送多个不同编码版本的RTP媒体流,这些RTP媒体流在帧率、分辨率、编解码类型等方面存在差异,分别对应不同媒体接收者的能力要求。会议服务器只需要按照一定的策略选择RTP媒体流转发给其他的媒体接收者。
对于视频会议等多媒体应用,在丢包严重的恶劣网络环境下,对于大量的丢包数据进行重传会加剧网络的拥塞,因此现有技术中多采用向前纠错FEC(英文全称:ForwardErrorCorrection,中文:前向纠错)丢包处理方式,由于媒体接收者在接收到数据包的同时,能够重构丢失掉的数据包,不需要媒体发送者重传,因此是一种有效且实用的选择。
基于上述的技术,现有技术提供的媒体流传输方法具体流程如下:
步骤一:媒体发送者向会议服务器发送媒体流,并针对媒体发送者到会议服务器路径状态(比如丢包)生成对应的FEC流。
步骤二:会议服务器接收到媒体流和FEC流后,根据FEC流对媒体流丢失的包进行恢复。
步骤三:会议服务器将恢复后的媒体流转发给其他媒体接收者,并针对会议服务器到其他媒体接收者的路径状态生成对应的FEC流。
其他媒体接收者对应的FEC流是相互独立的,由于现有会议服务器需要对媒体流进行混合编码或转码,所以会议服务器两端的FEC机制是完全独立解耦的:会议服务器根据媒体发送者发送的FEC流恢复媒体发送者到会议服务器路径上丢失的包,同时会议服务器在将媒体流发送给媒体接收者时会为每个媒体接收者生成独立的FEC流;即在多流转发场景下,会议服务器对媒体流仅作转发,而对于FEC还是采用上面的机制,由于FEC的编码解码和包缓存会消耗会议服务器大量资源,会议服务器每个媒体接收者生成独立的FEC流的过程会增加媒体流端到端的传输时延,影响会议服务器服务的用户数和最终的用户体验。
发明内容
本发明的实施例提供一种媒体流传输方法、设备及系统,能够降低服务器的资源消耗,从而减小媒体流端到端的传输时延。
第一方面,提供一种媒体流传输方法,包括:
会议服务器接收媒体发送终端发送的FEC配置信息,所述FEC配置信息包含媒体流支持的FEC流的标识;
所述会议服务器根据所述FEC配置信息,生成第一映射关系表,所述第一映射关系表包含FEC流的标识与媒体接收终端的标识之间的对应关系;
接收所述媒体发送终端发送的媒体流和所述媒体发送终端根据所述FEC配置信息生成的FEC流;
将所述媒体流发送至各个媒体接收终端,并根据所述FEC流的标识与媒体接收终端的标识之间的对应关系将所述FEC流发送至媒体接收终端。
结合第一方面,在第一种可能的实现方式中,所述FEC配置信息还包括所述媒体流支持的各个FEC流的冗余度等级;
所述方法还包括:
所述会议服务器获取所述媒体发送终端到各个媒体接收终端的路径状态信息;
所述会议服务器根据所述媒体发送终端到各个媒体接收终端的路径状态信息、所述媒体流支持的各个FEC流的冗余度等级,生成所述媒体流的FEC流档次配置信息并重新配置所述第一映射关系表,所述FEC流档次配置信息包括:所述会议服务器发送至各个媒体接收终端的媒体流分别对应的FEC流的冗余度等级;
所述会议服务器将所述FEC流档次配置信息和所述会议服务器重新配置的第一映射关系表发送至所述媒体发送终端;
接收所述媒体发送终端发送的媒体流和所述媒体发送终端根据所述会议服务器发送的FEC流档次配置信息生成的FEC流。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述会议服务器将所述FEC流档次配置信息和所述会议服务器重新配置的第一映射关系表发送至所述媒体发送终端后,所述方法还包括:
接收所述媒体发送终端发送的更新的FEC流档次配置信息和所述媒体发送终端更新的第一映射关系表,并根据所述媒体发送终端更新的FEC流档次配置信息和所述媒体发送终端更新的第一映射关系表调整所述会议服务器存储的FEC流档次配置信息和第一映射关系表;
接收所述媒体发送终端发送的媒体流和所述媒体发送终端根据所述媒体发送终端更新的FEC流档次配置信息生成的FEC流。
结合第一方面第一种可能的实现方式,在第三种可能的实现方式中,所述会议服务器获取所述媒体发送终端到各个媒体接收终端的路径状态信息,包括:
所述会议服务器获取媒体发送终端到所述会议服务器的路径状态信息;
所述会议服务器获取各个媒体接收终端到所述会议服务器的路径状态信息;
所述会议服务器根据所述媒体发送终端到所述会议服务器的路径状态信息、以及各个媒体接收终端到所述会议服务器的路径状态信息,获取所述媒体发送终端到各个媒体接收终端的路径状态信息。
结合第一方面第一种可能的实现方式,在第四种可能的实现方式中,所述路径状态信息包括丢包率;
所述会议服务器根据所述媒体发送终端到媒体接收终端的路径状态信息、所述媒体流支持的各个FEC流的冗余度等级,生成媒体流的FEC流档次配置信息,包括:
判断所述媒体发送终端到第一媒体接收终端的第一丢包率是否不在当前的冗余度等级范围内;其中,所述冗余度等级范围为所述媒体流支持的各个FEC流的冗余度等级中最大冗余度与最小冗余度构成的区间,一个所述冗余度等级对应一个丢包率范围的区间;
若所述第一丢包率在当前的冗余度等级范围内,则判断该第一丢包率是否导致所述冗余度等级的划分需要缩减,其中当所述第一丢包率属于所述冗余度等级的划分中的一个冗余度等级,并且任一冗余度等级不包含当前的任一FEC流对应的丢包率及所述第一丢包率时,确定所述第一丢包率导致所述冗余度等级的划分需要缩减;
若所述第一丢包率导致所述冗余度等级的划分需要缩减,则将所述第一丢包率与当前所有的FEC流的冗余度等级重新匹配,删除所述任一冗余度等级。
结合第一方面第四种可能的实现方式,在第五种可能的实现方式中,若所述第一丢包率不导致所述冗余度等级的划分需要缩减,则判断所述第一丢包率是否导致所述冗余度等级重新划分;其中当所述第一丢包率不属于所述冗余度等级的划分中的任一冗余度等级时,确定所述第一丢包率导致所述冗余度等级重新划分;
若所述第一丢包率导致所述冗余度等级重新划分,则按照所有丢包率的分布调整FEC流对应的冗余度等级的划分。
结合第一方面第四种可能的实现方式,在第六种可能的实现方式中,若所述第一丢包率不在当前的冗余度等级范围内,则根据所述媒体发送终端发送的媒体流支持的各个FEC流的冗余度等级判断是否支持增加新的FEC流;其中若所述媒体流支持的各个FEC流的冗余度等级中不包括所述第一丢包率对应的冗余度等级,则确定不支持增加新的FEC流;
若不支持增加新的FEC流,则按照所有丢包率的分布调整FEC流对应的冗余度等级的划分;
若支持增加新的FEC流,则增加第一丢包率对应的FEC流,并设置对应的冗余度等级。
结合第一方面第六种可能的实现方式,在第七种可能的实现方式中,所述方法还包括:若支持增加新的FEC流,则判断所述媒体发送终端的带宽是否支持增加新的FEC流;其中当所述媒体发送终端的剩余带宽大于所述新增的FEC流所需的带宽时,确定支持增加新的FEC流;
若所述媒体发送终端的带宽不支持增加新的FEC流,则按照所有丢包率的分布调整FEC流对应的冗余度等级的划分;
若所述媒体发送终端的带宽支持增加新的FEC流,则增加第一丢包率对应的FEC流,并设置对应的冗余度等级。
第二方面,提供一种媒体流传输方法,包括:
媒体发送终端向会议服务器发送FEC配置信息,所述FEC配置信息包含媒体流支持的FEC流的标识;以便所述会议服务器根据所述FEC配置信息,生成第一映射关系表,所述第一映射关系表包含FEC流的标识与媒体接收终端的标识的对应关系;
向所述会议服务器发送所述媒体流和根据所述FEC配置信息生成的FEC流,以便所述会议服务器将所述媒体流发送至各个媒体接收终端,并根据所述第一映射关系表将所述FEC流发送至对应的媒体接收终端。
结合第二方面,在第一种可能的实现方式中,所述FEC配置信息还包括所述媒体流支持的各个FEC流的冗余度等级;所述方法还包括:
接收所述会议服务器发送的FEC流档次配置信息和所述会议服务器重配置的第一映射关系表,所述FEC流档次配置信息包括:所述会议服务器发送至各个媒体接收终端的媒体流对应的FEC流的冗余度等级;
在确认支持所述FEC流档次配置信息和所述会议服务器重新配置的第一映射关系表对应的FEC流配置时,向所述会议服务器发送根据所述会议服务器的FEC流档次配置信息生成的FEC流。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述媒体发送终端在确认不支持所述FEC流档次配置信息和所述会议服务器重配置的第一映射关系表对应的FEC流配置时,更新所述FEC流档次配置信息和所述会议服务器重新配置的第一映射关系表;并向所述会议服务器发送根据媒体发送终端更新的FEC流档次配置信息生成的FEC流;
将所述媒体发送终端更新的FEC流档次配置信息和所述媒体发送终端更新的第一映射关系表发送至所述会议服务器。
第三方面,提供一种会议服务器,包括:
接收单元,用于接收媒体发送终端发送的FEC配置信息,所述FEC配置信息包含媒体流支持的FEC流的标识;
处理单元,用于根据所述接收单元接收的所述FEC配置信息,生成第一映射关系表,所述第一映射关系表包含FEC流的标识与媒体接收终端的标识之间的对应关系;
所述接收单元,还用于接收所述媒体发送终端发送的媒体流和所述媒体发送终端根据所述FEC配置信息生成的FEC流;
发送单元,用于将所述接收单元接收的媒体流发送至各个媒体接收终端,并根据所述FEC流的标识与媒体接收终端的标识之间的对应关系将所述接收单元接收的FEC流发送至媒体接收终端。
结合第三方面,在第一种可能的实现方式中,所述FEC配置信息还包括所述媒体流支持的各个FEC流的冗余度等级;
所述会议服务器还包括:获取单元,用于获取所述媒体发送终端到各个媒体接收终端的路径状态信息;
所述处理单元,还用于根据所述获取单元获取的媒体发送终端到各个媒体接收终端的路径状态信息、所述接收单元接收的媒体流支持的各个FEC流的冗余度等级,生成所述媒体流的FEC流档次配置信息并重新配置所述第一映射关系表,所述FEC流档次配置信息包括:所述会议服务器发送至各个媒体接收终端的媒体流分别对应的FEC流的冗余度等级;
所述发送单元,还用于将所述处理单元生成的FEC流档次配置信息和所述会议服务器的处理单元重新配置的第一映射关系表发送至所述媒体发送终端;
所述接收单元,还用于接收所述媒体发送终端发送的媒体流和所述媒体发送终端根据所述会议服务器发送的FEC流档次配置信息生成的FEC流。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述接收单元,还用于接收所述媒体发送终端发送的更新的FEC流档次配置信息和所述媒体发送终端更新的第一映射关系表,所述处理器还用于根据所述接收单元接收的所述媒体发送终端更新的FEC流档次配置信息和所述媒体发送终端更新的第一映射关系表调整所述会议服务器存储的FEC流档次配置信息和第一映射关系表;
所述接收单元,还用于接收所述媒体发送终端发送的媒体流和所述媒体发送终端根据所述媒体发送终端更新的FEC流档次配置信息生成的FEC流。
结合第三方面第一种可能的实现方式,在第三种可能的实现方式中,所述获取单元,具体用于获取媒体发送终端到所述会议服务器的路径状态信息;获取各个媒体接收终端到所述会议服务器的路径状态信息;根据所述媒体发送终端到所述会议服务器的路径状态信息、以及各个媒体接收终端到所述会议服务器的路径状态信息,获取所述媒体发送终端到各个媒体接收终端的路径状态信息。
结合第三方面第一种可能的实现方式,在第四种可能的实现方式中,所述路径状态信息包括丢包率;
所述处理单元,具体用于:
判断所述媒体发送终端到第一媒体接收终端的第一丢包率是否不在当前的冗余度等级范围内;其中,所述冗余度等级范围为所述媒体流支持的各个FEC流的冗余度等级中最大冗余度与最小冗余度构成的区间,一个所述冗余度等级对应一个丢包率范围的区间;
若所述第一丢包率在当前的冗余度等级范围内,则判断该第一丢包率是否导致所述冗余度等级的划分需要缩减,其中当所述第一丢包率属于所述冗余度等级的划分中的一个冗余度等级,并且任一冗余度等级不包含当前的任一FEC流对应的丢包率及所述第一丢包率时,确定所述第一丢包率导致所述冗余度等级的划分需要缩减;
若所述第一丢包率导致所述冗余度等级的划分需要缩减,则将所述第一丢包率与当前所有的FEC流的冗余度等级重新匹配,删除所述任一冗余度等级。
结合第三方面第四种可能的实现方式,在第五种可能的实现方式中,所述处理单元,具体还用于:若所述第一丢包率不导致所述冗余度等级的划分需要缩减,则判断所述第一丢包率是否导致所述冗余度等级重新划分;其中当所述第一丢包率不属于所述冗余度等级的划分中的任一冗余度等级时,确定所述第一丢包率导致所述冗余度等级重新划分;
若所述第一丢包率导致所述冗余度等级重新划分,则按照所有丢包率的分布调整FEC流对应的冗余度等级的划分。
结合第三方面第四种可能的实现方式,在第六种可能的实现方式中,所述处理单元,具体还用于:
若所述第一丢包率不在当前的冗余度等级范围内,则根据所述媒体发送终端发送的媒体流支持的各个FEC流的冗余度等级判断是否支持增加新的FEC流;其中若所述媒体流支持的各个FEC流的冗余度等级中不包括所述第一丢包率对应的冗余度等级,则确定不支持增加新的FEC流;
若不支持增加新的FEC流,则按照所有丢包率的分布调整FEC流对应的冗余度等级的划分;
若支持增加新的FEC流,则增加第一丢包率对应的FEC流,并设置对应的冗余度等级。
结合第一方面第六种可能的实现方式,在第七种可能的实现方式中,所述处理单元,具体还用于:若支持增加新的FEC流,则判断所述媒体发送终端的带宽是否支持增加新的FEC流;其中当所述媒体发送终端的剩余带宽大于所述新增的FEC流所需的带宽时,确定支持增加新的FEC流;
若所述媒体发送终端的带宽不支持增加新的FEC流,则按照所有丢包率的分布调整FEC流对应的冗余度等级的划分;
若所述媒体发送终端的带宽支持增加新的FEC流,则增加第一丢包率对应的FEC流,并设置对应的冗余度等级。
第四方面,提供一种媒体发送终端,包括:
发送单元,用于向会议服务器发送FEC配置信息,所述FEC配置信息包含媒体流支持的FEC流的标识;以便所述会议服务器根据所述FEC配置信息,生成第一映射关系表,所述第一映射关系表包含FEC流的标识与媒体接收终端的标识的对应关系;
所述发送单元,还用于向所述会议服务器发送所述媒体流和根据所述FEC配置信息生成的FEC流,以便所述会议服务器将所述媒体流发送至各个媒体接收终端,并根据所述第一映射关系表将所述FEC流发送至对应的媒体接收终端。
结合第四方面,在第一种可能的实现方式中,所述FEC配置信息还包括所述媒体流支持的各个FEC流的冗余度等级;所述媒体发送终端还包括:接收单元和处理单元;
接收单元,用于接收所述会议服务器发送的FEC流档次配置信息和所述会议服务器重配置的第一映射关系表,所述FEC流档次配置信息包括:所述会议服务器发送至各个媒体接收终端的媒体流对应的FEC流的冗余度等级;
所述发送单元还用于在处理单元确认支持所述FEC流档次配置信息和所述会议服务器重新配置的第一映射关系表对应的FEC流配置时,向所述会议服务器发送根据所述会议服务器的FEC流档次配置信息生成的FEC流。
结合第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理单元,还用于在确认不支持所述FEC流档次配置信息和所述会议服务器重配置的第一映射关系表对应的FEC流配置时,更新所述FEC流档次配置信息和所述会议服务器重新配置的第一映射关系表;
所述发送单元还用于向所述会议服务器发送根据媒体发送终端更新的FEC流档次配置信息生成的FEC流;
所述发送单元,还用于将所述媒体发送终端的处理单元更新的FEC流档次配置信息和所述媒体发送终端的处理单元更新的第一映射关系表发送至所述会议服务器。
第五方面,提供一种会议服务器,包括:处理器、第一接口电路、第二接口电路、存储器和总线;所述处理器、第一接口电路、第二接口电路、存储器通过所述总线连接并完成相互间的通信;
第一接口电路,用于接收媒体发送终端发送的FEC配置信息,所述FEC配置信息包含媒体流支持的FEC流的标识;
处理器,用于根据所述第一接口电路接收的所述FEC配置信息,生成第一映射关系表,所述第一映射关系表包含FEC流的标识与媒体接收终端的标识之间的对应关系;
所述第一接口电路,还用于接收所述媒体发送终端发送的媒体流和所述媒体发送终端根据所述FEC配置信息生成的FEC流;
第二接口电路,用于将所述第一接口电路接收的媒体流发送至各个媒体接收终端,并根据所述FEC流的标识与媒体接收终端的标识之间的对应关系将所述接收单元接收的FEC流发送至媒体接收终端。
结合第五方面,在第一种可能的实现方式中,所述FEC配置信息还包括所述媒体流支持的各个FEC流的冗余度等级;
所述处理器,还用于获取所述媒体发送终端到各个媒体接收终端的路径状态信息;
所述处理器,还用于根据所述媒体发送终端到各个媒体接收终端的路径状态信息、所述第一接口电路接收的媒体流支持的各个FEC流的冗余度等级,生成所述媒体流的FEC流档次配置信息并重新配置所述第一映射关系表,所述FEC流档次配置信息包括:所述会议服务器发送至各个媒体接收终端的媒体流分别对应的FEC流的冗余度等级;
所述第二接口电路,还用于将所述处理器生成的FEC流档次配置信息和所述会议服务器的处理器重新配置的第一映射关系表发送至所述媒体发送终端;
所述第一接口电路,还用于接收所述媒体发送终端发送的媒体流和所述媒体发送终端根据所述会议服务器发送的FEC流档次配置信息生成的FEC流。
结合第五方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一接口电路,还用于接收所述媒体发送终端发送的更新的FEC流档次配置信息和所述媒体发送终端更新的第一映射关系表,所述处理器还用于根据所述第一接口电路接收的所述媒体发送终端更新的FEC流档次配置信息和所述媒体发送终端更新的第一映射关系表调整所述会议服务器存储的FEC流档次配置信息和第一映射关系表;
所述第一接口电路,还用于接收所述媒体发送终端发送的媒体流和所述媒体发送终端根据所述媒体发送终端更新的FEC流档次配置信息生成的FEC流。
结合第五方面第一种可能的实现方式,在第三种可能的实现方式中,所述处理器,具体用于获取媒体发送终端到所述会议服务器的路径状态信息;获取各个媒体接收终端到所述会议服务器的路径状态信息;根据所述媒体发送终端到所述会议服务器的路径状态信息、以及各个媒体接收终端到所述会议服务器的路径状态信息,获取所述媒体发送终端到各个媒体接收终端的路径状态信息。
结合第五方面第一种可能的实现方式,在第四种可能的实现方式中,所述路径状态信息包括丢包率;
所述处理器,具体用于:
判断所述媒体发送终端到第一媒体接收终端的第一丢包率是否不在当前的冗余度等级范围内;其中,所述冗余度等级范围为所述媒体流支持的各个FEC流的冗余度等级中最大冗余度与最小冗余度构成的区间,一个所述冗余度等级对应一个丢包率范围的区间;
若所述第一丢包率在当前的冗余度等级范围内,则判断该第一丢包率是否导致所述冗余度等级的划分需要缩减,其中当所述第一丢包率属于所述冗余度等级的划分中的一个冗余度等级,并且任一冗余度等级不包含当前的任一FEC流对应的丢包率及所述第一丢包率时,确定所述第一丢包率导致所述冗余度等级的划分需要缩减;
若所述第一丢包率导致所述冗余度等级的划分需要缩减,则将所述第一丢包率与当前所有的FEC流的冗余度等级重新匹配,删除所述任一冗余度等级。
结合第五方面第四种可能的实现方式,在第五种可能的实现方式中,所述处理器,具体还用于:若所述第一丢包率不导致所述冗余度等级的划分需要缩减,则判断所述第一丢包率是否导致所述冗余度等级重新划分;其中当所述第一丢包率不属于所述冗余度等级的划分中的任一冗余度等级时,确定所述第一丢包率导致所述冗余度等级重新划分;
若所述第一丢包率导致所述冗余度等级重新划分,则按照所有丢包率的分布调整FEC流对应的冗余度等级的划分。
结合第五方面第四种可能的实现方式,在第六种可能的实现方式中,所述处理器,具体还用于:
若所述第一丢包率不在当前的冗余度等级范围内,则根据所述媒体发送终端发送的媒体流支持的各个FEC流的冗余度等级判断是否支持增加新的FEC流;其中若所述媒体流支持的各个FEC流的冗余度等级中不包括所述第一丢包率对应的冗余度等级,则确定不支持增加新的FEC流;
若不支持增加新的FEC流,则按照所有丢包率的分布调整FEC流对应的冗余度等级的划分;
若支持增加新的FEC流,则增加第一丢包率对应的FEC流,并设置对应的冗余度等级。
结合第一方面第六种可能的实现方式,在第七种可能的实现方式中,所述处理器,具体还用于:若支持增加新的FEC流,则判断所述媒体发送终端的带宽是否支持增加新的FEC流;其中当所述媒体发送终端的剩余带宽大于所述新增的FEC流所需的带宽时,确定支持增加新的FEC流;
若所述媒体发送终端的带宽不支持增加新的FEC流,则按照所有丢包率的分布调整FEC流对应的冗余度等级的划分;
若所述媒体发送终端的带宽支持增加新的FEC流,则增加第一丢包率对应的FEC流,并设置对应的冗余度等级。
第六方面,提供一种媒体发送终端,包括:第一接口电路、存储器和总线;所述第一接口电路、存储器通过所述总线连接并完成相互间的通信;
第一接口电路,用于向会议服务器发送FEC配置信息,所述FEC配置信息包含媒体流支持的FEC流的标识;以便所述会议服务器根据所述FEC配置信息,生成第一映射关系表,所述第一映射关系表包含FEC流的标识与媒体接收终端的标识的对应关系;
所述第一接口电路,还用于向所述会议服务器发送所述媒体流和根据所述FEC配置信息生成的FEC流,以便所述会议服务器将所述媒体流发送至各个媒体接收终端,并根据所述第一映射关系表将所述FEC流发送至对应的媒体接收终端。
结合第六方面,在第一种可能的实现方式中,所述FEC配置信息还包括所述媒体流支持的各个FEC流的冗余度等级;所述媒体发送终端还包括:与所述总线连接的第二接口电路和处理器;
第二接口电路,用于接收所述会议服务器发送的FEC流档次配置信息和所述会议服务器重配置的第一映射关系表,所述FEC流档次配置信息包括:所述会议服务器发送至各个媒体接收终端的媒体流对应的FEC流的冗余度等级;
所述第一接口电路,还用于在所述处理器确认支持所述FEC流档次配置信息和所述会议服务器重新配置的第一映射关系表对应的FEC流配置时,向所述会议服务器发送根据所述会议服务器的FEC流档次配置信息生成的FEC流。
结合第六方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理器,还用于在确认不支持所述FEC流档次配置信息和所述会议服务器重配置的第一映射关系表对应的FEC流配置时,更新所述FEC流档次配置信息和所述会议服务器重新配置的第一映射关系表;
所述第一接口电路还用于向所述会议服务器发送根据媒体发送终端更新的FEC流档次配置信息生成的FEC流;
所述第一接口电路还用于,还用于将所述媒体发送终端的处理器更新的FEC流档次配置信息和所述媒体发送终端的处理器更新的第一映射关系表发送至所述会议服务器。
第七方面,提供一种通信系统,包括:如上述第三方面或第三方面中任意一种可能的实现方式所述的会议服务器,及如上述第四方面或第四方面中任意一种可能的实现方式所述的媒体发送终端;
或者,
如上述第五方面或第五方面中任意一种可能的实现方式所述的会议服务器,及如上述第六方面或第六方面中任意一种可能的实现方式所述的媒体发送终端。
本发明的实施例提供的媒体流传输方法、设备及系统,媒体发送终端能够将FEC配置信息发送至会议服务器,以使得会议服务器根据FEC配置信息生成第一映射关系表;会议服务器在接收到由媒体发送终端根据FEC配置信息生成的媒体流的FEC流后,会议服务器能根据第一映射关系表将收到的FEC流发送至对应的媒体接收终端;从而避免了FEC的编码解码和包缓存会消耗会议服务器大量资源,能够降低服务器的资源消耗,从而减小媒体流端到端的传输时延。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的实施例提供的一种通信系统的结构示意图;
图2为本发明的实施例提供的一种媒体流传输方法的流程示意图;
图3为本发明的实施例提供的媒体流的FEC流档次配置信息的生成过程示意图;
图4为本发明的实施例提供的一种会议服务器的结构示意图;
图5为本发明的另一实施例提供的一种会议服务器的结构示意图;
图6为本发明的实施例提供的一种媒体发送终端的结构示意图;
图7为本发明的又一实施例提供的一种会议服务器的结构示意图;
图8为本发明的另一实施例提供的一种媒体发送终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应理解,本发明实施例的技术方案可以应用于各种通信系统,例如:全球移动通讯(英文全称:Global System of Mobile communication,英文简称:GSM)系统、码分多址(英文全称:Code Division Multiple Access,英文简称:CDMA)系统、宽带码分多址(英文全称:Wideband Code Division Multiple Access,英文简称:WCDMA)系统、通用分组无线业务(英文全称:General Packet Radio Service,GPRS)、长期演进(英文全称:Long TermEvolution,英文简称:LTE)系统、LTE频分双工(英文全称:Frequency Division Duplex,英文简称:FDD)系统、LTE时分双工(英文全称:Time Division Duplex,英文简称:TDD)、通用移动通信系统(英文全称:Universal Mobile Telecommunication System,英文简称:UMTS)或全球互联微波接入(英文全称:Worldwide Interoperability for MicrowaveAccess,英文简称:WiMAX)通信系统等。
本发明的实施例提供的媒体发送/接收终端可以为是蜂窝电话、无绳电话、会话启动协议(英文全称:Session Initiation Protocol,英文缩写:SIP)电话、无线本地环路(英文全称:Wireless Local Loop,英文缩写:WLL)站、个人数字处理(英文全称:PersonalDigital Assistant,英文缩写:PDA)、具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的用户设备(英文全称:User Equipment,英文缩写:UE)。本发明的实施例提供的会议服务器可以为通过有线或无线方式与各个终端连接的服务器,本发明实施例中并不限定。
参照图1所示,本发明的实施例提供的通信系统包括会议服务器Server、以及至少两个终端(D1、D2、D3、……Dn),其中,该至少两个终端中包括一个媒体发送终端D1及至少一个媒体接收终端(D2、D3、……Dn),其中媒体发送终端通过会议服务器向至少一个媒体接收终端分发媒体流。
本发明的实施例提供一种媒体流传输方法,应用与上述的通信系统,参照图2所示,包括如下步骤:
101、会议服务器接收媒体发送终端发送的FEC配置信息。
具体的步骤101中媒体发送终端可以通过与一个SDP(英文全称:SessionDescription Protocol,中文:会话描述协议)会话协商过程实现,具体的媒体发送终端可以在SDP offer(SDP请求)中携带FEC配置信息;会议服务器在收到SDP offer后,向媒体发送终端反馈SDP Answer(SDP响应)作为应答信息。其中,FEC配置信息包含媒体流支持的FEC流的标识,其中FEC流的标识可以为PT(英文全称:Payload types,中文全称:载荷类型)值,其中媒体流可以对应多个FEC流,媒体流与FEC流的对应关系,可以通过媒体流的标识(如媒体流的PT值)与FEC流的标识(FEC流的PT值)进行关联。
102、会议服务器根据FEC配置信息,生成第一映射关系表。
该第一映射关系表包含FEC流的标识与媒体接收终端的标识之间的对应关系;其中媒体接收终端的标识可以为其ID(identity,身份标识)针对初始状态,由于在初始状态会议服务器并不能获取媒体发送终端到各个媒体接收终端的路径状态,因此会议服务器只能向各个媒体接收终端转发媒体发送终端随机生成的FEC流,此时媒体发送终端可以只向会议服务器提供媒体流的一个FEC流的标识,当然这并不是对本发明的一种限制,媒体发送终端也可以向会议服务器发送媒体流所支持的多个FEC流的标识,示例性的针对PT值为97的媒体流可以生成如下第一映射关系表(表1):
表1:
FEC流的PT值 媒体接收终端的ID
1 109 D1
2 109 D2
3 109 D3
其中,表1中媒体发送终端针对PT值为97的媒体流仅提供PT值为109的FEC流,并且PT值为109的FEC流同时对应ID为D1、D2和D3的三个媒体接收终端。
103、媒体发送终端根据FEC配置信息生成FEC流。
其中步骤101中媒体发送终端若只向会议服务器提供媒体流的一个FEC流的标识,即针对所有媒体接收终端均采用同一个FEC流,如表1的映射关系,媒体发送终端针对媒体流只生成一条FEC流。同时,媒体发送终端将媒体流和对应的FEC流发送至会议服务器。
104、会议服务器将媒体流发送至媒体接收终端,并根据步骤102中生成的第一映射关系表中FEC流的标识与媒体接收终端的标识之间的对应关系将步骤103中生成的FEC流发送至各个媒体接收终端。
具体的,步骤104中会议服务器可以参照表1中各个媒体接收终端的ID将PT值为109的FEC流分别发送至各个媒体接收终端,当然以上方案中由于初始状态中媒体发送终端随机生成FEC流,这并不能反映媒体发送终端与各个媒体接收终端路径的实际状态,因此优选方案是针对媒体流仅生成一个FEC流,避免发送终端针对媒体流生成两个以上的FEC流对资源的浪费,当然本申请并不限定初始状态媒体发送终端只向会议服务器提供媒体流的一个FEC流。当需要生成两个以上的FEC流时,媒体发送终端可以向会议服务器提供媒体流的两个以上的FEC流的标识,如下表2提供另一种示例性的第一映射关系表:
表2:
FEC流的PT值 媒体接收终端的ID
1 109 D1
2 109 D2
3 110 D3
其中,表2中媒体发送终端针对PT值为97的媒体流提供PT值为109和110的两个FEC流,并且PT值为109的FEC流同时对应ID为D1、D2的两个媒体接收终端,PT值为110的FEC流对应ID为D3的媒体接收终端。上述步骤101-104由于会议服务器可以直接按照第一映射关系表转发媒体发送终端提供的对应各个媒体接收终端的FEC流,避免了FEC的编码解码和包缓存会消耗会议服务器大量资源,能够降低服务器的资源消耗,从而减小媒体流端到端的传输时延。
进一步的,FEC配置信息还包括媒体流支持的各个FEC流的冗余度等级。其中FEC配置信息还可以包括媒体流支持的最大FEC流数目,以及支持的FEC算法。
具体的,可以通过在步骤101中SDP会话协商过程中定义一个新的媒体属性行来携带上述FEC配置信息,格式如下:
a=FEC_capability:num=×;
red_level_info=L1/L2/L3;
algorithm=A1/A2/A3;
FEC_capability表示FEC容量,通过num为FEC流数目赋值;
red_level_info表示支持的冗余度等级信息,支持的冗余度等级可以有多个值,如:L1、L2、L3;algorithm表示支持的FEC算法类型,可以包含多个值,如A1、A2、A3。该属性行的用法包括以下两种:
第一:上述参数可以用于所有媒体流对应的m行,只填写num和algorithm参数,表示针对该m行对应的所有媒体流支持的总的最大FEC流数目和支持的FEC算法类型;
第二:上述参数也可以用于m行下的某一条媒体流,紧随在该媒体流对应的a行之后,填写num和red_level_info参数,表示针对该条媒体流能够同时生成的FEC流的最大数目,以及分别对应的冗余度等级。
FEC流对应的rtpmap属性行需要在编码参数中增加设置的冗余度信息,具体定义为red=冗余度。其中,rtpmap属性行的结构如下:
a=rtpmap:<负载类型><编码名>/<时钟速率>[/<编码参数>]
其中,在步骤101-104中在初始的SDP offer中针对媒体流只生成一条FEC流,并通过media_group属性行完成媒体流和FEC流的关联。
下面提供一个SDP offer实例(仅包含部分相关行):
o=alice 2362969037 2362969040 IN IP4 192.0.2.156
s=Simulcast Enabled Unified Plan Client
m=video 49300 RTP/AVP 97 110
a=FEC_capability:num=2;red_level_info=0.1/0.2/0.3;
algorithm=1d-interleaved-parityfec/RS
a=rtpmap:97 H264/90000
a=rtpmap:110 1d-interleaved-parityfec/90000/red=0.1
a=media_group:FEC-FR97 110
其中:o行具体形式为:o=<username><session id><version><network type><address type><address>,表示会话的发起者信息(用户名、主机地址),以及会话标识和会话版本号。描述为:本会话由alice发起,会话标识为2362969037,版本号为2362969040,网络为initernet,地址类型为IPv4,具体地址为192.0.2.156;s行表示会话名称,其中每个会话描述中必须有且仅有一个会话名;m行为对媒体流的描述。其形式为:m=<media><port><transport><fmt list>。当前描述为:该媒体流类型为视频,接收媒体的端口为49300,传输协议类型为RTP,使用两种媒体格式为97和110;a行的描述为媒体发送终端针对PT值为97媒体流的FEC能力信息是:最大支持生成2个FEC流,冗余度包括10%/20%/30%,支持的FEC算法包括1d-interleaved-parityfec和RS;PT值为97的媒体流视频载荷格式为H.264/90000;PT值为110的FEC流使用的1d-interleaved-parityfec算法,冗余度为10%;PT值为97的媒体流有一个对应的PT值为110的FEC流,是通过media_group属性行完成媒体流和FEC流的关联。
会议服务器在完成和媒体发送终端的SDP协商后,保存媒体发送终端发送的FEC配置信息。
105、会议服务器获取媒体发送终端到会议服务器的路径状态信息。
其中,路径状态信息包括丢包率、时延。由于在上述过程中媒体发送终端与会议服务器之间已经进行了SDP会话协商的数据包传输过程,并且媒体发送终端已经开始以数据包的形式向会议服务器发送媒体流和FEC流,因此具体的步骤105中会议服务器可以根据接收到的媒体发送终端发送的数据包统计媒体发送终端到会议服务器的路径状态信息。其中步骤105可以与上述步骤101中SDP会话协商过程同时开始。
106、会议服务器获取各个媒体接收终端到会议服务器的路径状态信息。
具体的步骤106中,媒体接收终端具体通过RTCP(英文全称:Real-Time TransportControl Protocol,中文全称:实时传输控制协议)RR(英文全称:ReceiverReport,中文:接收者报告)消息定期向会议服务器上报会议服务器到媒体接收终端路径的状态信息,包括丢包率,时延等。
107、会议服务器根据媒体发送终端到会议服务器的路径状态信息、以及各个媒体接收终端到会议服务器的路径状态信息,分别获取媒体发送终端到各个媒体接收终端的路径状态信息。
具体的,由于在步骤105中获取了媒体发送终端到会议服务器的路径状态信息,在步骤106中获取了各个媒体接收终端到会议服务器的路径状态信息,因此步骤107具体为将媒体发送终端到会议服务器的路径状态信息分别与各个媒体接收终端到会议服务器的路径状态信息进行整合,以获取媒体发送终端到各个媒体接收终端的路径状态信息。
108、会议服务器根据媒体发送终端到各个媒体接收终端的路径状态信息、媒体流支持的各个FEC流的冗余度等级,生成媒体流的FEC流档次配置信息并重新配置第一映射关系表。
其中,FEC流档次配置信息包括会议服务器发送至各个媒体接收终端的媒体流分别对应的FEC流的冗余度等级。示例性的提供下表3,
表3:
FEC流的PT值 冗余度等级
1 109 L1
2 110 L2
可选的,步骤108中还可同时考虑媒体发送终端的宽带能力,这种情况下步骤108具体为会议服务器根据媒体发送终端到媒体接收终端的路径状态信息、媒体流支持的各个FEC流的冗余度等级以及媒体发送终端的宽带能力,生成媒体流的FEC流档次配置信息并重新配置第一映射关系表。
具体的,会议服务器根据媒体发送终端到多个媒体接收终端的路径状态信息将各媒体接收终端划分成几个档次。此外,会议服务器根据媒体发送终端的FEC配置信息(当前已有FEC流个数,即步骤101至104初始化过程中媒体发送终端生成的FEC流的个数;以及支持的最大FEC流个数)和媒体发送终端的带宽情况(在可获得该信息的情况下考虑)判断是否能够为上面不同档次的媒体接收终端提供不同的FEC流,如果能够支持则更新该媒体流的FEC流对应的媒体接收终端对应的档次配置信息,如果不能完全支持,则考虑合并部分媒体接收终端档次,缩减FEC流个数以使得部分媒体接收终端共用同一个FEC流,由于共用同一个FEC流的媒体接收终端与媒体发送终端之间的路径状态并不完全相同,因此可以权衡所有共用同一个FEC流的媒体接收终端与媒体发送终端之间的路径状态调整该共用的FEC流的冗余度,参照上述的表2和表3,其中D2对应的PT值为109的FEC流,D3对应PT值为110的FEC流,如需要将D2和D3划为同一个档次以缩减FEC流时,由于PT值为109的FEC流对应的冗余度为L1,PT值为110的FEC流对应的冗余度为L2,因此若将PT值为110的FEC流取消,将D2和D3共用PT值为109的FEC流则需要将PT值为109的FEC流对应的冗余度L1进行调整。
此外,若当前场景下,初始状态只包含一个FEC流,会议服务器分析发现媒体发送终端到媒体接收终端2路径的丢包率太大,使用现有FEC流无法对抗,需要将媒体接收终端划分成2类。媒体发送终端针对该媒体流的FEC能力信息支持2条FEC流,则会议服务器更新该媒体流的FEC流数目为2,对于新的FEC流设置新的冗余参数(该参数是从媒体发送终端之前的能力信息集中选择),生成媒体流的FEC流档次配置信息并重新配置第一映射关系表。
具体的参照图3所示,步骤108中生成媒体流的FEC流档次配置信息通过如下流程实现:
S1:判断媒体发送终端到第一媒体接收终端的第一丢包率是否不在当前的冗余度等级范围内。
其中,冗余度等级范围为媒体流支持的各个FEC流的冗余度等级中最大冗余度与最小冗余度构成的区间,一个冗余度等级对应一个丢包率范围的区间。
若所述第一丢包率在当前的冗余度等级范围内,则执行以下步骤:
S2:判断该第一丢包率是否导致所述冗余度等级的划分需要缩减。
其中当第一丢包率属于冗余度等级的划分中的一个冗余度等级,并且任一冗余度等级不包含当前的任一FEC流对应的丢包率及第一丢包率时,确定第一丢包率导致冗余度等级的划分需要缩减。
若第一丢包率导致冗余度等级的划分需要缩减,则执行以下步骤:
S3:将第一丢包率与当前所有的FEC流的冗余度等级重新匹配,删除上述任一冗余度等级。
若第一丢包率不导致所述冗余度等级的划分需要缩减,则执行以下步骤:
S4:判断所述第一丢包率是否导致冗余度等级重新划分。
其中当第一丢包率不属于冗余度等级的划分中的任一冗余度等级时,确定第一丢包率导致冗余度等级重新划分。
若第一丢包率导致冗余度等级重新划分,则执行以下步骤:
S5:按照所有丢包率的分布调整FEC流对应的冗余度等级的划分。
若第一丢包率不导致冗余度等级重新划分,则执行以下步骤:
S6:保持现有冗余度等级的划分。
根据步骤S1的判断结果,若第一丢包率不在当前的冗余度等级范围内,则执行以下步骤:
S7:根据媒体发送终端发送的媒体流支持的各个FEC流的冗余度等级判断是否支持增加新的FEC流。
其中,若媒体流支持的各个FEC流的冗余度等级中不包括第一丢包率对应的冗余度等级,则确定不支持增加新的FEC流。
若媒体流支持的各个FEC流的冗余度等级不支持增加新的FEC流,则执行步骤S5。
若媒体流支持的各个FEC流的冗余度等级支持增加新的FEC流,则执行以下步骤:
S8:增加第一丢包率对应的FEC流,并设置对应的冗余度等级。
在考虑发送媒体发送终端支持的带宽时,具体还包括:
若媒体流支持的各个FEC流的冗余度等级支持增加新的FEC流,则执行如下步骤:
S9:判断媒体发送终端的带宽是否支持增加新的FEC流。
其中当媒体发送终端的剩余带宽大于新增的FEC流所需的带宽时,确定支持增加新的FEC流。
若媒体发送终端的带宽不支持增加新的FEC流,则执行步骤S5。
若媒体发送终端的带宽支持增加新的FEC流,则执行步骤S8。
针对上述步骤S1-S9提供的方法,(假设初始状态,由第一映射关系表和FEC流档次配置信息确定的媒体接收终端和冗余度的映射情况如下表4所示),通过以下四种示例进行说明:
表4:
冗余度等级 媒体接收终端
0~10% D1
20~30% D2,D3
示例一:
如果当前的第一丢包率为3%,对应媒体发送终端到第一媒体接收终端D1的路径状态,则可以判断该第一丢包率在当前的冗余度等级0~10%范围内,因此对当前冗余度等级范围无需做调整,按照现有配置运作增加第一丢包率对应的FEC流,即上述步骤S6。
示例二:
如果当前的第一丢包率为23%,对应媒体发送终端到第一媒体接收终端D1的路径状态,可以判断第一丢包率在当前的冗余度等级20~30%范围内,但是D1原来对应的冗余度等级0~10%不能满足要求,需要将D1调整到冗余度等级20~30%的档次,而原来冗余度等级0~10%没有对应媒体接收终端了,可将其删除掉,即上述步骤S3。此时媒体接收终端和冗余度的映射情况调整为如下表5:
表5:
冗余度等级 接收者
20~30% D1,D2,D3
示例三:
如果当前的第一丢包率为13%,对应媒体发送终端到第一媒体接收终端D1的路径状态,可以判断该第一丢包率在当前的冗余度等级范围内,但是D1原来对应的冗余度等级0~10%不能满足要求,20~30%的档次又太高,所以这里需要对当前的冗余度等级信息进行调整,将原来冗余度等级0~10%调整为10~20%,即上述步骤S5。此时媒体接收终端和冗余度的映射情况调整为如下表6:
表6:
FEC冗余度等级 接收者
10~20% D1
20~30% D2,D3
示例四:
如果当前的第一丢包率为35%,对应媒体发送终端到第一媒体接收终端D2的路径状态,可以判断该第一丢包率不在当前的冗余度等级范围内,需要增加新的FEC流,并对应增加冗余等级为30~40%,对应S8,媒体接收终端和冗余度的映射情况调整如下表7:
表7:
FEC冗余度等级 接收者
0~10% D1
20~30% D3
30~40% D2
109、会议服务器将FEC流档次配置信息和会议服务器重新配置的第一映射关系表发送至媒体发送终端。
其中步骤109中,会议服务器可以通过向媒体发送终端发起新的O/A(请求应答)协商,向媒体发送终端发送SDP offer。该O/A用于向媒体发送终端通知,针对媒体流生成两个FEC流,其中每个FEC流对应一个PT值,该SDP offer实例如下(仅包含部分相关行):
o=as 2362969037 2362969040 IN IP4 192.0.2.200
s=Simulcast Enabled Unified Plan Client
m=video 49300 RTP/AVP 97 110 111
a=rtpmap:97 H264/90000
a=rtpmap:110 1d-interleaved-parityfec/90000/red=0.1
a=rtpmap:111 1d-interleaved-parityfec/90000/red=0.2
a=media_group:FEC-FR97 110
a=media_group:FEC-FR97 111
具体描述:o行描述为:本会话由alice发起,会话标识为2362969037,版本号为2362969040,网络为initernet,地址类型为IPv4,具体地址为192.0.2.200;s行表示会话名称,其中每个会话描述中必须有且仅有一个会话名;m行描述为:该媒体流类型为视频,接收媒体的端口为49300,传输协议类型为RTP,使用两种媒体格式为97、110和111;a行的描述为针对PT值为97的媒体流,生成两个FEC流,其中一个FEC流的PT值为110,另一个FEC流的111,PT值为110的FEC流使用的1d-interleaved-parityfec算法对应的冗余度为10%,PT值为111的FEC流使用的1d-interleaved-parityfec算法对应的冗余度为20%。PT值为97的媒体流与PT值为110的FEC流是通过media_group属性行完成关联,PT值为97的媒体流与PT值为111的FEC流也是通过media_group属性行完成关联。
110、若媒体发送终端确认支持FEC流档次配置信息和会议服务器重新配置的第一映射关系表对应的FEC流配置,则根据会议服务器发送的FEC流档次配置信息生成FEC流。
具体对于上述步骤109中SDP offer的答复实例如下(仅包含部分相关行):
o=alice 2362969037 2362969040 IN IP4 192.0.2.156
s=Simulcast Enabled Unified Plan Client
m=video 49300 RTP/AVP 97 110 111
a=rtpmap:97 H264/90000
a=rtpmap:110 1d-interleaved-parityfec/90000/red=0.1
a=rtpmap:111 1d-interleaved-parityfec/90000/red=0.2
a=media_group:FEC-FR97 110
a=media_group:FEC-FR97 111
具体描述:针对o、s、m行的描述参考上述的示例,这里不再赘述;针对a行的描述为:支持针对PT值为97的媒体流,生成两个FEC流,其中一个FEC流的PT值为110,另一个FEC流的111,PT值为110的FEC流使用的1d-interleaved-parityfec算法对应的冗余度为10%;PT值为111的FEC流使用的1d-interleaved-parityfec算法对应的冗余度为20%。PT值为97的媒体流与PT值为110的FEC流是通过media_group属性行完成关联,PT值为97的媒体流与PT值为111的FEC流也是通过media_group属性行完成关联。
具体的在步骤110之后,由于媒体发送终端确认支持步骤108中会议服务器生成的媒体流的FEC流档次配置信息和重新配置的第一映射关系表,因此媒体发送终端向会议服务器发送媒体流和步骤110生成的FEC流,并且会议服务器接收媒体发送终端发送的媒体流和步骤110生成的FEC流后,将媒体流发送至各个媒体接收终端,并根据步骤108中会议服务器重新配置的第一映射关系表将接收到的各个FEC流发送至对应的媒体接收终端,具体针对每一个FEC流的发送参照步骤104这里不再赘述。
111、若媒体发送终端确认不支持FEC流档次配置信息和会议服务器重新配置的第一映射关系表对应的FEC流配置,则更新FEC流档次配置信息和会议服务器重新配置的第一映射关系表。
这里针对步骤111需要说明的是,由于媒体发送终端的网络状态和资源配置情况可能发生变化,因此媒体发送终端的FEC配置信息可能发生变化,在FEC配置信息发生变化时,一种方案是:可以通过上述步骤101中的SDP协商过程将发生变化后的FEC配置信息重新发送至会议服务器。另一种方案是:媒体发送终端直接根据变化后的FEC配置信息更新FEC流档次配置信息和会议服务器重新配置的第一映射关系表,具体的根据上述过程中FEC配置信息的内容,可知FEC配置信息的变化主要会引起媒体流支持的各个FEC流的冗余度等级、以及支持的最大FEC流数目发生变化;因此更新FEC流档次配置信息主要为更新各个FEC流的冗余度等级,更新会议服务器重新配置的第一映射关系表主要为调整FEC流的标识与媒体接收终端的标识之间的对应关系,例如:媒体流支持的最大FEC流数目减少时需要取消第一映射关系表中的若干条FEC流的标识与媒体接收终端的标识,其中取消的原则可以依FEC配置信息发生变化后媒体流所支持的各个FEC流的冗余度等级,示例性的,在会议服务器重配置的第一映射关系表中存在PT值为112的FEC流,其对应的媒体接收终端为D4;若PT值为112的FEC流的冗余度为43%,对应的冗余度等级为40~50%;而在FEC配置信息发生变化时,媒体发送终端支持的最大的冗余度等级为30~40%;则需要取消第一映射关系表中存在PT值为112的FEC流与媒体接收终端为D4的对应关系,或者为D4配置较低的冗余度等级。
112、媒体发送终端将更新的FEC流档次配置信息和媒体发送终端更新的第一映射关系表发送至会议服务器。
具体对于上述步骤110中SDP offer的答复answer实例如下(仅包含部分相关行):
o=alice 2362969037 2362969040 IN IP4 192.0.2.156
s=Simulcast Enabled Unified Plan Client
m=video 49300 RTP/AVP 97 110
a=rtpmap:97 H264/90000
a=rtpmap:110 1d-interleaved-parityfec/90000/red=0.2
a=media_group:FEC-FR97 110
具体描述:针对o、s、m行的描述参考上述的示例,这里不再赘述;针对a行的描述为:支持针对PT值为97的媒体流,生成一个FEC流,对应PT值为110,使用的1d-interleaved-parityfec算法,对应的冗余度为20%。并且PT值为97的媒体流有一个对应的PT值为110的FEC流,是通过media_group属性行完成媒体流和FEC流的关联。
113、会议服务器接收媒体发送终端发送的更新的FEC流档次配置信息和媒体发送终端更新的第一映射关系表,并根据媒体发送终端更新的FEC流档次配置信息和媒体发送终端更新的第一映射关系表调整会议服务器存储的FEC流档次配置信息和第一映射关系表。
114、媒体发送终端根据媒体发送终端更新的FEC流档次配置信息生成媒体流对应的FEC流,并连同媒体流发送至会议服务器。
步骤113中通过定义一个新的媒体属性media_group完成FEC流和媒体流之间的关联,便于会议服务器进行转发。
115、会议服务器将媒体流发送至各个媒体接收终端,并根据调整的第一映射关系表中FEC流的标识与媒体接收终端的标识之间的对应关系将各个FEC流发送至对应的媒体接收终端。
需要说明的是,如果某个媒体接收终端的FEC流是发生变化的,为了避免会议服务器和媒体接收终端之间发起重新的O/A协商来修改FEC流对应的PT,会议服务器需要完成FEC包的PT值修改,具体为会议服务器将RTP包头中PT字段的值修改为新的PT值。上述过程中,媒体发送终端向会议服务器发送媒体流的过程可以采用重传技术或FEC技术等现有技术本申请并不做具体限定。
本发明的实施例提供的媒体流传输方法,媒体发送终端能够将FEC配置信息发送至会议服务器,以使得会议服务器根据FEC配置信息生成第一映射关系表;会议服务器在接收到由媒体发送终端根据FEC配置信息生成的媒体流的FEC流后,会议服务器能根据第一映射关系表将收到的FEC流发送至对应的媒体接收终端;从而避免了FEC的编码解码和包缓存会消耗会议服务器大量资源,能够降低服务器的资源消耗,从而减小媒体流端到端的传输时延;同时能够根据媒体发送终端到各个媒体接收终端的路径状态信息、媒体发送终端的带宽以及媒体发送终端的FEC配置信息的变化实时更新FEC流档次配置信息和第一映射关系表,提高了FEC流与媒体流的匹配度精度。
本发明的实施例提供一种会议服务器,用于实施上述的媒体流传输方法,参照图4所示,包括:
接收单元41,用于接收媒体发送终端发送的FEC配置信息,所述FEC配置信息包含媒体流支持的FEC流的标识;
处理单元42,用于根据所述接收单元41接收的所述FEC配置信息,生成第一映射关系表,所述第一映射关系表包含FEC流的标识与媒体接收终端的标识之间的对应关系;
所述接收单元41,还用于接收所述媒体发送终端发送的媒体流和所述媒体发送终端根据所述FEC配置信息生成的FEC流;
发送单元43,用于将所述接收单元41接收的媒体流发送至各个媒体接收终端,并根据所述FEC流的标识与媒体接收终端的标识之间的对应关系将所述接收单元41接收的FEC流发送至媒体接收终端。
本发明的实施例提供的会议服务器,能够接受媒体发送终端发送的FEC配置信息,并根据FEC配置信息生成第一映射关系表;在接收到由媒体发送终端根据FEC配置信息生成的媒体流的FEC流后,会议服务器能根据第一映射关系表将收到的FEC流发送至对应的媒体接收终端;从而避免了FEC的编码解码和包缓存会消耗会议服务器大量资源,能够降低服务器的资源消耗,从而减小媒体流端到端的传输时延。
一种可选的方案为,所述FEC配置信息还包括所述媒体流支持的各个FEC流的冗余度等级;参照图5所示,所述会议服务器还包括:获取单元44,用于获取所述媒体发送终端到各个媒体接收终端的路径状态信息;
所述处理单元42,还用于根据所述获取单元44获取的媒体发送终端到各个媒体接收终端的路径状态信息、所述接收单元41接收的媒体流支持的各个FEC流的冗余度等级,生成所述媒体流的FEC流档次配置信息并重新配置所述第一映射关系表,所述FEC流档次配置信息包括:所述会议服务器发送至各个媒体接收终端的媒体流分别对应的FEC流的冗余度等级;
所述发送单元43,还用于将所述处理单元42生成的FEC流档次配置信息和所述会议服务器的处理单元42重新配置的第一映射关系表发送至所述媒体发送终端;
所述接收单元41,还用于接收所述媒体发送终端发送的媒体流和所述媒体发送终端根据所述会议服务器发送的FEC流档次配置信息生成的FEC流。
一种可选的方案为,所述接收单元41,还用于接收所述媒体发送终端发送的更新的FEC流档次配置信息和所述媒体发送终端更新的第一映射关系表,所述处理单元42还用于根据所述接收单元41接收的所述媒体发送终端更新的FEC流档次配置信息和所述媒体发送终端更新的第一映射关系表调整所述会议服务器存储的FEC流档次配置信息和第一映射关系表;
所述接收单元41,还用于接收所述媒体发送终端发送的媒体流和所述媒体发送终端根据所述媒体发送终端更新的FEC流档次配置信息生成的FEC流。
一种可选的方案为,所述获取单元44,具体用于获取媒体发送终端到所述会议服务器的路径状态信息;获取各个媒体接收终端到所述会议服务器的路径状态信息;根据所述媒体发送终端到所述会议服务器的路径状态信息、以及各个媒体接收终端到所述会议服务器的路径状态信息,获取所述媒体发送终端到各个媒体接收终端的路径状态信息。
一种可选的方案为,所述路径状态信息包括丢包率;
所述处理单元42,具体用于:
判断所述媒体发送终端到第一媒体接收终端的第一丢包率是否不在当前的冗余度等级范围内;其中,所述冗余度等级范围为所述媒体流支持的各个FEC流的冗余度等级中最大冗余度与最小冗余度构成的区间,一个所述冗余度等级对应一个丢包率范围的区间;
若所述第一丢包率在当前的冗余度等级范围内,则判断该第一丢包率是否导致所述冗余度等级的划分需要缩减,其中当所述第一丢包率属于所述冗余度等级的划分中的一个冗余度等级,并且任一冗余度等级不包含当前的任一FEC流对应的丢包率及所述第一丢包率时,确定所述第一丢包率导致所述冗余度等级的划分需要缩减;
若所述第一丢包率导致所述冗余度等级的划分需要缩减,则将所述第一丢包率与当前所有的FEC流的冗余度等级重新匹配,删除所述任一冗余度等级。
一种可选的方案为,所述处理单元42,具体还用于:若所述第一丢包率不导致所述冗余度等级的划分需要缩减,则判断所述第一丢包率是否导致所述冗余度等级重新划分;其中当所述第一丢包率不属于所述冗余度等级的划分中的任一冗余度等级时,确定所述第一丢包率导致所述冗余度等级重新划分;
若所述第一丢包率导致所述冗余度等级重新划分,则按照所有丢包率的分布调整FEC流对应的冗余度等级的划分。
一种可选的方案为,所述处理单元42,具体还用于:
若所述第一丢包率不在当前的冗余度等级范围内,则根据所述媒体发送终端发送的媒体流支持的各个FEC流的冗余度等级判断是否支持增加新的FEC流;其中若所述媒体流支持的各个FEC流的冗余度等级中不包括所述第一丢包率对应的冗余度等级,则确定不支持增加新的FEC流;
若不支持增加新的FEC流,则按照所有丢包率的分布调整FEC流对应的冗余度等级的划分;
若支持增加新的FEC流,则增加第一丢包率对应的FEC流,并设置对应的冗余度等级。
一种可选的方案为,所述处理单元42,具体还用于:若支持增加新的FEC流,则判断所述媒体发送终端的带宽是否支持增加新的FEC流;其中当所述媒体发送终端的剩余带宽大于所述新增的FEC流所需的带宽时,确定支持增加新的FEC流;
若所述媒体发送终端的带宽不支持增加新的FEC流,则按照所有丢包率的分布调整FEC流对应的冗余度等级的划分;
若所述媒体发送终端的带宽支持增加新的FEC流,则增加第一丢包率对应的FEC流,并设置对应的冗余度等级。
其中,由于上述方案中会议服务器同时还能够根据媒体发送终端到各个媒体接收终端的路径状态信息、媒体发送终端的带宽以及媒体发送终端的FEC配置信息的变化实时更新FEC流档次配置信息和第一映射关系表,提高了FEC流与媒体流的匹配度精度。
需要说明的是,本实施例中的接收单元41可以为会议服务器上具备接收功能的接口电路,如接收机或信息接收接口;发送单元43可以为会议服务器上具备发射功能的接口电路,如发射机或信息发送接口。处理单元42、获取单元44可以为单独设立的处理器,也可以集成在会议服务器的某一个处理器中实现,此外,也可以以程序代码的形式存储于会议服务器的存储器中,由会议服务器的某一个处理器调用并执行以上处理单元42、获取单元44的功能。这里所述的处理器可以是一个中央处理器(英文全称:Central ProcessingUnit,英文简称:CPU),或者是特定集成电路(英文全称:Application SpecificIntegrated Circuit,英文简称:ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
参照图6所示,本发明的实施例提供一种媒体发送终端,用于实施上述的媒体流传输方法,包括:
发送单元61,用于向会议服务器发送FEC配置信息,所述FEC配置信息包含媒体流支持的FEC流的标识;以便所述会议服务器根据所述FEC配置信息,生成第一映射关系表,所述第一映射关系表包含FEC流的标识与媒体接收终端的标识的对应关系;
所述发送单元61,还用于向所述会议服务器发送所述媒体流和根据所述FEC配置信息生成的FEC流,以便所述会议服务器将所述媒体流发送至各个媒体接收终端,并根据所述第一映射关系表将所述FEC流发送至对应的媒体接收终端。
本发明的实施例提供的媒体发送终端能够将FEC配置信息发送至会议服务器,以使得会议服务器根据FEC配置信息生成第一映射关系表;会议服务器在接收到由媒体发送终端根据FEC配置信息生成的媒体流的FEC流后,会议服务器能根据第一映射关系表将收到的FEC流发送至对应的媒体接收终端;从而避免了FEC的编码解码和包缓存会消耗会议服务器大量资源,能够降低服务器的资源消耗,从而减小媒体流端到端的传输时延。
一种可选的方案为,所述FEC配置信息还包括所述媒体流支持的各个FEC流的冗余度等级;参照图6所示,所述媒体发送终端还包括:接收单元62和处理单元63;
接收单元62,用于接收所述会议服务器发送的FEC流档次配置信息和所述会议服务器重配置的第一映射关系表,所述FEC流档次配置信息包括:所述会议服务器发送至各个媒体接收终端的媒体流对应的FEC流的冗余度等级;
所述发送单元61还用于在处理单元63确认支持所述FEC流档次配置信息和所述会议服务器重新配置的第一映射关系表对应的FEC流配置时,向所述会议服务器发送根据所述会议服务器的FEC流档次配置信息生成的FEC流。
一种可选的方案为,所述处理单元63,还用于在确认不支持所述FEC流档次配置信息和所述会议服务器重配置的第一映射关系表对应的FEC流配置时,更新所述FEC流档次配置信息和所述会议服务器重新配置的第一映射关系表;
所述发送单元61还用于向所述会议服务器发送根据媒体发送终端更新的FEC流档次配置信息生成的FEC流;
所述发送单元61,还用于将所述媒体发送终端的处理单元63更新的FEC流档次配置信息和所述媒体发送终端的处理单元63更新的第一映射关系表发送至所述会议服务器。
上述方案中媒体发送终端还能够实时更新FEC流档次配置信息和第一映射关系表,提高了FEC流与媒体流的匹配度精度。
需要说明的是,本实施例中的接收单元62可以为会议服务器上具备接收功能的接口电路,如接收机或信息接收接口;发送单元61可以为会议服务器上具备发射功能的接口电路,如发射机或信息发送接口。处理单元63可以为单独设立的处理器,也可以集成在会议服务器的某一个处理器中实现,此外,也可以以程序代码的形式存储于会议服务器的存储器中,由会议服务器的某一个处理器调用并执行以上处理单元63的功能。这里所述的处理器可以是一个中央处理器(英文全称:Central Processing Unit,英文简称:CPU),或者是特定集成电路(英文全称:Application Specific Integrated Circuit,英文简称:ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
参照图7所示,本发明的实施例提供一种会议服务器,用于实施上述的媒体流传输方法,包括:处理器71、第一接口电路72、第二接口电路73、存储器74和总线75;所述处理器71、第一接口电路72、第二接口电路73、存储器74通过所述总线75连接并完成相互间的通信;
需要说明的是,这里的处理器71可以是一个处理器,也可以是多个处理元件的统称。例如,该处理器可以是中央处理器CPU,也可以是特定集成电路ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路,例如:一个或多个微处理器(英文全称:digitalsingnal processor,英文简称:DSP),或,一个或者多个现场可编程门阵列(英文全称:Field Programmable Gate Array,英文简称:FPGA)。
存储器74可以是一个存储装置,也可以是多个存储元件的统称,且用于存储可执行程序代码或接入网管理设备运行所需要参数、数据等。且存储器74可以包括随机存储器(英文全称:Random-Access Memory,英文简称:RAM),也可以包括非易失性存储器(英文全称:non-volatile memory,英文简称:NVRAM),例如磁盘存储器,闪存(Flash)等。
总线75可以是工业标准体系结构(英文全称:Industry Standard Architecture,英文简称:ISA)总线、外部设备互连(英文全称:Peripheral Component,英文简称:PCI)总线或扩展工业标准体系结构(英文全称:Extended Industry Standard Architecture,英文简称:EISA)总线等。该总线75可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
第一接口电路72,用于接收媒体发送终端发送的FEC配置信息,所述FEC配置信息包含媒体流支持的FEC流的标识;
处理器71,用于根据所述第一接口电路72接收的所述FEC配置信息,生成第一映射关系表,所述第一映射关系表包含FEC流的标识与媒体接收终端的标识之间的对应关系;
所述第一接口电路72,还用于接收所述媒体发送终端发送的媒体流和所述媒体发送终端根据所述FEC配置信息生成的FEC流;
第二接口电路73,用于将所述第一接口电路72接收的媒体流发送至各个媒体接收终端,并根据所述FEC流的标识与媒体接收终端的标识之间的对应关系将所述接收单元接收的FEC流发送至媒体接收终端。
本发明的实施例提供的会议服务器,能够接受媒体发送终端发送的FEC配置信息,并根据FEC配置信息生成第一映射关系表;在接收到由媒体发送终端根据FEC配置信息生成的媒体流的FEC流后,会议服务器能根据第一映射关系表将收到的FEC流发送至对应的媒体接收终端;从而避免了FEC的编码解码和包缓存会消耗会议服务器大量资源,能够降低服务器的资源消耗,从而减小媒体流端到端的传输时延。
一种可选的方案为,所述FEC配置信息还包括所述媒体流支持的各个FEC流的冗余度等级;
所述处理器71,还用于获取所述媒体发送终端到各个媒体接收终端的路径状态信息;
所述处理器71,还用于根据所述媒体发送终端到各个媒体接收终端的路径状态信息、所述第一接口电路72接收的媒体流支持的各个FEC流的冗余度等级,生成所述媒体流的FEC流档次配置信息并重新配置所述第一映射关系表,所述FEC流档次配置信息包括:所述会议服务器发送至各个媒体接收终端的媒体流分别对应的FEC流的冗余度等级;
所述第二接口电路73,还用于将所述处理器71生成的FEC流档次配置信息和所述会议服务器的处理器71重新配置的第一映射关系表发送至所述媒体发送终端;
所述第一接口电路72,还用于接收所述媒体发送终端发送的媒体流和所述媒体发送终端根据所述会议服务器发送的FEC流档次配置信息生成的FEC流。
一种可选的方案为,所述第一接口电路72,还用于接收所述媒体发送终端发送的更新的FEC流档次配置信息和所述媒体发送终端更新的第一映射关系表,所述处理器还用于根据所述第一接口电路接收72的所述媒体发送终端更新的FEC流档次配置信息和所述媒体发送终端更新的第一映射关系表调整所述会议服务器存储的FEC流档次配置信息和第一映射关系表;
所述第一接口电路72,还用于接收所述媒体发送终端发送的媒体流和所述媒体发送终端根据所述媒体发送终端更新的FEC流档次配置信息生成的FEC流。
一种可选的方案为,所述处理器71,具体用于获取媒体发送终端到所述会议服务器的路径状态信息;获取各个媒体接收终端到所述会议服务器的路径状态信息;根据所述媒体发送终端到所述会议服务器的路径状态信息、以及各个媒体接收终端到所述会议服务器的路径状态信息,获取所述媒体发送终端到各个媒体接收终端的路径状态信息。
一种可选的方案为,所述路径状态信息包括丢包率;
所述处理器71,具体用于:
判断所述媒体发送终端到第一媒体接收终端的第一丢包率是否不在当前的冗余度等级范围内;其中,所述冗余度等级范围为所述媒体流支持的各个FEC流的冗余度等级中最大冗余度与最小冗余度构成的区间,一个所述冗余度等级对应一个丢包率范围的区间;
若所述第一丢包率在当前的冗余度等级范围内,则判断该第一丢包率是否导致所述冗余度等级的划分需要缩减,其中当所述第一丢包率属于所述冗余度等级的划分中的一个冗余度等级,并且任一冗余度等级不包含当前的任一FEC流对应的丢包率及所述第一丢包率时,确定所述第一丢包率导致所述冗余度等级的划分需要缩减;
若所述第一丢包率导致所述冗余度等级的划分需要缩减,则将所述第一丢包率与当前所有的FEC流的冗余度等级重新匹配,删除所述任一冗余度等级。
一种可选的方案为,所述处理器71,具体还用于:若所述第一丢包率不导致所述冗余度等级的划分需要缩减,则判断所述第一丢包率是否导致所述冗余度等级重新划分;其中当所述第一丢包率不属于所述冗余度等级的划分中的任一冗余度等级时,确定所述第一丢包率导致所述冗余度等级重新划分;
若所述第一丢包率导致所述冗余度等级重新划分,则按照所有丢包率的分布调整FEC流对应的冗余度等级的划分。
一种可选的方案为,所述处理器71,具体还用于:
若所述第一丢包率不在当前的冗余度等级范围内,则根据所述媒体发送终端发送的媒体流支持的各个FEC流的冗余度等级判断是否支持增加新的FEC流;其中若所述媒体流支持的各个FEC流的冗余度等级中不包括所述第一丢包率对应的冗余度等级,则确定不支持增加新的FEC流;
若不支持增加新的FEC流,则按照所有丢包率的分布调整FEC流对应的冗余度等级的划分;
若支持增加新的FEC流,则增加第一丢包率对应的FEC流,并设置对应的冗余度等级。
一种可选的方案为,所述处理器71,具体还用于:若支持增加新的FEC流,则判断所述媒体发送终端的带宽是否支持增加新的FEC流;其中当所述媒体发送终端的剩余带宽大于所述新增的FEC流所需的带宽时,确定支持增加新的FEC流;
若所述媒体发送终端的带宽不支持增加新的FEC流,则按照所有丢包率的分布调整FEC流对应的冗余度等级的划分;
若所述媒体发送终端的带宽支持增加新的FEC流,则增加第一丢包率对应的FEC流,并设置对应的冗余度等级。
其中,由于上述方案中会议服务器同时还能够根据媒体发送终端到各个媒体接收终端的路径状态信息、媒体发送终端的带宽以及媒体发送终端的FEC配置信息的变化实时更新FEC流档次配置信息和第一映射关系表,提高了FEC流与媒体流的匹配度精度。
参照图8所示,本发明的实施例提供一种媒体发送终端,用于实施上述的媒体流传输方法,包括:第一接口电路81、存储器82和总线83;所述第一接口电路81、存储器82通过所述总线83连接并完成相互间的通信;
需要说明的是,存储器82可以是一个存储装置,也可以是多个存储元件的统称,且用于存储可执行程序代码或接入网管理设备运行所需要参数、数据等。且存储器82可以包括随机存储器(英文全称:Random-Access Memory,英文简称:RAM),也可以包括非易失性存储器(英文全称:non-volatile memory,英文简称:NVRAM),例如磁盘存储器,闪存(Flash)等。
总线83可以是工业标准体系结构(英文全称:Industry Standard Architecture,英文简称:ISA)总线、外部设备互连(英文全称:Peripheral Component,英文简称:PCI)总线或扩展工业标准体系结构(英文全称:Extended Industry Standard Architecture,英文简称:EISA)总线等。该总线83可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
第一接口电路81,用于向会议服务器发送FEC配置信息,所述FEC配置信息包含媒体流支持的FEC流的标识;以便所述会议服务器根据所述FEC配置信息,生成第一映射关系表,所述第一映射关系表包含FEC流的标识与媒体接收终端的标识的对应关系;
所述第一接口电路81,还用于向所述会议服务器发送所述媒体流和根据所述FEC配置信息生成的FEC流,以便所述会议服务器将所述媒体流发送至各个媒体接收终端,并根据所述第一映射关系表将所述FEC流发送至对应的媒体接收终端。
本发明的实施例提供的媒体发送终端能够将FEC配置信息发送至会议服务器,以使得会议服务器根据FEC配置信息生成第一映射关系表;会议服务器在接收到由媒体发送终端根据FEC配置信息生成的媒体流的FEC流后,会议服务器能根据第一映射关系表将收到的FEC流发送至对应的媒体接收终端;从而避免了FEC的编码解码和包缓存会消耗会议服务器大量资源,能够降低服务器的资源消耗,从而减小媒体流端到端的传输时延。
一种可选的方案为,所述FEC配置信息还包括所述媒体流支持的各个FEC流的冗余度等级;参照图8所示,所述媒体发送终端还包括:与所述总线连接的第二接口电路84和处理器85;这里的处理器85可以是一个处理器,也可以是多个处理元件的统称。例如,该处理器可以是中央处理器CPU,也可以是特定集成电路ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路,例如:一个或多个微处理器(英文全称:digital singnalprocessor,英文简称:DSP),或,一个或者多个现场可编程门阵列(英文全称:FieldProgrammable Gate Array,英文简称:FPGA)。
第二接口电路84,用于接收所述会议服务器发送的FEC流档次配置信息和所述会议服务器重配置的第一映射关系表,所述FEC流档次配置信息包括:所述会议服务器发送至各个媒体接收终端的媒体流对应的FEC流的冗余度等级;
所述第一接口电路81,还用于在所述处理器85确认支持所述FEC流档次配置信息和所述会议服务器重新配置的第一映射关系表对应的FEC流配置时,向所述会议服务器发送根据所述会议服务器的FEC流档次配置信息生成的FEC流。
一种可选的方案为,所述处理器85,还用于在确认不支持所述FEC流档次配置信息和所述会议服务器重配置的第一映射关系表对应的FEC流配置时,更新所述FEC流档次配置信息和所述会议服务器重新配置的第一映射关系表;
所述第一接口电路81还用于向所述会议服务器发送根据媒体发送终端更新的FEC流档次配置信息生成的FEC流;
所述第一接口电路81还用于,还用于将所述媒体发送终端的处理器85更新的FEC流档次配置信息和所述媒体发送终端的处理器85更新的第一映射关系表发送至所述会议服务器。
上述方案中媒体发送终端还能够实时更新FEC流档次配置信息和第一映射关系表,提高了FEC流与媒体流的匹配度精度。
此外,还提供一种计算可读媒体(或介质),包括在被执行时进行以下操作的计算机可读指令:执行上述实施例中的方法的101至115、S1至S9的操作。
另外,还提供一种计算机程序产品,包括上述计算机可读介质。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文简称:ROM,英文全称:Read-OnlyMemory)、随机存取存储器(英文简称:RAM,英文全称:Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (34)

1.一种媒体流传输方法,其特征在于,包括:
会议服务器接收媒体发送终端发送的FEC配置信息,所述FEC配置信息包含媒体流支持的FEC流的标识;
所述会议服务器根据所述FEC配置信息,生成第一映射关系表,所述第一映射关系表包含FEC流的标识与媒体接收终端的标识之间的对应关系;
接收所述媒体发送终端发送的媒体流和所述媒体发送终端根据所述FEC配置信息生成的FEC流;
将所述媒体流发送至各个媒体接收终端,并根据所述FEC流的标识与媒体接收终端的标识之间的对应关系将所述FEC流发送至媒体接收终端。
2.根据权利要求1所述的方法,其特征在于,所述FEC配置信息还包括所述媒体流支持的各个FEC流的冗余度等级;
所述方法还包括:
所述会议服务器获取所述媒体发送终端到各个媒体接收终端的路径状态信息;
所述会议服务器根据所述媒体发送终端到各个媒体接收终端的路径状态信息、所述媒体流支持的各个FEC流的冗余度等级,生成所述媒体流的FEC流档次配置信息并重新配置所述第一映射关系表,所述FEC流档次配置信息包括:所述会议服务器发送至各个媒体接收终端的媒体流分别对应的FEC流的冗余度等级;
所述会议服务器将所述FEC流档次配置信息和所述会议服务器重新配置的第一映射关系表发送至所述媒体发送终端;
接收所述媒体发送终端发送的媒体流和所述媒体发送终端根据所述会议服务器发送的FEC流档次配置信息生成的FEC流。
3.根据权利要求2所述的方法,其特征在于,所述会议服务器将所述FEC流档次配置信息和所述会议服务器重新配置的第一映射关系表发送至所述媒体发送终端后,所述方法还包括:
接收所述媒体发送终端发送的更新的FEC流档次配置信息和所述媒体发送终端更新的第一映射关系表,并根据所述媒体发送终端更新的FEC流档次配置信息和所述媒体发送终端更新的第一映射关系表调整所述会议服务器存储的FEC流档次配置信息和第一映射关系表;
接收所述媒体发送终端发送的媒体流和所述媒体发送终端根据所述媒体发送终端更新的FEC流档次配置信息生成的FEC流。
4.根据权利要求2所述的方法,其特征在于,所述会议服务器获取所述媒体发送终端到各个媒体接收终端的路径状态信息,包括:
所述会议服务器获取媒体发送终端到所述会议服务器的路径状态信息;
所述会议服务器获取各个媒体接收终端到所述会议服务器的路径状态信息;
所述会议服务器根据所述媒体发送终端到所述会议服务器的路径状态信息、以及各个媒体接收终端到所述会议服务器的路径状态信息,获取所述媒体发送终端到各个媒体接收终端的路径状态信息。
5.根据权利要求2所述的方法,其特征在于,所述路径状态信息包括丢包率;
所述会议服务器根据所述媒体发送终端到媒体接收终端的路径状态信息、所述媒体流支持的各个FEC流的冗余度等级,生成媒体流的FEC流档次配置信息,包括:
判断所述媒体发送终端到第一媒体接收终端的第一丢包率是否不在当前的冗余度等级范围内;其中,所述冗余度等级范围为所述媒体流支持的各个FEC流的冗余度等级中最大冗余度与最小冗余度构成的区间,一个所述冗余度等级对应一个丢包率范围的区间;
若所述第一丢包率在当前的冗余度等级范围内,则判断该第一丢包率是否导致所述冗余度等级的划分需要缩减,其中当所述第一丢包率属于所述冗余度等级的划分中的一个冗余度等级,并且任一冗余度等级不包含当前的任一FEC流对应的丢包率及所述第一丢包率时,确定所述第一丢包率导致所述冗余度等级的划分需要缩减;
若所述第一丢包率导致所述冗余度等级的划分需要缩减,则将所述第一丢包率与当前所有的FEC流的冗余度等级重新匹配,删除所述任一冗余度等级。
6.根据权利要求5所述的方法,其特征在于,若所述第一丢包率不导致所述冗余度等级的划分需要缩减,则判断所述第一丢包率是否导致所述冗余度等级重新划分;其中当所述第一丢包率不属于所述冗余度等级的划分中的任一冗余度等级时,确定所述第一丢包率导致所述冗余度等级重新划分;
若所述第一丢包率导致所述冗余度等级重新划分,则按照所有丢包率的分布调整FEC流对应的冗余度等级的划分。
7.根据权利要求5所述的方法,其特征在于,
若所述第一丢包率不在当前的冗余度等级范围内,则根据所述媒体发送终端发送的媒体流支持的各个FEC流的冗余度等级判断是否支持增加新的FEC流;其中若所述媒体流支持的各个FEC流的冗余度等级中不包括所述第一丢包率对应的冗余度等级,则确定不支持增加新的FEC流;
若不支持增加新的FEC流,则按照所有丢包率的分布调整FEC流对应的冗余度等级的划分;
若支持增加新的FEC流,则增加第一丢包率对应的FEC流,并设置对应的冗余度等级。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:若支持增加新的FEC流,则判断所述媒体发送终端的带宽是否支持增加新的FEC流;其中当所述媒体发送终端的剩余带宽大于所述新增的FEC流所需的带宽时,确定支持增加新的FEC流;
若所述媒体发送终端的带宽不支持增加新的FEC流,则按照所有丢包率的分布调整FEC流对应的冗余度等级的划分;
若所述媒体发送终端的带宽支持增加新的FEC流,则增加第一丢包率对应的FEC流,并设置对应的冗余度等级。
9.一种媒体流传输方法,其特征在于,包括:
媒体发送终端向会议服务器发送FEC配置信息,所述FEC配置信息包含媒体流支持的FEC流的标识;以便所述会议服务器根据所述FEC配置信息,生成第一映射关系表,所述第一映射关系表包含FEC流的标识与媒体接收终端的标识的对应关系;
向所述会议服务器发送所述媒体流和根据所述FEC配置信息生成的FEC流,以便所述会议服务器将所述媒体流发送至各个媒体接收终端,并根据所述第一映射关系表将所述FEC流发送至对应的媒体接收终端。
10.根据权利要求9所述的方法,其特征在于,所述FEC配置信息还包括所述媒体流支持的各个FEC流的冗余度等级;所述方法还包括:
接收所述会议服务器发送的FEC流档次配置信息和所述会议服务器重配置的第一映射关系表,所述FEC流档次配置信息包括:所述会议服务器发送至各个媒体接收终端的媒体流对应的FEC流的冗余度等级;
在确认支持所述FEC流档次配置信息和所述会议服务器重新配置的第一映射关系表对应的FEC流配置时,向所述会议服务器发送根据所述会议服务器的FEC流档次配置信息生成的FEC流。
11.根据权利要求10所述的方法,其特征在于,
所述媒体发送终端在确认不支持所述FEC流档次配置信息和所述会议服务器重配置的第一映射关系表对应的FEC流配置时,更新所述FEC流档次配置信息和所述会议服务器重新配置的第一映射关系表;并向所述会议服务器发送根据媒体发送终端更新的FEC流档次配置信息生成的FEC流;
将所述媒体发送终端更新的FEC流档次配置信息和所述媒体发送终端更新的第一映射关系表发送至所述会议服务器。
12.一种会议服务器,其特征在于,包括:
接收单元,用于接收媒体发送终端发送的FEC配置信息,所述FEC配置信息包含媒体流支持的FEC流的标识;
处理单元,用于根据所述接收单元接收的所述FEC配置信息,生成第一映射关系表,所述第一映射关系表包含FEC流的标识与媒体接收终端的标识之间的对应关系;
所述接收单元,还用于接收所述媒体发送终端发送的媒体流和所述媒体发送终端根据所述FEC配置信息生成的FEC流;
发送单元,用于将所述接收单元接收的媒体流发送至各个媒体接收终端,并根据所述FEC流的标识与媒体接收终端的标识之间的对应关系将所述接收单元接收的FEC流发送至媒体接收终端。
13.根据权利要求12所述的会议服务器,其特征在于,所述FEC配置信息还包括所述媒体流支持的各个FEC流的冗余度等级;
所述会议服务器还包括:获取单元,用于获取所述媒体发送终端到各个媒体接收终端的路径状态信息;
所述处理单元,还用于根据所述获取单元获取的媒体发送终端到各个媒体接收终端的路径状态信息、所述接收单元接收的媒体流支持的各个FEC流的冗余度等级,生成所述媒体流的FEC流档次配置信息并重新配置所述第一映射关系表,所述FEC流档次配置信息包括:所述会议服务器发送至各个媒体接收终端的媒体流分别对应的FEC流的冗余度等级;
所述发送单元,还用于将所述处理单元生成的FEC流档次配置信息和所述会议服务器的处理单元重新配置的第一映射关系表发送至所述媒体发送终端;
所述接收单元,还用于接收所述媒体发送终端发送的媒体流和所述媒体发送终端根据所述会议服务器发送的FEC流档次配置信息生成的FEC流。
14.根据权利要求13所述的会议服务器,其特征在于,
所述接收单元,还用于接收所述媒体发送终端发送的更新的FEC流档次配置信息和所述媒体发送终端更新的第一映射关系表,所述处理器还用于根据所述接收单元接收的所述媒体发送终端更新的FEC流档次配置信息和所述媒体发送终端更新的第一映射关系表调整所述会议服务器存储的FEC流档次配置信息和第一映射关系表;
所述接收单元,还用于接收所述媒体发送终端发送的媒体流和所述媒体发送终端根据所述媒体发送终端更新的FEC流档次配置信息生成的FEC流。
15.根据权利要求13所述的会议服务器,其特征在于,所述获取单元,具体用于获取媒体发送终端到所述会议服务器的路径状态信息;获取各个媒体接收终端到所述会议服务器的路径状态信息;根据所述媒体发送终端到所述会议服务器的路径状态信息、以及各个媒体接收终端到所述会议服务器的路径状态信息,获取所述媒体发送终端到各个媒体接收终端的路径状态信息。
16.根据权利要求13所述的会议服务器,其特征在于,所述路径状态信息包括丢包率;
所述处理单元,具体用于:
判断所述媒体发送终端到第一媒体接收终端的第一丢包率是否不在当前的冗余度等级范围内;其中,所述冗余度等级范围为所述媒体流支持的各个FEC流的冗余度等级中最大冗余度与最小冗余度构成的区间,一个所述冗余度等级对应一个丢包率范围的区间;
若所述第一丢包率在当前的冗余度等级范围内,则判断该第一丢包率是否导致所述冗余度等级的划分需要缩减,其中当所述第一丢包率属于所述冗余度等级的划分中的一个冗余度等级,并且任一冗余度等级不包含当前的任一FEC流对应的丢包率及所述第一丢包率时,确定所述第一丢包率导致所述冗余度等级的划分需要缩减;
若所述第一丢包率导致所述冗余度等级的划分需要缩减,则将所述第一丢包率与当前所有的FEC流的冗余度等级重新匹配,删除所述任一冗余度等级。
17.根据权利要求16所述的会议服务器,其特征在于,所述处理单元,具体还用于:若所述第一丢包率不导致所述冗余度等级的划分需要缩减,则判断所述第一丢包率是否导致所述冗余度等级重新划分;其中当所述第一丢包率不属于所述冗余度等级的划分中的任一冗余度等级时,确定所述第一丢包率导致所述冗余度等级重新划分;
若所述第一丢包率导致所述冗余度等级重新划分,则按照所有丢包率的分布调整FEC流对应的冗余度等级的划分。
18.根据权利要求16所述的会议服务器,其特征在于,所述处理单元,具体还用于:
若所述第一丢包率不在当前的冗余度等级范围内,则根据所述媒体发送终端发送的媒体流支持的各个FEC流的冗余度等级判断是否支持增加新的FEC流;其中若所述媒体流支持的各个FEC流的冗余度等级中不包括所述第一丢包率对应的冗余度等级,则确定不支持增加新的FEC流;
若不支持增加新的FEC流,则按照所有丢包率的分布调整FEC流对应的冗余度等级的划分;
若支持增加新的FEC流,则增加第一丢包率对应的FEC流,并设置对应的冗余度等级。
19.根据权利要求18所述的会议服务器,其特征在于,所述处理单元,具体还用于:若支持增加新的FEC流,则判断所述媒体发送终端的带宽是否支持增加新的FEC流;其中当所述媒体发送终端的剩余带宽大于所述新增的FEC流所需的带宽时,确定支持增加新的FEC流;
若所述媒体发送终端的带宽不支持增加新的FEC流,则按照所有丢包率的分布调整FEC流对应的冗余度等级的划分;
若所述媒体发送终端的带宽支持增加新的FEC流,则增加第一丢包率对应的FEC流,并设置对应的冗余度等级。
20.一种媒体发送终端,其特征在于,包括:
发送单元,用于向会议服务器发送FEC配置信息,所述FEC配置信息包含媒体流支持的FEC流的标识;以便所述会议服务器根据所述FEC配置信息,生成第一映射关系表,所述第一映射关系表包含FEC流的标识与媒体接收终端的标识的对应关系;
所述发送单元,还用于向所述会议服务器发送所述媒体流和根据所述FEC配置信息生成的FEC流,以便所述会议服务器将所述媒体流发送至各个媒体接收终端,并根据所述第一映射关系表将所述FEC流发送至对应的媒体接收终端。
21.根据权利要求20所述的媒体发送终端,其特征在于,所述FEC配置信息还包括所述媒体流支持的各个FEC流的冗余度等级;所述媒体发送终端还包括:接收单元和处理单元;
接收单元,用于接收所述会议服务器发送的FEC流档次配置信息和所述会议服务器重配置的第一映射关系表,所述FEC流档次配置信息包括:所述会议服务器发送至各个媒体接收终端的媒体流对应的FEC流的冗余度等级;
所述发送单元还用于在处理单元确认支持所述FEC流档次配置信息和所述会议服务器重新配置的第一映射关系表对应的FEC流配置时,向所述会议服务器发送根据所述会议服务器的FEC流档次配置信息生成的FEC流。
22.根据权利要求21所述的媒体发送终端,其特征在于,
所述处理单元,还用于在确认不支持所述FEC流档次配置信息和所述会议服务器重配置的第一映射关系表对应的FEC流配置时,更新所述FEC流档次配置信息和所述会议服务器重新配置的第一映射关系表;
所述发送单元还用于向所述会议服务器发送根据媒体发送终端更新的FEC流档次配置信息生成的FEC流;
所述发送单元,还用于将所述媒体发送终端的处理单元更新的FEC流档次配置信息和所述媒体发送终端的处理单元更新的第一映射关系表发送至所述会议服务器。
23.一种会议服务器,其特征在于,包括:处理器、第一接口电路、第二接口电路、存储器和总线;所述处理器、第一接口电路、第二接口电路、存储器通过所述总线连接并完成相互间的通信;
第一接口电路,用于接收媒体发送终端发送的FEC配置信息,所述FEC配置信息包含媒体流支持的FEC流的标识;
处理器,用于根据所述第一接口电路接收的所述FEC配置信息,生成第一映射关系表,所述第一映射关系表包含FEC流的标识与媒体接收终端的标识之间的对应关系;
所述第一接口电路,还用于接收所述媒体发送终端发送的媒体流和所述媒体发送终端根据所述FEC配置信息生成的FEC流;
第二接口电路,用于将所述第一接口电路接收的媒体流发送至各个媒体接收终端,并根据所述FEC流的标识与媒体接收终端的标识之间的对应关系将所述接收单元接收的FEC流发送至媒体接收终端。
24.根据权利要求23所述的会议服务器,其特征在于,所述FEC配置信息还包括所述媒体流支持的各个FEC流的冗余度等级;
所述处理器,还用于获取所述媒体发送终端到各个媒体接收终端的路径状态信息;
所述处理器,还用于根据所述媒体发送终端到各个媒体接收终端的路径状态信息、所述第一接口电路接收的媒体流支持的各个FEC流的冗余度等级,生成所述媒体流的FEC流档次配置信息并重新配置所述第一映射关系表,所述FEC流档次配置信息包括:所述会议服务器发送至各个媒体接收终端的媒体流分别对应的FEC流的冗余度等级;
所述第二接口电路,还用于将所述处理器生成的FEC流档次配置信息和所述会议服务器的处理器重新配置的第一映射关系表发送至所述媒体发送终端;
所述第一接口电路,还用于接收所述媒体发送终端发送的媒体流和所述媒体发送终端根据所述会议服务器发送的FEC流档次配置信息生成的FEC流。
25.根据权利要求24所述的会议服务器,其特征在于,
所述第一接口电路,还用于接收所述媒体发送终端发送的更新的FEC流档次配置信息和所述媒体发送终端更新的第一映射关系表,所述处理器还用于根据所述第一接口电路接收的所述媒体发送终端更新的FEC流档次配置信息和所述媒体发送终端更新的第一映射关系表调整所述会议服务器存储的FEC流档次配置信息和第一映射关系表;
所述第一接口电路,还用于接收所述媒体发送终端发送的媒体流和所述媒体发送终端根据所述媒体发送终端更新的FEC流档次配置信息生成的FEC流。
26.根据权利要求24所述的会议服务器,其特征在于,所述处理器,具体用于获取媒体发送终端到所述会议服务器的路径状态信息;获取各个媒体接收终端到所述会议服务器的路径状态信息;根据所述媒体发送终端到所述会议服务器的路径状态信息、以及各个媒体接收终端到所述会议服务器的路径状态信息,获取所述媒体发送终端到各个媒体接收终端的路径状态信息。
27.根据权利要求24所述的会议服务器,其特征在于,所述路径状态信息包括丢包率;
所述处理器,具体用于:
判断所述媒体发送终端到第一媒体接收终端的第一丢包率是否不在当前的冗余度等级范围内;其中,所述冗余度等级范围为所述媒体流支持的各个FEC流的冗余度等级中最大冗余度与最小冗余度构成的区间,一个所述冗余度等级对应一个丢包率范围的区间;
若所述第一丢包率在当前的冗余度等级范围内,则判断该第一丢包率是否导致所述冗余度等级的划分需要缩减,其中当所述第一丢包率属于所述冗余度等级的划分中的一个冗余度等级,并且任一冗余度等级不包含当前的任一FEC流对应的丢包率及所述第一丢包率时,确定所述第一丢包率导致所述冗余度等级的划分需要缩减;
若所述第一丢包率导致所述冗余度等级的划分需要缩减,则将所述第一丢包率与当前所有的FEC流的冗余度等级重新匹配,删除所述任一冗余度等级。
28.根据权利要求27所述的会议服务器,其特征在于,所述处理器,具体还用于:若所述第一丢包率不导致所述冗余度等级的划分需要缩减,则判断所述第一丢包率是否导致所述冗余度等级重新划分;其中当所述第一丢包率不属于所述冗余度等级的划分中的任一冗余度等级时,确定所述第一丢包率导致所述冗余度等级重新划分;
若所述第一丢包率导致所述冗余度等级重新划分,则按照所有丢包率的分布调整FEC流对应的冗余度等级的划分。
29.根据权利要求27所述的会议服务器,其特征在于,所述处理器,具体还用于:
若所述第一丢包率不在当前的冗余度等级范围内,则根据所述媒体发送终端发送的媒体流支持的各个FEC流的冗余度等级判断是否支持增加新的FEC流;其中若所述媒体流支持的各个FEC流的冗余度等级中不包括所述第一丢包率对应的冗余度等级,则确定不支持增加新的FEC流;
若不支持增加新的FEC流,则按照所有丢包率的分布调整FEC流对应的冗余度等级的划分;
若支持增加新的FEC流,则增加第一丢包率对应的FEC流,并设置对应的冗余度等级。
30.根据权利要求29所述的会议服务器,其特征在于,所述处理器,具体还用于:若支持增加新的FEC流,则判断所述媒体发送终端的带宽是否支持增加新的FEC流;其中当所述媒体发送终端的剩余带宽大于所述新增的FEC流所需的带宽时,确定支持增加新的FEC流;
若所述媒体发送终端的带宽不支持增加新的FEC流,则按照所有丢包率的分布调整FEC流对应的冗余度等级的划分;
若所述媒体发送终端的带宽支持增加新的FEC流,则增加第一丢包率对应的FEC流,并设置对应的冗余度等级。
31.一种媒体发送终端,其特征在于,包括:第一接口电路、存储器和总线;所述第一接口电路、存储器通过所述总线连接并完成相互间的通信;
第一接口电路,用于向会议服务器发送FEC配置信息,所述FEC配置信息包含媒体流支持的FEC流的标识;以便所述会议服务器根据所述FEC配置信息,生成第一映射关系表,所述第一映射关系表包含FEC流的标识与媒体接收终端的标识的对应关系;
所述第一接口电路,还用于向所述会议服务器发送所述媒体流和根据所述FEC配置信息生成的FEC流,以便所述会议服务器将所述媒体流发送至各个媒体接收终端,并根据所述第一映射关系表将所述FEC流发送至对应的媒体接收终端。
32.根据权利要求31所述的媒体发送终端,其特征在于,所述FEC配置信息还包括所述媒体流支持的各个FEC流的冗余度等级;所述媒体发送终端还包括:与所述总线连接的第二接口电路和处理器;
第二接口电路,用于接收所述会议服务器发送的FEC流档次配置信息和所述会议服务器重配置的第一映射关系表,所述FEC流档次配置信息包括:所述会议服务器发送至各个媒体接收终端的媒体流对应的FEC流的冗余度等级;
所述第一接口电路,还用于在所述处理器确认支持所述FEC流档次配置信息和所述会议服务器重新配置的第一映射关系表对应的FEC流配置时,向所述会议服务器发送根据所述会议服务器的FEC流档次配置信息生成的FEC流。
33.根据权利要求32所述的媒体发送终端,其特征在于,
所述处理器,还用于在确认不支持所述FEC流档次配置信息和所述会议服务器重配置的第一映射关系表对应的FEC流配置时,更新所述FEC流档次配置信息和所述会议服务器重新配置的第一映射关系表;
所述第一接口电路还用于向所述会议服务器发送根据媒体发送终端更新的FEC流档次配置信息生成的FEC流;
所述第一接口电路还用于,还用于将所述媒体发送终端的处理器更新的FEC流档次配置信息和所述媒体发送终端的处理器更新的第一映射关系表发送至所述会议服务器。
34.一种通信系统,其特征在于,包括:如权利要求12-19任一项所述的会议服务器,及如权利要求20-22任一项所述的媒体发送终端;
或者,
如权利要求23-30任一项所述的会议服务器,及如权利要求31-33任一项所述的媒体发送终端。
CN201510587455.2A 2015-09-15 2015-09-15 一种媒体流传输方法、设备及系统 Active CN106534760B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510587455.2A CN106534760B (zh) 2015-09-15 2015-09-15 一种媒体流传输方法、设备及系统
PCT/CN2016/098585 WO2017045568A1 (zh) 2015-09-15 2016-09-09 一种媒体流传输方法、设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510587455.2A CN106534760B (zh) 2015-09-15 2015-09-15 一种媒体流传输方法、设备及系统

Publications (2)

Publication Number Publication Date
CN106534760A CN106534760A (zh) 2017-03-22
CN106534760B true CN106534760B (zh) 2020-07-28

Family

ID=58288153

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510587455.2A Active CN106534760B (zh) 2015-09-15 2015-09-15 一种媒体流传输方法、设备及系统

Country Status (2)

Country Link
CN (1) CN106534760B (zh)
WO (1) WO2017045568A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111757043A (zh) * 2020-06-30 2020-10-09 中科远见(重庆)科技有限公司 一种数据传输系统及传输方法
CN114554136B (zh) * 2022-04-25 2022-07-29 浙江华创视讯科技有限公司 视频会议实现方法、多点控制单元、设备及可读存储介质
CN115208864B (zh) * 2022-08-12 2024-02-06 阿波罗智联(北京)科技有限公司 数据传输方法、装置、设备、车辆及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101341746A (zh) * 2005-12-22 2009-01-07 维德约股份有限公司 用于使用可缩放视频编码和合成可缩放视频会议服务器进行视频会议的系统和方法
CN101636983A (zh) * 2007-03-14 2010-01-27 微软公司 减少视频传输时的分组丢失的影响
CN102017491A (zh) * 2008-04-29 2011-04-13 汤姆逊许可公司 无线网络的组播中调节前向纠错的方法和系统
CN102648584A (zh) * 2009-08-25 2012-08-22 锐迪讯有限公司 使用前向纠错检验可用带宽的系统、方法和介质
CN103023666A (zh) * 2005-09-07 2013-04-03 维德约股份有限公司 用于低延迟和分布式会议应用的会议服务器架构的系统和方法
CN103957222A (zh) * 2014-05-20 2014-07-30 艾诺通信系统(苏州)有限责任公司 一种基于fec算法的视频传输自适应方法
CN104040976A (zh) * 2012-01-13 2014-09-10 微软公司 丢失实时媒体分组恢复
CN104205698A (zh) * 2012-02-27 2014-12-10 三星电子株式会社 使用前向纠错方案的分组发送/接收装置和方法
CN104735034A (zh) * 2013-12-24 2015-06-24 中国移动通信集团公司 媒体流的传输方法、装置及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104639866A (zh) * 2013-11-14 2015-05-20 中兴通讯股份有限公司 一种调节会议终端通话质量的方法及装置
CN104767652B (zh) * 2014-01-08 2020-01-17 杜比实验室特许公司 监视数字传输环境性能的方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023666A (zh) * 2005-09-07 2013-04-03 维德约股份有限公司 用于低延迟和分布式会议应用的会议服务器架构的系统和方法
CN101341746A (zh) * 2005-12-22 2009-01-07 维德约股份有限公司 用于使用可缩放视频编码和合成可缩放视频会议服务器进行视频会议的系统和方法
CN101636983A (zh) * 2007-03-14 2010-01-27 微软公司 减少视频传输时的分组丢失的影响
CN102017491A (zh) * 2008-04-29 2011-04-13 汤姆逊许可公司 无线网络的组播中调节前向纠错的方法和系统
CN102648584A (zh) * 2009-08-25 2012-08-22 锐迪讯有限公司 使用前向纠错检验可用带宽的系统、方法和介质
CN104040976A (zh) * 2012-01-13 2014-09-10 微软公司 丢失实时媒体分组恢复
CN104205698A (zh) * 2012-02-27 2014-12-10 三星电子株式会社 使用前向纠错方案的分组发送/接收装置和方法
CN104735034A (zh) * 2013-12-24 2015-06-24 中国移动通信集团公司 媒体流的传输方法、装置及系统
CN103957222A (zh) * 2014-05-20 2014-07-30 艾诺通信系统(苏州)有限责任公司 一种基于fec算法的视频传输自适应方法

Also Published As

Publication number Publication date
WO2017045568A1 (zh) 2017-03-23
CN106534760A (zh) 2017-03-22

Similar Documents

Publication Publication Date Title
US11917498B2 (en) Communication method and communications apparatus
CN102859943B (zh) 向应用提供获知接入网络出现的方法和系统
JP6640038B2 (ja) マルチキャスト通信またはブロードキャスト通信において拡張したファイル配信を行う方法および装置
US10069719B2 (en) Method and apparatus for multipath media delivery
US7991419B2 (en) Press-talk server, transcoder, and communication system
CN101068236B (zh) 流媒体码率控制方法、系统和设备
JP6639673B2 (ja) ピアツーピアデータ伝送方法、装置及びシステム
JP6591567B2 (ja) サービスレート調整方法及び装置
US9357436B2 (en) Method for transmitting streaming media content to wireless subscriber stations using packet header suppression
EP4075753B1 (en) Methods and apparatus for enhanced mbms content provisioning and content ingestion
US20090161590A1 (en) Multicast data stream selection in a communication system
CN107104908B (zh) 一种通信方法和装置
US9681275B2 (en) Method and system for providing media stored in a PoC box in a PoC system
CN106534760B (zh) 一种媒体流传输方法、设备及系统
KR101206415B1 (ko) 근거리 네트워크에서 다중점 스트림을 전송하는 방법 및이러한 방법을 실행하는 연결 디바이스
US20070133527A1 (en) Communication of data to communication devices
CN112514490B (zh) 无线通信的方法和设备
EP3804266A1 (en) Network controlled uplink media transmission for a collaborative media production in network capacity constrained scenarios
US9668238B1 (en) Multicast file delivery
EP3881459B1 (en) Method and apparatus for efficient delivery of source and forward error correction streams in systems supporting mixed unicast multicast transmission
WO2015149351A1 (zh) 监控服务器、解析服务器、请求设备及节点选择方法
KR100737046B1 (ko) 이동통신 교환국에서의 프로세스간 메시지 송수신 방법
CN115550320A (zh) 一种数据传输方法和相关设备
KR20080094417A (ko) 무선 통신망을 이용한 실시간 멀티미디어 서비스에서 망상황 정보 전송 방법 및 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant