CN113194335B - 流媒体传输方法、传输设备和播放设备 - Google Patents
流媒体传输方法、传输设备和播放设备 Download PDFInfo
- Publication number
- CN113194335B CN113194335B CN202110734068.2A CN202110734068A CN113194335B CN 113194335 B CN113194335 B CN 113194335B CN 202110734068 A CN202110734068 A CN 202110734068A CN 113194335 B CN113194335 B CN 113194335B
- Authority
- CN
- China
- Prior art keywords
- media streams
- transmission
- transmission device
- media
- group
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 442
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000012545 processing Methods 0.000 claims abstract description 31
- 230000011664 signaling Effects 0.000 claims description 70
- 230000008569 process Effects 0.000 claims description 31
- 230000001360 synchronised effect Effects 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 11
- 238000012163 sequencing technique Methods 0.000 claims 2
- 238000004364 calculation method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 12
- 230000004044 response Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 101150104012 TOP2 gene Proteins 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 101000640246 Homo sapiens SCAN domain-containing protein 1 Proteins 0.000 description 2
- 101000868465 Homo sapiens Sorting nexin-9 Proteins 0.000 description 2
- 102100032854 Sorting nexin-9 Human genes 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 241000209140 Triticum Species 0.000 description 1
- 235000021307 Triticum Nutrition 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2385—Channel allocation; Bandwidth allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供一种流媒体传输方法、传输设备和播放设备,该流媒体传输方法应用于第一传输设备和多个第二传输设备,第一传输设备接入有播放设备,多个第二传输设备中分别存储有播放设备订阅的多路媒体流。第一传输设备分别从多个第二传输设备获取多路媒体流在第一时间段内各自对应的音频特征值,确定所述音频特征值符合设定条件的一组媒体流,从与所述一组媒体流对应的第二传输设备中获取所述一组媒体流,向播放设备发送所述一组媒体流。通过该方案,可以节省第一传输设备拉取媒体流所需的网络带宽,也降低了第一传输设备的处理压力。
Description
技术领域
本发明涉及流媒体技术领域,尤其涉及一种流媒体传输方法、传输设备和播放设备。
背景技术
随着互联网技术的不断发展,目前,很多应用场景中都需要进行音视频等媒体流的实时传输,比如直播、音视频会议、在线教育等应用场景。
以在线会议场景为例,当参与会议的人员很多时,针对每个参与者来说,需要订阅其他参会者的媒体流(如音频流),将所有其他参会者的媒体流都获取到本地进行播放,网络带宽的开销会很大,而且各种处理资源、存储资源的开销也会很大。
发明内容
本发明实施例提供一种流媒体传输方法、传输设备和播放设备,能够实现媒体流的低成本传输。
第一方面,本发明实施例提供一种流媒体传输方法,应用于第一传输设备和多个第二传输设备,所述第一传输设备接入有播放设备,所述多个第二传输设备中分别存储有所述播放设备订阅的多路媒体流;所述方法包括:
所述第一传输设备分别从所述多个第二传输设备获取所述多路媒体流在第一时间段内各自对应的音频特征值;
所述第一传输设备确定所述音频特征值符合设定条件的一组媒体流;
所述第一传输设备从与所述一组媒体流对应的第二传输设备中获取所述一组媒体流;
所述第一传输设备向所述播放设备发送所述一组媒体流。
第二方面,本发明实施例提供一种流媒体传输装置,应用于第一传输设备和多个第二传输设备,所述第一传输设备接入有播放设备,所述多个第二传输设备中分别存储有所述播放设备订阅的多路媒体流;所述装置位于所述第一传输设备,包括:
第一获取模块,用于分别从所述多个第二传输设备获取所述多路媒体流在第一时间段内各自对应的音频特征值;
确定模块,用于确定所述音频特征值符合设定条件的一组媒体流;
第二获取模块,用于从与所述一组媒体流对应的第二传输设备中获取所述一组媒体流;
发送模块,用于向所述播放设备发送所述一组媒体流。
第三方面,本发明实施例提供一种第一传输设备,位于分布式传输网络,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现如第一方面所述的流媒体传输方法。
第四方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被传输设备的处理器执行时,使所述处理器至少可以实现如第一方面所述的流媒体传输方法。
第五方面,本发明实施例提供一种流媒体传输方法,应用于第一传输设备和多个第二传输设备,所述第一传输设备接入有播放设备,所述多个第二传输设备中分别存储有所述播放设备订阅的多路媒体流;所述方法包括:
每个第二传输设备确定本地的一路媒体流在第一时间段内对应的音频特征值;
每个第二传输设备将确定出的音频特征值发送至所述第一传输设备,以使所述第一传输设备确定所述音频特征值符合设定条件的一组媒体流,并将从对应的第二传输设备中获取的所述一组媒体流发送至所述播放设备。
第六方面,本发明实施例提供一种流媒体传输装置,应用于分布式传输网络,所述分布式传输网络中包括第一传输设备和多个第二传输设备,所述第一传输设备接入有播放设备,所述多个第二传输设备中分别存储有所述播放设备订阅的多路媒体流;所述装置位于每个第二传输设备中,包括:
确定模块,用于确定本地的一路媒体流在第一时间段内对应的音频特征值;
发送模块,用于将确定出的音频特征值发送至所述第一传输设备,以使所述第一传输设备确定所述音频特征值符合设定条件的一组媒体流,并将从对应的第二传输设备中获取的所述一组媒体流发送至所述播放设备。
第七方面,本发明实施例提供一种第二传输设备,位于分布式传输网络,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现如第五方面所述的流媒体传输方法。
第八方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被传输设备的处理器执行时,使所述处理器至少可以实现如第五方面所述的流媒体传输方法。
第九方面,本发明实施例提供一种流媒体传输方法,应用于播放设备,所述方法包括:
在确定订阅的多路媒体流的数量大于设定阈值时,向接入的第一传输设备发送第一订阅信令,以使所述第一传输设备分别从多个第二传输设备获取所述多路媒体流在第一时间段内各自对应的音频特征值,并确定所述音频特征值符合设定条件的一组媒体流,所述多个第二传输设备中分别存储有所述播放设备订阅的多路媒体流;
接收所述第一传输设备发送的所述一组媒体流对应的会话描述协议信息;
对所述一组媒体流对应的会话描述协议信息进行处理,所述会话描述协议信息中包含所述一组媒体流对应的同步信源标识符;
接收所述第一传输设备发送的所述一组媒体流,其中,在不同调度周期接收的不同组媒体流中均采用所述一组媒体流对应的同步信源标识符。
第十方面,本发明实施例提供一种流媒体传输装置,位于播放设备,包括:
发送模块,用于在确定订阅的多路媒体流的数量大于设定阈值时,向接入的第一传输设备发送第一订阅信令,以使所述第一传输设备分别从多个第二传输设备获取所述多路媒体流在第一时间段内各自对应的音频特征值,并确定所述音频特征值符合设定条件的一组媒体流,所述多个第二传输设备中分别存储有所述播放设备订阅的多路媒体流;
接收模块,用于接收所述第一传输设备发送的所述一组媒体流对应的会话描述协议信息;
处理模块,用于对所述一组媒体流对应的会话描述协议信息进行处理,所述会话描述协议信息中包含所述一组媒体流对应的同步信源标识符;
所述接收模块,还用于接收所述第一传输设备发送的所述一组媒体流,其中,在不同调度周期接收的不同组媒体流中均采用所述一组媒体流对应的同步信源标识符。
第十一方面,本发明实施例提供一种播放设备,包括:存储器、处理器、通信接口、播放器;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现如第九方面所述的流媒体传输方法。
第十二方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被播放设备的处理器执行时,使所述处理器至少可以实现如第九方面所述的流媒体传输方法。
本发明实施例采用某种分布式传输网络来实现媒体流的传输。该分布式传输网络中包括多个传输设备,针对需要订阅多路媒体流的某播放设备来说,包括该播放设备接入的第一传输设备,以及分别存储有所述多路媒体流的多个第二传输设备。播放设备通过其接入的第一传输设备从第二传输设备中拉取订阅的媒体流。
具体地,每个第二传输设备会定期计算当前接收到的一路媒体流的音频特征值(比如音频能量值),并将计算出的音频特征值发送到第一传输设备。这样,第一传输设备会定期收到多个第二传输设备发送的与多路媒体流对应的多个音频特征值,第一传输设备根据收到的多个音频特征值从多路媒体流中筛选出符合设定条件的一组媒体流(这组媒体流中包括至少一路媒体流),之后,再去对应的第二传输设备中拉取相应的一路媒体流,将拉取到的这一组媒体流发送到播放设备进行播放,即播放设备仅输出这一组媒体流的音频,剩余的其他媒体流不会从对应的第二传输设备中拉取,也就不会发送到播放设备进行播放。
音频特征值这种控制消息相对于媒体流来说,对带宽资源的占用会很少,而且,第一传输设备每次仅基于收到的多个音频特征值进行一小部分音频特征值符合条件的媒体流的拉取,媒体流的拉取过程中对网络带宽资源的消耗得到明显降低。播放设备每次也无需接收全部多路媒体流进行播放,播放设备的资源消耗情况也得到缓解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种媒体流传输过程的示意图;
图2a和图2b为本发明实施例提供的另一种流媒体传输过程的示意图;
图3为本发明实施例提供的一种流媒体传输方法的交互流程图;
图4为本发明实施例提供的另一种流媒体传输方法的交互流程图;
图5为与图4所示实施例对应的一种实施过程的示意图;
图6为本发明实施例提供的一种流媒体传输装置的结构示意图;
图7为与图6所示实施例提供的流媒体传输装置对应的第一传输设备的结构示意图;
图8为本发明实施例提供的一种流媒体传输装置的结构示意图;
图9为与图8所示实施例提供的流媒体传输装置对应的第二传输设备的结构示意图;
图10为本发明实施例提供的一种流媒体传输装置的结构示意图;
图11为与图10所示实施例提供的流媒体传输装置对应的播放设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
本发明实施例中采用一种分布式传输网络来实现媒体流的传输。实际应用中,该分布式传输网络可以采用全球实时传输网络(Global Realtime Transport Network,简称GRTN),以实现对媒体流的实时传输,满足直播、视频会议、在线教育等应用场景对媒体流的实时传输需求。其中,媒体流可以是音频流、音视频流,等等。
分布式传输网络中包括若干传输设备(或者称为传输节点),通过不同传输设备之间的无线通信能力,实现向位于不同位置的播放设备的媒体流的传输。本发明实施例中,播放设备是指播放媒体流的用户终端设备。
下面以一个多人参与的在线会议场景为例,结合图1先介绍下如何使用分布式传输网络进行会议过程中产生的媒体流的传输。
在图1中,假设用户A、用户B、用户C和用户D在进行一次在线音频会议,其中每个用户都需要订阅其他用户的媒体流(音频流),以便能够收到其他用户的媒体流进行播放。以用户A为例,用户A作为其中一个参会者,需要订阅其他三个参会者的媒体流。
以用户A为例,在会议开启,用户A进入会议后,假设用户A的播放设备接入到分布式传输网络中的传输设备1,以通过传输设备1进行其他参会人员的媒体流的订阅。用户B、用户C和用户D的终端设备在会议启动后便开始采集相应用户的媒体流,将采集的媒体流推送到分布式传输网络中的传输设备,假设用户B的媒体流被推送到传输设备2,用户C的媒体流被推送到传输设备3,用户D的媒体流被推送到传输设备4。即这里假设传输设备2是用户B的媒体流对应的源传输设备,传输设备3是用户C的媒体流对应的源传输设备,传输设备4是用户D的媒体流对应的源传输设备。
基于上述假设情形,传输设备1在得知用户A需要订阅用户B、用户C和用户D的媒体流后,确定这三个用户的媒体流分别被推送到了传输设备2、传输设备3和传输设备4中,建立与这三个传输设备分别对应的回源路径,如图1中所示。
通过与传输设备2之间的回源路径,传输设备1从传输设备2中拉取到用户B的媒体流。同理,通过与传输设备3之间的回源路径,传输设备1从传输设备3中拉取到用户C的媒体流,通过与传输设备4之间的回源路径,传输设备1从传输设备4中拉取到用户D的媒体流。之后,传输设备1将获取到的这三路媒体流发送到用户A的播放设备,由该播放设备进行播放。
图1中示意的仅是四个人参与的在线会议的情形,实际上,比如一个部门、一个企业可能在通过在线会议的方式组织很多人参与的在线会议,此时,每个参与者都需要订阅剩余所有参会者的媒体流,比如,上述用户A参与的某个在线会议中除自己外还包括20人,如果通过上述传输设备1获取到这20人的媒体流,并将这20人的媒体流都发送到用户A的播放设备,那么播放设备中同时播放这20人的媒体流,会出现声音混乱嘈杂的情形。
为此,在一可选实施例中,可以在传输设备1分别获取到这20人的媒体流后,分别计算这20路媒体流的音频特征值,从中选择出音频特征值为topN的N个媒体流,将这N个媒体流发送到用户A的播放设备进行播放,以提升收听体验。其中,N的数量小于参会者的总人数,可以根据实际需求设定N的取值,比如为3、6等。因为实际应用中,在音视频会议场景下,在短时间内一般只会有少量的参与者(数量与N对应)在说话,其他参会者并不说话,因此,不说话的参会者的媒体流可以不用发送到用户A的播放设备。其中,本发明实施例中,音频特征值主要用于反映声音的大小,可以包括但不限于音频能量值、分贝值等。
但是在上述可选实施例中,传输设备1还是需要一直将20路媒体流拉取到本地,在本地每隔设定时间间隔计算一次20路媒体流当前各自对应的音频特征值,这会导致较大的带宽浪费和CPU开销。因为,即便最终仅需要向播放设备输出3路媒体流(N=3),传输设备1也需要回源拉取全部的20路媒体流,存在带宽浪费。另外,接入传输设备1的播放设备的数量可能不唯一,每个播放设备订阅的媒体流的数量也各有不同,接入传输设备1的各个播放设备所订阅的各路媒体流都需要在传输设备1进行音频特征值的计算,计算量较大,会增加传输设备1的CPU的处理压力。
为此,本发明实施例提供了另一种优化的解决方案。在该解决方案中,将媒体流的音频特征值的计算,与媒体流的选择和输出相分离,以节省网络带宽和播放设备接入的传输设备的计算压力。
下面结合图2a和图2b来示例性说明该解决方案的实施过程。
在图2a和图2b中,仍旧假设上述用户A、用户B、用户C和用户D组织了一次音视频会议,仍以用户A订阅剩余三个用户的媒体流的情形为例来说明。如图2a中所示,在会议开始后,用户B的终端设备便不断采集用户B的媒体流,并假设以20ms一次的频率向其接入的传输设备2发送生成的数据包,该数据包中即包含在相应20ms内采集的媒体流数据。同理,用户C的终端设备也以20ms一次的频率向其接入的传输设备3发送包含用户C的媒体流的数据包,用户D的终端设备也以20ms一次的频率向其接入的传输设备4发送包含用户D的媒体流的数据包。
可选地,传输设备2、传输设备3和传输设备4被配置为自接收到上述媒体流开始,每隔设定时间间隔(比如100ms一次)进行一次音频特征值的计算。
具体地,在每次计算时刻,可以针对此前设定时长内收到的至少一个数据包分别进行音频特征值的计算,进而再从得到的至少一个音频特征值中确定数值最大的、或者平均特征值作为本次的计算结果。举例来说,以传输设备2为例,计算当前的计算时刻为T1,上述设定时长比如为60ms,基于上述数据包发送频率的假设可知在60ms内可以接收到3个数据包,那么传输设备2在T1时刻可以对最近接收到的3个数据包分别进行音频特征值的计算,得到3个音频特征值,进而从中选定数值最大的一个作为T1时刻用户B的媒体流的音频特征值。传输设备3和传输设备4的计算过程同理,不赘述。
由此可知,传输设备2、传输设备3和传输设备4会每隔100ms确定出各自对应的一路媒体流当前的音频特征值。
在会议开始时,用户A的播放设备接入传输设备1,并告知传输设备1其需要订阅剩余三个用户的媒体流,传输设备1便会分别建立与传输设备2、传输设备3和传输设备4之间的回源路径。回源路径不仅用于媒体流的传输,还用于上述音频特征值的传输。
举例来说,如图2a中所示,假设在T1时刻,传输设备2、传输设备3和传输设备4分别计算出的音频特征值为E1、E2、E3,传输设备2、传输设备3和传输设备4分别通过与传输设备1之间的回源路径将该音频特征值传输到传输设备1。传输设备1对接收到的三个音频特征值进行排序,确定其中的top2(本举例中假设N=2),假设top2分别是用户B和用户C的媒体流。那么基于该确定结果,传输设备1通过与传输设备2之间的回源路径告知传输设备2输出用户B的媒体流,以及通过与传输设备3之间的回源路径告知传输设备3输出用户C的媒体流,通过与传输设备4之间的回源路径告知传输设备4停止输出用户D的媒体流。这样,传输设备1将收到的用户B和用户C的媒体流发送至用户A的播放设备进行播放,此时,用户A的播放设备并不会接收并输出用户D的媒体流。
假设T1时刻+100ms=T2时刻,在到达T2时刻时,传输设备2、传输设备3、传输设备4再次进行各自接收到的用户B、用户C、用户D的媒体流的音频特征值的计算,如图2b中所示,假设在T2时刻,传输设备2、传输设备3和传输设备4分别计算出的音频特征值为E4、E5、E6,传输设备2、传输设备3和传输设备4分别通过与传输设备1之间的回源路径将该音频特征值传输到传输设备1。传输设备1对接收到的三个音频特征值进行排序,确定其中的top2(本举例中假设N=2),假设top2分别是用户B和用户D的媒体流。那么基于该确定结果,传输设备1继续通过与传输设备2之间的回源路径接收传输设备2输出的用户B的媒体流,传输设备1通过与传输设备3之间的回源路径告知传输设备3停止输出用户C的媒体流,传输设备1通过与传输设备4之间的回源路径告知传输设备4输出用户D的媒体流。这样,传输设备1将收到的用户B和用户D的媒体流发送至用户A的播放设备进行播放,此时,用户A的播放设备并不会接收并输出用户C的媒体流。
由上述举例可知,某用户的播放设备所接入的传输设备,在拉取该用户订阅的多路媒体流的过程中,并不是基于与多路媒体流分别对应的回源路径直接进行媒体流的拉取,而是先通过各回源路径获取多路媒体流当前的音频特征值,基于获取的音频特征值确定当前需要获取的几路媒体流,之后再进行这几路媒体流的拉取,这样可以降低拉取媒体流所占用的带宽资源,而且,音频特征值的计算也不在本地进行计算,本地仅需要进行音频特征值的筛选(如排序)处理即可,降低本地的处理压力。
仍以上述四个用户进行音视频会议的场景为例,需要说明的是,为与传统的媒体流拉取过程相兼容,可选地,在起始阶段,比如会议开启的时候(假设为T0时刻),传输设备1可以基于分别与传输设备2、传输设备3和传输设备4之间的回源路径先将用户B、用户C和用户D的这三路媒体流都拉取到本地,在本地进行一次这三路媒体流当前的音频特征值的计算,并根据计算结果确定需要将哪路媒体流输出至用户A的播放设备。之后,在T0+100ms=T1时刻,再通过各回源路径接收上述三个传输设备发送的各自在T1时刻计算出的音频特征值。
总结图2a和图2b的示意情形,本发明实施例提供的流媒体传输方法可以概括为:该流媒体传输方法应用于分布式传输网络,该分布式传输网络中包括第一传输设备和多个第二传输设备,第一传输设备接入有播放设备,多个第二传输设备中分别存储有所述播放设备订阅的多路媒体流,即这多路媒体流初始被推送到这多个第二传输设备。
基于此,以接入有某播放设备的第一传输设备的角度来说,第一传输设备的执行过程如下:
第一传输设备分别从多个第二传输设备获取多路媒体流在第一时间段内各自对应的音频特征值;
第一传输设备确定音频特征值符合设定条件的一组媒体流;
第一传输设备从与所述一组媒体流对应的第二传输设备中获取所述一组媒体流;
第一传输设备向所述播放设备发送所述一组媒体流。
以存储有其中一路媒体流的各个第二传输设备的角度来说,每个第二传输设备的执行过程如下:
每个第二传输设备确定本地的一路媒体流在第一时间段内对应的音频特征值;
每个第二传输设备将确定出的音频特征值发送至第一传输设备,以使第一传输设备确定音频特征值符合设定条件的一组媒体流,并将从对应的第二传输设备中获取的所述一组媒体流发送至所述播放设备。
其中,实际应用中,可以配置每隔设定时间间隔进行一次媒体流的音频特征值的计算,每次的计算对象是当前计算时间之前收到的设定时长内的媒体流数据。比如在上文的举例中,T1时刻是一次计算时刻,与上一次计算时刻相距设定的时间间隔,在T1时刻进行计算的对象是:T1时刻前60ms内收到的包含媒体流的一个或多个数据包。此时,上述第一时间段即为:T1时刻前60ms到T1时刻的这段时间。
需要说明的是,上文中描述的“获取多路媒体流在第一时间段内各自对应的音频特征值”,其中,第一时间段对多路媒体流来说,可以是一致的,也可以不完全一致。比如,假设设定的第一时间段为T1~T2,那么某一路媒体流的音频特征值对应的第一时间段实际上可以是T1+30ms~T2,另一路媒体流的音频特征值对应的第一时间段实际上可以是T1+10ms~T2+30 ms。
其中,音频特征值符合设定条件,该条件可以是topN,也可以是大于设定特征阈值。
其中,上述一组媒体流是指由从多路媒体流中确定出的音频特征值符合设定条件的至少一路媒体流构成的与第一时间段对应的一组媒体流。第二时间段内各路媒体流的音频特征值可能发生变化(比如原本说话的某个人此时不说话了,而是换成了其他某个人在说话),那么基于下个调度周期计算出的各路媒体流的音频特征值确定出的需要拉取的一组媒体流将会发生变化。
在上述本发明实施例提供的方案中,将音频特征值的传递与包含音频的媒体流的订阅、传递相分离,音频特征值作为一种消息进行周期性传递,成本很低;媒体流数据高效按需传递,节省带宽资源以及播放设备的存储资源。
上文中介绍到,在多人参与音视频会议的场景中,其中一个参会者需要订阅剩余其他参会者的媒体流,为了降低其订阅的多路媒体流在传输过程中对带宽资源、接入的传输设备的处理压力的开销,提供了上述解决方案。下面结合以下实施例具体说明一种可选的实现媒体流订阅的方案,通过该方案,可以降低用户的播放设备在订阅媒体流的过程中的处理压力。
图3为本发明实施例提供的一种流媒体传输方法的交互流程图,该方法依旧采用分布式传输网络,该分布式传输网络中包括第一传输设备和多个第二传输设备,第一传输设备接入有播放设备,多个第二传输设备中分别存储有该播放设备订阅的多路媒体流。基于此假设,如图3所示,该方法可以包括如下步骤:
301、播放设备在确定订阅的多路媒体流的数量大于设定阈值时,向第一传输设备发送第一订阅信令。
302、第一传输设备分别从多个第二传输设备获取多路媒体流在第一时间段内各自对应的音频特征值,确定音频特征值符合设定条件的第一组媒体流。
实际应用中,仍以一个音视频会议为例,当某用户通过操作自己的播放设备接入该音视频会议后,播放设备中的相应音视频会议软件便可以得知参会者的人数规模,比如会议群中显示有参会总人数,据此可以得知,或者,假设其他参会者中的全部或大部分已经接入会议,也可以根据已经接入的人数得知大致的人数规模。
当发现参会者人数大于设定阈值,即确定需要订阅的媒体流的数量大于设定阈值时,该用户的播放设备可以向接入的第一传输设备发送预设的第一订阅信令。
该第一订阅信令与传统的订阅信令不同,是一种新增的订阅信令。
传统的订阅信令是与一路媒体流一一对应的,表明需要订阅哪一路媒体流,有多少路媒体流需要订阅便会发出多少个传统的订阅信令。第一传输设备在接收到传统的订阅信令和该第一订阅信令后的处理过程是不同的。本实施例中先不对传统的订阅信令的处理过程进行介绍,在后续实施例中再详细说明。
在一可选实施例中,在播放设备已经得知需要订阅的各路媒体流的情况下,第一订阅信令中可以携带需要订阅的各路媒体流的标识信息,该标识信息可以通过统一资源定位符(Uniform Resource Locator,简称URL)和移动台识别码(mobile stationidentifier,简称MSID)来表示。
第一传输设备在接收到播放设备发送的上述第一订阅信令后,得知其订阅的各路媒体流分别是什么,查询确定每路媒体流被推送到的传输设备,即多个第二传输设备,建立与多个第二传输设备之间的回源路径,通过回源路径获取各路媒体流在第一时间段内各自对应的音频特征值,从中选出音频特征值符合条件的第一组媒体流。比如选出音频特征值为topN的媒体流构成第一组媒体流,N比如取值为3、6等预设数值。
其中,多个第二传输设备是为与第一传输设备相区别而命名的,若过订阅的多路媒体流分别被推送到不同的传输设备上,那么上述多个第二传输设备与多路媒体流一一对应。
其中,上述“第一时间段”可以是第一次计算多路媒体流的音频特征值的时刻至此前设定时长的时间范围。假设第一次计算的时刻为T0,该设定时长为60ms,那么就是计算这60ms内收到的各路媒体流的音频特征值。实际应用中,可以将会议开启后的至少60ms的时刻设为第一次计算时刻。上述60ms仅为举例,比如还可以是200ms等其他数值。
303、第一传输设备向播放设备发送第一组媒体流对应的会话描述协议信息,该会话描述协议信息中包含第一组媒体流对应的同步信源标识符。
第一传输设备在确定出第一组媒体流后,向播放设备发送与第一组媒体流对应的会话描述协议(Session Description Protocol,简称SDP)信息。
SDP用于描述多媒体通信会话(session),包括会话建立、会话请求和参数协商。SDP不用于传输媒体数据,只能用于两个通信终端的参数协商,包括媒体类型、格式以及所有其他和会话相关的属性。SDP以字符串的形式描述上述初始化参数。
简单来说,上述SDP信息中包括第一传输设备与播放设备之间进行媒体流传输相关的各种协商参数信息,其中,会包括媒体流对应的同步信源标识符(SSRC)。一个SSRC用于标识一个同步信源,即一路媒体流。
实际应用中,第一传输设备可以向播放设备发送一个SDP包,其中携带第一组媒体流中各媒体流对应的SSRC。
304、播放设备对第一组媒体流对应的会话描述协议信息进行处理。
305、第一传输设备向播放设备发送第一组媒体流。
播放设备接收到SDP信息后,对SDP信息进行处理。简单来说就是根据SDP信息中携带的各种参数进行本地配置,以做好接收媒体流的准确。
SDP信息的详细处理过程可以参考现有相关技术,这里仅简单说明两点:第一,播放设备可以从中解析出N个SSRC,将解析出的SSRC存储在本地;第二,播放设备可以根据SDP信息创建与第一组媒体流对应的N路媒体通道(audio track),其中,假设第一组媒体流中包括N路媒体流。实际应用中,第一传输设备可以向播放设备发送N个SDP包,分别用于携带N路媒体流各自对应的参数协商等信息。
播放设备完成对SDP信息的处理,即做好接收媒体流的准备后,第一传输设备便会将从对应的第二传输设备中拉取的N路媒体流发送到播放设备进行播放。可以理解的是,针对其中的任一路媒体流,在封装这路媒体流的实时传输协议(Real-time TransportProtocol,简称RTP)包中会携带有对应的SSRC。播放设备在接收到N路媒体流各自对应的RTP包后,从中解析出SSRC,与本地存储的SSRC对比,若发现一致,则解析媒体流进行播放;若发现不一致,则可以丢弃收到的RTP包,也可以反馈错误提示信息。
306、响应于第二时间段的到达,第一传输设备从多个第二传输设备获取多路媒体流在第二时间段内各自对应的音频特征值,确定音频特征值符合设定条件的第二组媒体流,将第二组媒体流对应的同步信源标识符修改为第一组媒体流对应的同步信源标识符。
307、第一传输设备将经过同步信源标识符修改的第二组媒体流发送至播放设备。
如前文所述,N的取值往往远小于实际参会者的人员总数,而在会议进行的过程中,说话者会不断发生变化,向播放设备输出的N路媒体流也应该动态变化,所以各个第二传输设备可以以周期性方式定期进行当前各路媒体流的音频特征值的计算,使得第一传输设备能够根据不同时刻的音频特征值确定不同时刻应该拉取的N路媒体流。
具体地,假设当前第二时间段已经到达,此时第一传输设备会获取到各个第二传输设备在该调度周期内计算出的各路媒体流的音频特征值,并确定音频特征值符合设定条件的第二组媒体流,该第二组媒体流中依旧包括N路媒体流,只是这N路媒体流与第一组媒体流中包含的N路媒体流可能不完全相同。
此时,第一传输设备在向播放设备发送这第二组媒体流时,会将第二组媒体流中各路媒体流对应的SSRC修改为第一组媒体流中各路媒体流对应的SSRC。比如,第一组媒体流中包括的N个SSRC分别表示为:SSRC1、SSRC2、SSRC3、SSRC4。第二组媒体流中包括的N路媒体流原本对应的SSRC分别为:SSRCa、SSRCb、SSRCc、SSRCd,则需求修改为:SSRC1、SSRC2、SSRC3、SSRC4。
第一传输设备将经过上述SSRC修改后的第二组媒体流发送到播放设备,播放设备解析其中包含的SSRC,发现与本地此前存储的SSRC匹配,播放第二组媒体流。由此可见,假设第二组媒体流与第一组媒体流不相同,就是说第一传输设备基于各路媒体流的音频特征值动态地更新播放设备当时订阅的媒体流,而该改变仅有第一传输设备感知,播放设备并不感知,即播放设备并不需要额外进行其他处理,仅需要接收第一传输设备依次发送的每组媒体流进行播放即可。
另外,通过上述方案可知,假设参与音视频会议的用户总数为M,通过上述方案的执行,播放设备仅需要进行N路媒体流对应的SDP信息的处理,N<M,而不需要对其他媒体流进行SDP的处理,降低了播放端进行SDP信息处理的开销。
因为实际中,在由众多用户参与的大型在线会议中,在短时间内,不会有很多人在说话,因此,没有必然自始至终每个参会者都订阅(获取)其他所有参会者的媒体流,可以在不同时刻动态地订阅其中少量(如N个)参会者的媒体流,这便是上述仅需要播放设备进行N个SDP信息处理的原因。简单来说就是,播放设备最开始基于某N路媒体流的SDP信息完成了媒体流的接收准备工作,建立好了N路媒体通道。后续不同时刻对应的N路媒体流都复用这N路媒体通道即可。
如前文所述,在实际应用中,有时候某用户接入会议时,可能很多参会者还未接入会议,此时,对于该用户的播放设备来说,并不能准确得知本次会议的整体人员规模。如果本次会议的人员规模比较小,那么可以采用传统的订阅处理过程即可,而如果本次会议的人员规模比较大,那么可以采用本发明实施例提供的方案。基于此,图4给出了另一种可选实施方案。
图4为本发明实施例提供的另一种流媒体传输方法的交互流程图,该方法依旧采用分布式传输网络,该分布式传输网络中包括第一传输设备和多个第二传输设备,第一传输设备接入有播放设备,多个第二传输设备中分别存储有该播放设备订阅的多路媒体流。基于此假设,如图4所示,该方法可以包括如下步骤:
401、播放设备向第一传输设备分别发送至少两个第二订阅信令,所述至少两个第二订阅信令分别对应于多路媒体流中的至少两路媒体流。
402、第一传输设备向播放设备分别发送所述至少两路媒体流各自对应的会话描述协议信息。
403、播放设备对接收到的至少两个会话描述协议信息进行处理。
404、播放设备确定所述至少两路媒体流的数量已达到所述设定阈值,并确定还有需要订阅的媒体流。
405、播放设备向第一传输设备发送第一订阅信令。
406、第一传输设备分别从所述至少两路媒体流对应的第二传输设备获取所述至少两路媒体流在第一时间段内各自对应的音频特征值,并确定音频特征值符合设定条件的第一组媒体流。
407、第一传输设备向播放设备发送第一组媒体流对应的会话描述协议信息,该会话描述协议信息中包含第一组媒体流对应的同步信源标识符。
408、播放设备对第一组媒体流对应的会话描述协议信息进行处理,删除此前对所述至少两路媒体流各自对应的会话描述协议信息的处理结果。
409、播放设备向第一传输设备发送另一个第二订阅信令,所述另一个第二订阅信令对应于多路媒体流中除所述至少两路媒体流外的任一路媒体流。
410、第一传输设备向播放设备发送所述任一路媒体流对应的会话描述协议信息。
411、播放设备丢弃所述任一路媒体流对应的会话描述协议信息。
412、第一传输设备向播放设备发送第一组媒体流。
413、响应于第二时间段的到达,第一传输设备分别从多个第二传输设备获取多路媒体流在第二时间段内各自对应的音频特征值,确定音频特征值符合设定条件的第二组媒体流,将第二组媒体流对应的同步信源标识符修改为第一组媒体流对应的同步信源标识符。
414、第一传输设备将经过同步信源标识符修改的第二组媒体流发送至播放设备。
为便于理解,结合图5来示例性说明上述实施例的实施过程。在图5中,假设上述步骤404中所述的设定阈值为16。将第二订阅信令表示为sub(订阅的意思),subi表示针对第i路媒体流触发的第二订阅信令。onsub表示第一传输设备对第二订阅信令的响应信令,onsubi表示对subi的响应,该响应中包括的SDPi表示与第i路媒体流对应的SDP信息。第一订阅信令在图5中表示为:sub dummy audio,其对应的响应信令表示为onsub dummyaudio。
假设某用户通过其播放设备接入会议后发现已经有其他人接入了会议,该播放设备便会依次发起针对已接入用户的订阅。如图5中所示,该播放设备会先发出sub1这个订阅信令,该订阅信令中携带有第一个人的媒体流(即第一路媒体流)对应的标识信息,比如URL+MSID。传输设备1接收到sub1后,向其反馈onsub1响应信令,其中携带有第一路媒体流对应的SDP1。播放设备接收到之后对第一路媒体流对应的SDP1进行处理。
并行地,播放设备针对其他已接入会议的用户也会发起相似的订阅信令并进行响应的SDP处理。比如图5中假设直到发起针对第16路媒体流的订阅,这16路媒体流的订阅过程都是相似的,不赘述。
当播放设备完成第16路媒体流的订阅处理后,若发现后续还有需要订阅的媒体流,比如发现已经有至少17个用户接入了会议,则如图5中所示,此时播放设备会向第一传输设备发送sub dummy audio这个订阅信令,第一传输设备接收到该订阅信令后,分别建立与前16路媒体流对应的第二传输设备之间的回源路径,以从对应的第二传输设备获取这16路媒体流在第一时间段内各自对应的音频特征值,并确定音频特征值符合设定条件的第一组媒体流。假设一组媒体流中包含的媒体流的数量为6,那么第一组媒体流中会包括前16路媒体流中的6路。第一传输设备在onsub dummy audio信令中会携带这6路媒体流分别对应的SDP信息,表示为SDP_top6。播放设备接收到这6路媒体流对应的SDP信息后进行处理,并删除此前对前16路媒体流对应的SDP信息的处理结果。简单来说,播放设备会创建与这6路媒体流对应的媒体通道,并删除已经创建的16路媒体通道。播放设备还会存储这6路媒体流对应的6个SSRC。
之后,响应于第17个用户、第18个用户等后续其他用户的接入,播放设备仍旧会通过sub信令发起对应的订阅,以便让第一传输设备得知还需要订阅的媒体流是什么。第一传输设备对后续的sub信令的处理方式与前16路sub信令的处理方式一样,都会反馈对应的一路媒体流对应的SDP信息,只是,播放设备在接收到后续其他路媒体流对应的SDP信息后,丢弃接收到的SDP信息,即不会SDP信息进行处理。
通过上述过程即完成了多路媒体流的订阅处理。对于媒体流的传输过程,可以参考前述其他实施例中的说明,在此不赘述。
综上,通过上述方案,在媒体流的订阅过程中,可以降低播放设备的处理开销。
以上本发明实施例提供的流媒体传输方案,可以适用于多种应用场景中,比如音视频会议场景、在线教育(老师通过直播方式对学生授课)场景、连麦直播场景,等等。
以下将详细描述本发明的一个或多个实施例的流媒体传输装置。本领域技术人员可以理解,这些装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图6为本发明实施例提供的一种流媒体传输装置的结构示意图,该装置位于前述分布式传输网络中的第一传输设备,如图6所示,该装置包括:第一获取模块11、确定模块12、第二获取模块13、发送模块14。
第一获取模块11,用于分别从所述多个第二传输设备获取所述多路媒体流在第一时间段内各自对应的音频特征值。
确定模块12,用于确定所述音频特征值符合设定条件的一组媒体流。
第二获取模块13,用于从与所述一组媒体流对应的第二传输设备中获取所述一组媒体流。
发送模块14,用于向所述播放设备发送所述一组媒体流。
可选地,所述第一获取模块11具体用于:接收所述播放设备发送的第一订阅信令,所述第一订阅信令是所述播放设备在确定订阅的所述多路媒体流的数量大于设定阈值时发送的;基于所述第一订阅信令,分别从所述多个第二传输设备获取所述多路媒体流在第一时间段内各自对应的音频特征值。
可选地,所述发送模块14还用于:向所述播放设备发送所述一组媒体流对应的会话描述协议信息,以使所述播放设备对所述一组媒体流对应的会话描述协议信息进行处理,所述会话描述协议信息中包含所述一组媒体流对应的同步信源标识符。
可选地,所述第一获取模块11还用于:响应于第二时间段的到达,分别从所述多个第二传输设备获取所述多路媒体流在所述第二时间段内各自对应的音频特征值;确定所述音频特征值符合设定条件的另一组媒体流;将所述另一组媒体流对应的同步信源标识符修改为所述一组媒体流对应的同步信源标识符;将经过所述修改的另一组媒体流发送至所述播放设备。
可选地,所述第一获取模块11还用于:接收所述播放设备分别发送的至少两个第二订阅信令,所述至少两个第二订阅信令分别对应于所述多路媒体流中的至少两路媒体流;向所述播放设备分别发送所述至少两路媒体流各自对应的会话描述协议信息,以使所述播放设备对接收到的至少两个会话描述协议信息进行处理;接收所述播放设备发送的第一订阅信令,所述第一订阅信令是所述播放设备在确定所述至少两路媒体流的数量已达到所述设定阈值,并确定还有需要订阅的媒体流时发送的;基于所述第一订阅信令,分别从所述至少两路媒体流对应的第二传输设备获取所述至少两路媒体流在第一时间段内各自对应的音频特征值;所述一组媒体流对应的会话描述协议信息,还用于使得所述播放设备删除此前对所述至少两路媒体流各自对应的会话描述协议信息的处理结果。
可选地,所述获取模块11还可以用于:接收所述播放设备发送的另一个第二订阅信令,所述另一个第二订阅信令对应于所述多路媒体流中除所述至少两路媒体流外的任一路媒体流;向所述播放设备发送所述任一路媒体流对应的会话描述协议信息,其中,所述播放设备接收到所述任一路媒体流对应的会话描述协议信息后丢弃所述任一路媒体流对应的会话描述协议信息。
图6所示装置可以执行前述实施例中第一传输设备执行的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
在一个可能的设计中,上述图6所示流媒体传输装置的结构可实现为第一传输设备,位于前述分布式传输网络中,如图7所示,该第一传输设备可以包括:第一处理器21、第一存储器22、第一通信接口23。其中,第一存储器22上存储有可执行代码,当所述可执行代码被第一处理器21执行时,使第一处理器21至少可以实现如前述实施例中第一传输设备执行的步骤。
图8为本发明实施例提供的一种流媒体传输装置的结构示意图,该装置位于前述分布式传输网络中的第二传输设备,如图8所示,该装置包括:确定模块31、发送模块32。
确定模块31,用于确定本地的一路媒体流在第一时间段内对应的音频特征值。
发送模块32,用于将确定出的音频特征值发送至所述第一传输设备,以使所述第一传输设备确定所述音频特征值符合设定条件的一组媒体流,并将从对应的第二传输设备中获取的所述一组媒体流发送至所述播放设备。
图8所示装置可以执行前述实施例中第二传输设备执行的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
在一个可能的设计中,上述图8所示流媒体传输装置的结构可实现为第二传输设备,位于前述分布式传输网络中,如图9所示,该第二传输设备可以包括:第二处理器41、第二存储器42、第二通信接口43。其中,第二存储器42上存储有可执行代码,当所述可执行代码被第二处理器41执行时,使第二处理器41至少可以实现如前述实施例中第二传输设备执行的步骤。
图10为本发明实施例提供的一种流媒体传输装置的结构示意图,该装置位于播放设备,如图10所示,该装置包括:发送模块51、接收模块52、处理模块53。
发送模块51,用于在确定订阅的多路媒体流的数量大于设定阈值时,向接入的第一传输设备发送第一订阅信令,以使所述第一传输设备分别从多个第二传输设备获取所述多路媒体流在第一时间段内各自对应的音频特征值,并确定所述音频特征值符合设定条件的一组媒体流,所述多个第二传输设备和所述第一传输设备位于分布式传输网络中,所述多个第二传输设备中分别存储有所述播放设备订阅的多路媒体流。
接收模块52,用于接收所述第一传输设备发送的所述一组媒体流对应的会话描述协议信息。
处理模块53,用于对所述一组媒体流对应的会话描述协议信息进行处理,所述会话描述协议信息中包含所述一组媒体流对应的同步信源标识符。
所述接收模块52,还用于接收所述第一传输设备发送的所述一组媒体流,其中,在不同调度周期接收的不同组媒体流中均采用所述一组媒体流对应的同步信源标识符。
可选地,所述发送模块51具体用于:向所述第一传输设备分别发送至少两个第二订阅信令,所述至少两个第二订阅信令分别对应于所述多路媒体流中的至少两路媒体流。所述处理模块53还用于:若通过接收模块52接收到所述第一传输设备分别发送的所述至少两路媒体流各自对应的会话描述协议信息,则对接收到的至少两个会话描述协议信息进行处理;若确定所述至少两路媒体流的数量已达到所述设定阈值,并确定还有需要订阅的媒体流,则通过发送模块51向所述第一传输设备发送第一订阅信令,以使所述第一传输设备分别从所述至少两路媒体流对应的第二传输设备获取所述至少两路媒体流在第一时间段内各自对应的音频特征值,并确定所述音频特征值符合设定条件的一组媒体流。所述处理模块53还用于在通过接收模块52接收所述第一传输设备发送的所述一组媒体流对应的会话描述协议信息后,删除此前对所述至少两路媒体流各自对应的会话描述协议信息的处理结果。
可选地,所述发送模块51还用于:向所述第一传输设备发送另一个第二订阅信令,所述另一个第二订阅信令对应于所述多路媒体流中除所述至少两路媒体流外的任一路媒体流。所述接收模块52还用于:接收所述第一传输设备发送的所述任一路媒体流对应的会话描述协议信息。所述处理模块53还用于:丢弃所述任一路媒体流对应的会话描述协议信息。
图10所示装置可以执行前述实施例中播放设备执行的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
在一个可能的设计中,上述图10所示流媒体传输装置的结构可实现为播放设备,即具有媒体流播放功能的终端设备,如图11所示,该播放设备可以包括:第三处理器61、第三存储器62、第三通信接口63、播放器64。其中,第三存储器62上存储有可执行代码,当所述可执行代码被第三处理器61执行时,使第三处理器61至少可以实现如前述实施例中播放设备执行的步骤。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被传输设备的处理器执行时,使所述处理器至少可以实现如前述实施例中提供的流媒体传输方法。
本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被播放设备的处理器执行时,使所述处理器至少可以实现如前述实施例中提供的流媒体传输方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种流媒体传输方法,其特征在于,应用于分布式传输网络,所述分布式传输网络中包括第一传输设备和多个第二传输设备,所述第一传输设备接入有播放设备,所述多个第二传输设备中分别存储有所述播放设备订阅的多路媒体流;所述方法包括:
所述第一传输设备分别从所述多个第二传输设备获取所述多路媒体流在第一时间段内各自对应的音频特征值,所述音频特征值用于反映声音大小;
所述第一传输设备确定所述音频特征值符合设定条件的一组媒体流,所述设定条件包括音频特征值大于设定阈值,或者数值排序靠前的预设数量的音频特征值;
所述第一传输设备从与所述一组媒体流对应的第二传输设备中获取所述一组媒体流;
所述第一传输设备向所述播放设备发送所述一组媒体流。
2.根据权利要求1所述的方法,其特征在于,所述第一传输设备分别从所述多个第二传输设备获取所述多路媒体流在第一时间段内各自对应的音频特征值,包括:
所述第一传输设备接收所述播放设备发送的第一订阅信令,所述第一订阅信令是所述播放设备在确定订阅的所述多路媒体流的数量大于设定阈值时发送的;
所述第一传输设备基于所述第一订阅信令,分别从所述多个第二传输设备获取所述多路媒体流在第一时间段内各自对应的音频特征值。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述第一传输设备向所述播放设备发送所述一组媒体流对应的会话描述协议信息,以使所述播放设备对所述一组媒体流对应的会话描述协议信息进行处理,所述会话描述协议信息中包含所述一组媒体流对应的同步信源标识符,其中,不同时间段对应的一组媒体流均采用所述同步信源标识符。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
响应于第二时间段的到达,所述第一传输设备分别从所述多个第二传输设备获取所述多路媒体流在所述第二时间段内各自对应的音频特征值;
所述第一传输设备确定所述音频特征值符合设定条件的另一组媒体流;
所述第一传输设备将所述另一组媒体流对应的同步信源标识符修改为所述一组媒体流对应的同步信源标识符;
所述第一传输设备将经过所述修改的另一组媒体流发送至所述播放设备。
5.根据权利要求3所述的方法,其特征在于,所述第一传输设备接收所述播放设备发送的第一订阅信令,包括:
所述第一传输设备接收所述播放设备分别发送的至少两个第二订阅信令,所述至少两个第二订阅信令分别对应于所述多路媒体流中的至少两路媒体流;
所述第一传输设备向所述播放设备分别发送所述至少两路媒体流各自对应的会话描述协议信息,以使所述播放设备对接收到的至少两个会话描述协议信息进行处理;
所述第一传输设备接收所述播放设备发送的第一订阅信令,所述第一订阅信令是所述播放设备在确定所述至少两路媒体流的数量已达到所述设定阈值,并确定还有需要订阅的媒体流时发送的;
所述第一传输设备基于所述第一订阅信令,分别从所述多个第二传输设备获取所述多路媒体流在第一时间段内各自对应的音频特征值,包括:
所述第一传输设备基于所述第一订阅信令,分别从所述至少两路媒体流对应的第二传输设备获取所述至少两路媒体流在第一时间段内各自对应的音频特征值;
所述一组媒体流对应的会话描述协议信息,还用于使得所述播放设备删除此前对所述至少两路媒体流各自对应的会话描述协议信息的处理结果。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述第一传输设备接收所述播放设备发送的另一个第二订阅信令,所述另一个第二订阅信令对应于所述多路媒体流中除所述至少两路媒体流外的任一路媒体流;
所述第一传输设备向所述播放设备发送所述任一路媒体流对应的会话描述协议信息,其中,所述播放设备接收到所述任一路媒体流对应的会话描述协议信息后丢弃所述任一路媒体流对应的会话描述协议信息。
7.一种流媒体传输方法,其特征在于,应用于第一传输设备和多个第二传输设备,所述第一传输设备接入有播放设备,所述多个第二传输设备中分别存储有所述播放设备订阅的多路媒体流;所述方法包括:
每个第二传输设备确定本地的一路媒体流在第一时间段内对应的音频特征值,所述音频特征值用于反映声音大小;
每个第二传输设备将确定出的音频特征值发送至所述第一传输设备,以使所述第一传输设备确定所述音频特征值符合设定条件的一组媒体流,并将从对应的第二传输设备中获取的所述一组媒体流发送至所述播放设备,所述设定条件包括音频特征值大于设定阈值,或者数值排序靠前的预设数量的音频特征值。
8.一种流媒体传输方法,其特征在于,应用于播放设备,所述方法包括:
在确定订阅的多路媒体流的数量大于设定阈值时,向接入的第一传输设备发送第一订阅信令,以使所述第一传输设备分别从多个第二传输设备获取所述多路媒体流在第一时间段内各自对应的音频特征值,并确定所述音频特征值符合设定条件的一组媒体流,所述多个第二传输设备中分别存储有所述播放设备订阅的多路媒体流,所述音频特征值用于反映声音大小,所述设定条件包括音频特征值大于设定阈值,或者数值排序靠前的预设数量的音频特征值;
接收所述第一传输设备发送的所述一组媒体流对应的会话描述协议信息;
对所述一组媒体流对应的会话描述协议信息进行处理,所述会话描述协议信息中包含所述一组媒体流对应的同步信源标识符;
接收所述第一传输设备发送的所述一组媒体流,其中,在不同调度周期接收的不同组媒体流中均采用所述一组媒体流对应的同步信源标识符。
9.根据权利要求8所述的方法,其特征在于,所述在确定订阅的多路媒体流的数量大于设定阈值时,向接入的第一传输设备发送第一订阅信令,包括:
向所述第一传输设备分别发送至少两个第二订阅信令,所述至少两个第二订阅信令分别对应于所述多路媒体流中的至少两路媒体流;
若接收到所述第一传输设备分别发送的所述至少两路媒体流各自对应的会话描述协议信息,则对接收到的至少两个会话描述协议信息进行处理;
若确定所述至少两路媒体流的数量已达到所述设定阈值,并确定还有需要订阅的媒体流,则向所述第一传输设备发送第一订阅信令,以使所述第一传输设备分别从所述至少两路媒体流对应的第二传输设备获取所述至少两路媒体流在第一时间段内各自对应的音频特征值,并确定所述音频特征值符合设定条件的一组媒体流;
所述接收所述第一传输设备发送的所述一组媒体流对应的会话描述协议信息后,还包括:
删除此前对所述至少两路媒体流各自对应的会话描述协议信息的处理结果。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
向所述第一传输设备发送另一个第二订阅信令,所述另一个第二订阅信令对应于所述多路媒体流中除所述至少两路媒体流外的任一路媒体流;
接收所述第一传输设备发送的所述任一路媒体流对应的会话描述协议信息;
丢弃所述任一路媒体流对应的会话描述协议信息。
11.一种传输设备,其特征在于,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至6中任一项所述的流媒体传输方法,或者如权利要求7所述的流媒体传输方法。
12.一种播放设备,其特征在于,包括:存储器、处理器、通信接口、播放器;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求8至10中任一项所述的流媒体传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110734068.2A CN113194335B (zh) | 2021-06-30 | 2021-06-30 | 流媒体传输方法、传输设备和播放设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110734068.2A CN113194335B (zh) | 2021-06-30 | 2021-06-30 | 流媒体传输方法、传输设备和播放设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113194335A CN113194335A (zh) | 2021-07-30 |
CN113194335B true CN113194335B (zh) | 2021-09-17 |
Family
ID=76976734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110734068.2A Active CN113194335B (zh) | 2021-06-30 | 2021-06-30 | 流媒体传输方法、传输设备和播放设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113194335B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113727061A (zh) * | 2021-11-01 | 2021-11-30 | 江苏怀业信息技术股份有限公司 | 用于视频会议***的音视频同步方法 |
CN116055810A (zh) * | 2023-01-17 | 2023-05-02 | 阿里云计算有限公司 | 音视频播放方法、装置、***、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8416715B2 (en) * | 2009-06-15 | 2013-04-09 | Microsoft Corporation | Interest determination for auditory enhancement |
CN102436818A (zh) * | 2011-10-25 | 2012-05-02 | 浙江万朋网络技术有限公司 | 一种基于能量优先的服务器端选路混音方法 |
CN111541860B (zh) * | 2019-12-30 | 2021-07-27 | 宁波菊风***软件有限公司 | 一种实时音频传输***及其使用方法 |
CN112738140B (zh) * | 2021-04-01 | 2021-07-09 | 浙江华创视讯科技有限公司 | 一种基于WebRTC的视频流传输方法、装置、存储介质和设备 |
-
2021
- 2021-06-30 CN CN202110734068.2A patent/CN113194335B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113194335A (zh) | 2021-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113194335B (zh) | 流媒体传输方法、传输设备和播放设备 | |
CN108259948B (zh) | 一种直播音视频的播放方法、装置、计算机及存储介质 | |
EP2879345A1 (en) | Method for multiple terminals to play multimedia file cooperatively and related apparatus and system | |
US20110145370A1 (en) | Methods and systems to personalize content streams | |
US10469627B2 (en) | Rapid optimization of media stream bitrate | |
CN111147362B (zh) | 多人即时通讯方法、***、装置及电子设备 | |
CN110099242A (zh) | 一种远程直播方法和装置 | |
US20210227005A1 (en) | Multi-user instant messaging method, system, apparatus, and electronic device | |
CN111866440B (zh) | 一种推送视频数据方法、装置、设备及存储介质 | |
CN108848106A (zh) | 通过音频流传输自定义数据方法、装置及可读存储介质 | |
CN114500914A (zh) | 音视频转发方法、装置、终端与*** | |
CN112019488B (zh) | 一种语音处理的方法、装置、设备和存储介质 | |
CN103686220B (zh) | 移除直播中的网络延迟的方法及*** | |
CN114338625B (zh) | 实时通信方法、装置、设备及存储介质 | |
CN114501053B (zh) | 直播流获取方法及装置 | |
CN114979545A (zh) | 多终端的通话方法和存储介质及电子设备 | |
CN107846634B (zh) | 音视频文件共享方法、装置及***、存储介质、终端设备 | |
JP2016531485A (ja) | Mbmsサービスによって伝送されるマルチメディアコンテンツのアイテムを処理している間のマルチメディアプレーヤによる同期方法 | |
CN110753232A (zh) | 在线互动场景的音频处理方法、***和存储介质 | |
CN112133300B (zh) | 多设备的交互方法、相关设备和*** | |
CN113612728B (zh) | 流媒体播放方法、传输设备和*** | |
CN114095480B (zh) | Ktv直播连麦方法、装置和*** | |
WO2024055689A1 (zh) | 一种流媒体互动方法及装置 | |
CN112839197B (zh) | 图像码流处理方法、装置、***及存储介质 | |
CN103152545A (zh) | 一种处理纠错请求的方法、视频服务器和视频会议*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |