CN108989836B - 一种多媒体数据流的处理方法、装置及存储介质 - Google Patents
一种多媒体数据流的处理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN108989836B CN108989836B CN201710436398.7A CN201710436398A CN108989836B CN 108989836 B CN108989836 B CN 108989836B CN 201710436398 A CN201710436398 A CN 201710436398A CN 108989836 B CN108989836 B CN 108989836B
- Authority
- CN
- China
- Prior art keywords
- multimedia data
- mixed
- mixed flow
- data streams
- service
- 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
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/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
-
- 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/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23614—Multiplexing of additional data and video streams
-
- 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/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/2365—Multiplexing of several video streams
-
- 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/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4431—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
-
- 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/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4782—Web browsing, e.g. WebTV
-
- 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/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
Abstract
本发明公开了一种多媒体数据流的处理方法,所述方法包括:检测到至少两路多媒体数据流;确定所述至少两路多媒体数据流为同一多媒体业务下的多媒体数据流时,按照预设混合策略将所述至少两路多媒体数据流混合,获得混合多媒体数据流;发送所述混合多媒体数据流,以对所述混合多媒体数据流进行播放。本发明实施例还提供了一种多媒体数据流的处理装置。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种多媒体数据流的处理方法及装置。
背景技术
自视频直播服务兴起以来,其形式从初期的单向视频直播+异步消息,逐步演变为双人连麦、多人连麦和跨房间连麦的实时互动直播模式。更有甚者,还将第三方媒体流与己方互动直播的连麦视频流相叠加,实现类似传统广电领域新闻采访、体育评论/连线画中画的互动直播效果。互动直播的进化对观众侧的下行带宽、终端硬件能力和播放器的健壮性都提出了更高要求。另外,有很多用户习惯在浏览器中观看视频直播,而基于标准视频流媒体协议和浏览器的网页播放器通常只能对每路视频流分别渲染,多路视频流场景下的排布和叠加效果不佳。
发明内容
本发明实施例提供一种多媒体数据流的处理方法及装置,至少解决了现有技术中存在的问题,能够缓解主播端混流给主播终端的上行带宽和硬件性能造成的压力。
本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种多媒体数据流的处理方法,所述方法包括:
检测到至少两路多媒体数据流;
确定所述至少两路多媒体数据流为同一多媒体业务下的多媒体数据流时,按照预设混合策略将所述至少两路多媒体数据流混合,获得混合多媒体数据流;
发送所述混合多媒体数据流,以对所述混合多媒体数据流进行播放。
上述方案中,所述按照预设混合策略将所述至少两路多媒体数据流混合之前,所述方法还包括:
分别提取所述至少两路多媒体数据流携带的第一业务标识;
基于所述第一业务标识查找预设的业务配置信息表;
基于查找结果确定与所述第一业务标识对应的混流方式为第一混流方式。
上述方案中,所述按照预设混合策略将所述至少两路多媒体数据流混合,获得混合多媒体数据流,包括:
获取与所述第一业务标识对应的第一混流配置信息,基于所述第一混流配置信息确定第一混流样式;
分别提取所述至少两路多媒体数据流携带的会话标识及第一目标流标识;
依据所述第一混流样式,将所述至少两路多媒体数据流中会话标识相同的至少两路多媒体数据流混合成一路混合多媒体数据流,将所述第一目标流标识作为所述混合多媒体数据流的流标识。
上述方案中,所述方法还包括:
检测到所述会话标识相同的至少两路多媒体数据流的数量改变时,确定对应于所述会话标识的多媒体数据流的数量;
当对应于所述会话标识多媒体数据流的数量满足预设要求时,基于所述多媒体数据流的数量查找所述第一混流样式中对应的第一子混流样式;
按照所述第一子混流样式将对应于所述会话标识的多媒体数据流混合成一路混合多媒体数据流。
上述方案中,所述方法还包括:
接收到混流样式调整指令,依据所述混流样式调整指令中携带的混流样式,将所述至少两路多媒体数据流中会话标识相同的至少两路多媒体数据流混合成一路混合多媒体数据流。
上述方案中,所述按照预设混合策略将所述至少两路多媒体数据流混合之前,所述方法还包括:
分别提取所述至少两路多媒体数据流携带的第二业务标识;
基于所述第二业务标识查找预设的业务配置信息表;
基于查找结果确定与所述第二业务标识对应的混流方式为第二混流方式;
直接转发所述至少两路多媒体数据流。
上述方案中,所述按照预设混合策略将所述至少两路多媒体数据流混合,获得混合多媒体数据流,包括:
接收到对应所述第二混流方式的第一混流指令;
基于所述第一混流指令确定所述至少两路多媒体数据流中待混合的多媒体数据流及第二目标流标识;
获取与所述第二业务标识对应的第二混流配置信息,基于所述第二混流配置信息确定第二混流样式;
依据所述第二混流样式,将所述待混合的多媒体数据流混合成一路混合多媒体数据流,将所述第二目标流标识作为所述混合多媒体数据流的流标识。
上述方案中,所述方法还包括:
接收到对应所述第二混流方式的第二混流指令;所述第二混流指令指示混流样式改变;
提取所述第二混流指令中携带的第三混流样式;
按照所述第三混流样式将所述待混合的多媒体数据流混合成一路混合多媒体数据流。
上述方案中,所述方法还包括:
接收到对应所述第二混流方式的第三混流指令;所述第三混流指令指示所述待混合的多媒体数据流的数量改变;
基于所述第三混流指令确定更新后的待混合的多媒体数据流;
依据所述第二混流样式将所述更新后的待混合的多媒体数据流混合成一路混合多媒体数据流。
本发明实施例还提供了一种多媒体数据流的处理装置,所述装置包括:检测模块、处理模块及发送模块;其中,
所述检测模块,用于检测到来自至少两个客户端的至少两路多媒体数据流时,触发所述处理模块;
所述处理模块,用于确定所述至少两路多媒体数据流为同一多媒体业务下的多媒体数据流时,按照预设混合策略将所述至少两路多媒体数据流混合,获得混合多媒体数据流;
所述发送模块,用于发送所述混合多媒体数据流,以对所述混合多媒体数据流进行播放。
上述方案中,所述处理模块,还用于分别提取所述至少两路多媒体数据流携带的第一业务标识;
基于所述第一业务标识查找预设的业务配置信息表;
基于查找结果确定与所述第一业务标识对应的混流方式为第一混流方式。
上述方案中,所述处理模块,还用于获取与所述第一业务标识对应的第一混流配置信息,基于所述第一混流配置信息确定第一混流样式;
分别提取所述至少两路多媒体数据流携带的会话标识及第一目标流标识;
依据所述第一混流样式,将所述至少两路多媒体数据流中会话标识相同的至少两路多媒体数据流混合成一路混合多媒体数据流,将所述第一目标流标识作为所述混合多媒体数据流的流标识。
上述方案中,所述检测模块,还用于检测到所述会话标识相同的至少两路多媒体数据流的数量改变时,确定对应于所述会话标识的多媒体数据流的数量,当对应于所述会话标识多媒体数据流的数量满足预设要求时,触发所述处理模块;
所述处理模块,还用于基于所述多媒体数据流的数量查找所述第一混流样式中对应的第一子混流样式;
按照所述第一子混流样式将对应于所述会话标识的多媒体数据流混合成一路混合多媒体数据流。
上述方案中,所述装置还包括指令输入模块,用于接收到混流样式调整指令时触发所述处理模块;
所述处理模块,还用于依据所述混流样式调整指令中携带的混流样式,将所述至少两路多媒体数据流中会话标识相同的至少两路多媒体数据流混合成一路混合多媒体数据流。
上述方案中,所述处理模块,还用于分别提取所述至少两路多媒体数据流携带的第二业务标识;
基于所述第二业务标识查找预设的业务配置信息表;
基于查找结果确定与所述第二业务标识对应的混流方式为第二混流方式,触发所述发送模块直接转发所述至少两路多媒体数据流。
上述方案中,所述装置还包括指令输入模块,用于接收到对应所述第二混流方式的第一混流指令时触发所述处理模块;
所述处理模块,还用于基于所述第一混流指令确定所述至少两路多媒体数据流中待混合的多媒体数据流及第二目标流标识;
获取与所述第二业务标识对应的第二混流配置信息,基于所述第二混流配置信息确定第二混流样式;
依据所述第二混流样式,将所述待混合的多媒体数据流混合成一路混合多媒体数据流,将所述第二目标流标识作为所述混合多媒体数据流的流标识。
上述方案中,所述指令输入模块,还用于接收到对应所述第二混流方式的第二混流指令时触发所述处理模块;所述第二混流指令指示混流样式改变;
所述处理模块,还用于提取所述第二混流指令中携带的第三混流样式;
按照所述第三混流样式将所述待混合的多媒体数据流混合成一路混合多媒体数据流。
上述方案中,所述指令输入模块,还用于接收到对应所述第二混流方式的第三混流指令时触发所述处理模块;所述第三混流指令指示所述待混合的多媒体数据流的数量改变;
所述处理模块,还用于基于所述第三混流指令确定更新后的待混合的多媒体数据流;
依据所述第二混流样式将所述更新后的待混合的多媒体数据流混合成一路混合多媒体数据流。
本发明实施例还提供了一种多媒体数据流的处理装置,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,
所述处理器用于运行所述计算机程序时,执行上述的多媒体数据流的处理方法。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机可执行指令,该计算机可执行指令用于执行上述多媒体数据流的处理方法。
本发明实施例提供的多媒体数据流的处理方法及装置,检测到来自至少两个客户端的至少两路多媒体数据流,确定所述至少两路多媒体数据流为同一多媒体业务下的多媒体数据流时,按照预设混合策略将所述至少两路多媒体数据流混合,获得混合多媒体数据流,发送所述混合多媒体数据流,以对所述混合多媒体数据流进行播放。如此,由于对多路直播视频流的混流处理由本发明实施例多媒体流的处理装置实现,未在主播客户端进行,进而缓解了主播终端的硬件压力及上行带宽压力。
附图说明
图1为本发明实施例中进行信息交互的各方硬件实体的示意图;
图2为本发明实施例中多媒体数据流的处理方法的流程示意图一;
图3为本发明实施例中多媒体数据流的处理方法的流程示意图二;
图4所示为本发明实施例多媒体数据流的处理方法的系统架构示意图一;
图5为本发明实施例中多媒体数据流的处理方法的流程示意图三;
图6所示为本发明实施例多媒体数据流的处理方法的系统架构示意图二;
图7所示为本发明实施例多媒体数据流的处理方法的系统架构示意图三;
图8所示为本发明实施例多媒体数据流的处理方法的系统架构示意图四;
图9为本发明实施例中多媒体数据流的处理装置的组成结构示意图;
图10为本发明实施例中多媒体数据流的处理装置作为硬件实体的一个示例图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步详细的说明。
图1为本发明实施例中进行信息交互的各方硬件实体的示意图,图1中包括:服务器11……1n、终端设备21-24,终端设备21-24通过有线网络或者无线网络与服务器进行信息交互,终端设备包括手机、台式机、PC机、一体机等类型。一个示例中,终端设备上设置有视频直播客户端,服务器11……1n对来自多个不同视频直播客户端的视频流进行混流、排布、缩放、转码等处理生成一路标准多媒体数据流,最终得以在用户的视频直播客户端或网页浏览器上播放。
实施例一
本发明实施例提供了一种多媒体数据流的处理方法,如图2所示,本发明实施例的多媒体数据流的处理方法包括:
步骤101:检测到来自至少两个客户端的至少两路多媒体数据流。
步骤102:确定所述至少两路多媒体数据流为同一多媒体业务下的多媒体数据流时,按照预设混合策略将所述至少两路多媒体数据流混合,获得混合多媒体数据流。
步骤103:发送所述混合多媒体数据流,以对所述混合多媒体数据流进行播放。
在实际应用中,上述客户端可以为用于互动视频直播的视频直播客户端,多个用户(包括主播和连麦观众)利用所述视频直播客户端进行互动直播,而所述至少两个客户端包括主播客户端和至少一个连麦客户端;相应的,所述多媒体数据流可以为视频流,而检测到的来自至少两个客户端的至少两路多媒体数据流,可以为来自主播客户端和至少一个连麦客户端的至少两路视频流。
每一路多媒体数据流都携带各自的业务标识,通过提取多媒体数据流携带的业务标识可知该多媒体数据流所属的多媒体业务,也即该多媒体数据流所属的多媒体业务平台,一个示例为所述业务标识用于标识多媒体数据流所属的多媒体业务平台为映客。
在实际实施时,当确定检测到的至少两路多媒体数据流为同一多媒体业务下的多媒体数据流时,可基于与该多媒体业务对应的混流策略(可依据实际需要进行设置)对所述至少两路多媒体数据流进行混流处理,生成一路混合多媒体数据流。一个示例为,对来自快手平台的多个客户端的多路直播视频流进行混流处理,生成一路混合视频流,然后将生成的混合视频流推送至标准流媒体直播系统以进行播放。如此,由于对多路直播视频流的混流处理由本发明实施例多媒体流的处理装置实现,未在主播客户端进行,进而缓解了主播终端的硬件压力及上行带宽压力。
实施例二
本发明实施例提供了一种多媒体数据流的处理方法,图3所示为本发明实施例多媒体数据流的处理方法流程示意图,图4所示为本发明实施例多媒体数据流的处理方法的系统架构示意图,结合图3、图4所示,本发明实施例的多媒体数据流的处理方法包括:
步骤201:检测到来自至少两个客户端的至少两路多媒体数据流。
本发明实施例的一个应用场景为,多个用户(主播及连麦观众)通过视频直播平台进行互动直播,相应的,本步骤为检测到至少两个客户端(主播客户端及至少一个连麦客户端)的至少两路直播视频流。
步骤202:确定所述至少两路多媒体数据流为同一多媒体业务下的多媒体数据流,且所述多媒体业务对应的混流方式为第一混流方式。
在实际实施时,每一路多媒体数据流都携带各自的业务标识,用于标识该多媒体数据流所属的多媒体业务,通过提取多媒体数据流携带的业务标识可知该多媒体数据流所属的多媒体业务,也即该多媒体数据流所属的多媒体业务平台,一个示例为所述业务标识用于标识多媒体数据流所属的多媒体业务平台为快手。
在本发明实施例中,预先设置了业务配置信息表,该业务配置信息表至少包括:业务标识、混流方式及该多媒体业务对应的缺省混流样式;在实际应用中还可依据需要增加信息内容,如还可包括业务名称及特殊配置(如目标流标识设置,如流A+流B->流C中流C的标识设置);其中,在实际实施时,混流方式可以包括两种:第一混流方式(在一实施例中为自动混流)及第二混流方式 (在一实施例中为手动混流)。所述业务配置信息表的一个示例如表一所示:
表一
表一中,BizID用来作为多媒体业务的唯一标识,BizName即业务名称,IsAutoMix用于指示是否使用自动混流,DefaultStyleID用于指示该多媒体业务的缺省混流样式,SpecialConfigrationList用于指示对该多媒体业务的特殊配置,其中,Stream ID即目标流标识,MixStyleID即混流样式配置,其优先级高于缺省混流样式。
在本实施例中,分别提取所述至少两路多媒体数据流携带的业务标识,基于所述业务标识查找预设的业务配置信息表,基于查找结果确定与所述业务标识对应的混流方式为第一混流方式。一个示例为,提取至少两路直播视频流携带的业务标识均为BZ99,基于该业务标识查找预设的业务配置信息表,基于查找结果确定与BZ99对应的混流方式为自动混流方式。
步骤203:获取与所述多媒体业务对应的第一混流配置信息,基于所述第一混流配置信息确定第一混流样式。
在实际实施时,第一混流配置信息至少包括缺省混流样式,在一实施例中还可以包括特殊配置信息,而当特殊配置信息中携带了混流样式信息时,由于其优先级高于缺省混流样式,因此,以特殊配置信息中的混流样式为准。一个示例为:与多媒体业务标识BZ99对应的缺省混流样式为MST002,由于与BZ99 对应的特殊配置信息中未包括混流样式,因此以缺省混流样式为准。其中, MST002为混流样式标识,用来唯一的标识一个混流样式。
在实际实施时,可以预先设置混流样式表,用于存储多个混流样式对应的详细规则内容,当确定了某多媒体业务的对应混流样式时,可基于该混流样式表进一步确定该混流样式的详细规则内容。在一实施例中,根据多媒体数据流数量的不同,一个混流样式还可以包括多个子混流样式,所述混流样式表的一个示例如表二所示:
表二
表二中,MixStyleID用来唯一标识一个混流样式。一个混流样式代表一组规则,分别定义了:将两条流、三条流、……、N(N>=2)条流进行混合时,输出画面应该如何排布、用户界面(UI,User Interface)如何绘制、小画面如何压缩等规则。需要说明的是,在同一个混流样式下,对不同数量的流进行混合应遵循体验上的一致性:如MixStyleID=MST002的样式,都是在右下角增加等比压缩的矩形小画面。在一实施例中,除了预设的混流样式之外,还允许添加自定义样式(如MixStyleID=MST100),以方便用户构建符合自身业务特点的样式。MixRange用来标识是对几路流进行混合。MixStyleDesc为对混流样式的文字描述,主要作为用户选择混流样式的参考依据。MixStyleDetail为对混流规则的具体定义和描述,为了理解方便起见,在本实施例中采用了图形化方式呈现这一字段,但在具体实施中,需要使用计算机能理解、存储并操作的表现形式,例如:“Position=距离右下角50像素,AudinceUI=Rectangle,压缩方式=等比压缩”等。
步骤204:分别提取所述至少两路多媒体数据流携带的会话标识及目标流标识,依据第一混流样式,将所述至少两路多媒体数据流中会话标识相同的至少两路多媒体数据流混合成一路混合多媒体数据流,将目标流标识作为混合多媒体数据流的流标识。
在实际实施时,每路多媒体数据流携带一个会话标识及目标流标识,该会话标识及目标流标识均为多媒体数据流的流属性;其中,会话标识用于唯一标识该多媒体业务下的一次互动直播会话;目标流标识为对多媒体数据流混流后得到的目标流的标识。
在实际应用中,一个示例为,所述至少两路多媒体数据流包括三路会话标识均为111的直播视频流(该直播视频流携带的目标流标识为ttt),及两路会话标识均为112的直播视频流(该直播视频流携带的目标流标识为xxx),因此,基于会话标识,将所述三路会话标识均为111的直播视频流混合成一路视频流,并将ttt作为混合后的视频流的流标识;将所述两路会话标识均为112的直播视频流混合成一路视频流,并将xxx作为混合后的视频流的流标识。
在实际应用中,对于一次互动直播会话,在互动直播过程中,可能会有连麦观众的加入或退出,也即,在对直播视频流进行混流的过程中可能会出现会话标识相同的至少两路直播视频流的数量改变,相应的,本发明实施例上述方法还可以包括:
检测到所述会话标识相同的至少两路多媒体数据流的数量改变时,确定对应于所述会话标识的多媒体数据流的数量;当对应于所述会话标识多媒体数据流的数量满足预设要求时,基于所述多媒体数据流的数量查找所述第一混流样式中对应的第一子混流样式;按照所述第一子混流样式将对应于所述会话标识的多媒体数据流混合成一路混合多媒体数据流。
这里,在实际实施时,对应于所述会话标识多媒体数据流的数量满足预设要求可以为对应于所述会话标识多媒体数据流的数量不小于二;而当对应于所述会话标识多媒体数据流的数量小于二时,停止执行混流处理操作。
在实际应用中,一个示例为:由一个主播两个连麦观众形成的混流样式为 MST002的3路直播视频流,混流采用主从式,连麦观众位于右下角,显示窗口为长方形,等比压缩,当中途有连麦观众离开时,直播视频流的数量由3变成2,该混流样式对应的子混流样式改变,右下角的连麦观众显示为一个。
应用本发明上述实施例,实现了对同一多媒体业务下相同会话标识的多路多媒体数据流的自动混流处理,而由于混流处理过程未在主播客户端进行,进而缓解了主播终端的硬件压力及上行带宽压力。此外,在多人连麦的互动直播场景下,混流后最终只对观众输出一路视频流数据,不但可以节省用户的流量费用和终端电量,视频直播服务平台(多媒体业务平台)也可以减少与电信运营商之间的带宽结算成本。
实施例三
本发明实施例提供了一种多媒体数据流的处理方法,图5所示为本发明实施例多媒体数据流的处理方法流程示意图,图6所示为本发明实施例多媒体数据流的处理方法的系统架构示意图,结合图5、图6所示,本发明实施例的多媒体数据流的处理方法包括:
步骤301:检测到来自至少两个客户端的至少两路多媒体数据流。
本发明实施例的一个应用场景为,多个用户(主播及连麦观众)通过视频直播平台进行互动直播,相应的,本步骤为检测到至少两个客户端(主播客户端及至少一个连麦客户端)的至少两路直播视频流。
步骤302:确定所述至少两路多媒体数据流为同一多媒体业务下的多媒体数据流,且所述多媒体业务对应的混流方式为第二混流方式,直接转发所述至少两路多媒体数据流。
在实际实施时,每一路多媒体数据流都携带各自的业务标识,用于标识该多媒体数据流所属的多媒体业务,通过提取多媒体数据流携带的业务标识可知该多媒体数据流所属的多媒体业务,也即该多媒体数据流所属的多媒体业务平台,一个示例为所述业务标识用于标识多媒体数据流所属的多媒体业务平台为快手。
在实际实施时,分别提取所述至少两路多媒体数据流携带的业务标识,基于所述业务标识查找预设的业务配置信息表(这里所述的业务配置信息表同实施例二中表一),基于查找结果确定与所述业务标识对应的混流方式为第二混流方式。一个示例为,提取至少两路直播视频流携带的业务标识均为BZ91,基于该业务标识查找预设的业务配置信息表,基于查找结果确定与BZ91对应的混流方式为手动混流方式。
在实际应用中,当确定所述至少两路多媒体数据流对应的多媒体业务的混流方式为第二混流方式(手动混流方式)时,暂不对接收到的多媒体数据流进行处理,直接转发接收到的多媒体数据流至标准流媒体直播系统,等待用户指令的到来再做处理。
步骤303:接收到对应第二混流方式的第一混流指令,确定所述至少两路多媒体数据流中待混合的多媒体数据流及第二目标流标识。
这里,在实际实施时,用户(业务方)通过指令输入应用程序接口(API,Application Programming Interface)输入第一混流指令,以指示进行对所述至少两路多媒体数据流进行混流处理。该第一混流指令携带混流参数,所述混流参数至少包括:待混合的多媒体数据流标识(用于标识待混合的多媒体数据流)、第二目标流标识(用于指示混合后的目标多媒体数据流的流标识);在一实施例中,所述混流参数还可包括混流样式。一个示例为:第一混流指令指示将业务标识为kkk的多媒体数据流中会话标识为123的多媒体数据流混合成一路多媒体数据流,混合后的目标多媒体数据流的流标识为ttl。
步骤304:获取与所述多媒体业务对应的第二混流配置信息,基于所述第二混流配置信息确定第二混流样式,依据第二混流样式将待混合的多媒体数据流混合成一路混合多媒体数据流,将第二目标流标识作为混合多媒体数据流的流标识。
在实际实施时,与所述多媒体业务对应的第二混流配置信息也即与多媒体数据流携带的业务标识对应的第二混流配置信息。第二混流配置信息至少包括缺省混流样式,在一实施例中还可以包括特殊配置信息,而当特殊配置信息中携带了混流样式信息时,其优先级高于缺省混流样式。在实际实施时,第一混流指令中携带的混流参数的优先级高于所述特殊配置信息中的混流参数;当所述第一混流指令携带指定的混流样式时,该混流样式的优先级高于特殊配置信息中携带的混流样式(如果有),也即,以第一混流指令中携带的混流样式为准 (如果有)。
在实际应用中,可以预先设置混流样式表,用于存储多个混流样式对应的详细规则内容,当确定了某多媒体业务的对应混流样式时,可基于该混流样式表进一步确定该混流样式的详细规则内容。在一实施例中,根据多媒体数据流数量的不同,一个混流样式还可以包括多个子混流样式,所述混流样式表的一个示例如实施例中表二所示。
基于本发明上述实施例,在实际应用中,用户(业务方)可以通过指令输入应用程序接口输入混流指令,以随时更改混流样式,即动态调整多媒体业务的输出样式,因此,在一实施例中,本实施例上述方法还可以包括:
接收到对应第二混流方式的第二混流指令,所述第二混流指令指示混流样式改变;提取第二混流指令中携带的第三混流样式,按照第三混流样式将所述待混合的多媒体数据流混合成一路混合多媒体数据流。一个示例为:在对多个直播视频流的实时混流过程中,接收到对应手动混流方式的第二混流指令,指示更改混流样式,则依据第二混流指令中指示的混流样式更新对所述多个直播视频流的混流样式,以对最终的视频输出画面进行调整。如此,可以依据用户的实际需要动态的调整视频输出画面,提升了用户体验。
在实际应用中,对于一次互动直播会话,在互动直播过程中,可能会有连麦观众的加入或退出,也即,在对直播视频流进行混流的过程中可能会出现会话标识相同的至少两路直播视频流的数量改变,此时,用户可以通过输入混流指令,以指示基于改变后的直播视频流的数量调整混流的子混流样式。在一实施例中,本发明实施例上述方法还可以包括:
接收到对应第二混流方式的第三混流指令,第三混流指令指示所述待混合的多媒体数据流的数量改变;基于所述第三混流指令确定更新后的待混合的多媒体数据流;依据所述第二混流样式将所述更新后的待混合的多媒体数据流混合成一路混合多媒体数据流。在实际应用中,一个示例为:由一个主播两个连麦观众形成的混流样式为MST002的3路直播视频流,混流采用主从式,连麦观众位于右下角,显示窗口为长方形,等比压缩,当中途有连麦观众离开时,直播视频流的数量由3变成2,用户通过第三混流指令携带更新后的待混合的直播视频流,指示更新混流的子混流样式,基于该第三混流指令改变该混流样式对应的子混流样式,使右下角的连麦观众显示为一个。
应用本发明上述实施例,基于用户的混流指令实现了对指定多媒体业务下的指定多路多媒体数据流的混流处理,缓解了主播终端的硬件压力及上行带宽压力的同时,可以依据用户的实际需要,对多媒体数据流实行更精细的混流控制处理,提升了用户体验。
实施例四
本发明实施例提供了一种多媒体数据流的处理方法,应用于对直播视频流的手动混流处理场景,系统默认对多媒体业务的混流处理为手动混流。对直播视频流的手动混流处理由服务器上的多媒体数据流的处理装置,即图7中混流装置实现,该装置可由混流模块、混流设置模块、混流样式配置模块组成,如图7所示为本发明实施例多媒体数据流的处理方法的系统架构示意图。在实际应用中,用户通过手动输入指令控制对直播视频流的混流处理,需要控制好指令输入时机,首先要保证存在至少两个直播视频流。结合图7所示,本发明实施例的多媒体数据流的处理方法包括:
S400,主播与连麦观众们(连麦总人数>=2)通过互动直播服务系统进行连麦,互动直播服务系统把所有主播的数据流转发给混流装置,混流装置此时不做任何处理,直接向下游的标准流媒体直播系统(参见图7)转发数据流。
在图7中,互动直播服务系统提供多人互动直播连麦功能,主播客户端通过该系统完成实时视频通话,所有主播的直播视频流数据都会实时转发到混流装置。混流装置负责将参与同一互动直播连麦会话的所有主播的音视频流按既定规则混合、排布、缩放、转码之后,输出一路标准流媒体流,再转推到标准流媒体直播系统。每次执行混流前,混流装置都会向混流样式配置模块查询混流样式,以便确定具体如何操作。在混流过程中,混流装置也接受混流设置模块RESTful-API的样式动态变更指令,实时改变混流后的输出效果。
在混流样式配置模块中存储了预设的混流样式表,存储了预设的多种混流样式,每种混流样式定义了多路直播视频流在混流的时候按什么方式进行排布、叠加、缩放。混流样式表的一个示例如实施例二中表二所示。混流装置中混流样式配置模块保存了与混流样式相关的信息,并提供这些信息的查询接口。而混流装置中的混流设置模块RESTful-API提供混流样式的设置接口,通过该接口可以预设业务配置信息表,业务配置信息表的一个示例如实施例二中表一所示。
图7中所述标准流媒体直播系统,顾名思义,用于对混流装置生成的标准媒体流进行播放,而所述内容分发网络(CDN,Content Delivery Network)用于动态或静态内容的就近接入、缓存和分发。
在实际应用中,由于对直播视频流的处理为手动处理,因此,混流装置在接收到用户的混流指令之前,直接转发主播的直播视频流,不作处理。
S401,业务方(客户端或业务后台)调用混流设置模块RESTful-API的ExeMixStreams接口向混流模块发送指令,通过接口参数指定:将哪个业务 (BizID)的哪些主播/连麦观众进行混流(StreamIDList)、混流样式是什么 (MixStyleID)以及混流后最终输出的StreamID(TargetStreamID)是哪个。
通过混流设置模块RESTful-API进行混流设置的一个示例如表三所示:
表三
需要说明的是,表三中CreateStyle、DeleteStyle、SetAutoMix、SetDefaultStyle和StaticalSetStyle属于全局静态设置接口,对于已经在推流中的互动直播会话不生效。而TemporarySetStyle和ExeMixStreams属于动态设置接口,只对正在推流中的互动直播会话生效,混流结束后接口所做的设置被混流模块清除。
S402,混流模块首先向混流样式配置模块查询请求方所在业务的缺省混流样式(通过表一查询该业务的DefaultStyleID)、是否有针对TargetStreamID做了特殊配置(通过表一查询该业务的SpecialConfigrationList)。
S403,混流模块按照接口参数设置(如有)>SpecialConfigrationList配置>DefaultStyleID的优先级设置混流样式,执行混流操作,并将混流结果推送至标准流媒体直播系统。
在实际实施时,连麦过程中如果有主播/连麦观众加入或退出,业务方需调用ExeMixStreams接口更新StreamIDList,而混流模块则需按照表二中MixRange 字段选择相应的混流规则对输出画面进行调整。
在混流过程中,如果业务方调用了TemporarySetStyle接口更改混流样式,则混流模块需要按照接口参数(更改后的混流样式)对输出画面进行调整。当所有主播和连麦观众退出房间时混流结束,混流模块清除TemporarySetStyle。
实施例五
本发明实施例提供了一种多媒体数据流的处理方法,应用于对直播视频流的自动混流处理场景,对直播视频流的自动混流处理由服务器上的多媒体数据流的处理装置,即图7中混流装置实现,如图7所示为本发明实施例多媒体数据流的处理方法的系统架构示意图。
需要说明的是,在实际实施时,自动混流的基础是混流模块需要知道将哪些直播视频流混合在一起,在手动混流处理的方案中,混流模块是通过ExeMixStreams接口的参数StreamIDList来获知这一信息的,而在自动混流的流程里,需要引入会话标识(SessionID)作为混流装置与互动直播服务系统之间沟通的纽带。SessionID用于唯一的标识一次互动直播会话。由互动直播服务系统在推流时作为流属性传递给混流装置,同时作为流属性传递给混流装置的还有目标流标识,如图8所示为本发明实施例直播视频流携带流属性时多媒体数据流的处理方法系统架构示意图。在自动混流模式下(表一中 IsAutoMix=TRUE),混流装置会将拥有相同SessionID的流自动混在一起。
结合图7、图8所示,本发明实施例的多媒体数据流的处理方法包括:
S500,主播A进入房间,将SessionID(111)和TargetStreamID(ttt)告知互动直播服务系统,然后开始直播,主播A的流数据和流属性被转发给混流装置。
S501,连麦观众B进入主播A所在房间,将SessionID(111)和 TargetStreamID(ttt)告知互动直播服务系统,然后开始与主播A连麦,连麦观众B的流数据和流属性被转发给混流装置。
S502,混流系统发现与SessionID(111)相关联的流>=2路,于是自动启动混流,具体的混流过程可以包括如下步骤:
a,混流装置首先向混流样式配置模块查询业务BizID(kkk)的缺省混流样式(通过表一查询该业务的DefaultStyleID)、是否有针对TargetStreamID(ttt) 做了特殊配置(通过表一查询该业务的SpecialConfigrationList);
b,混流装置按照:SpecialConfigrationList配置>DefaultStyleID的优先级设置混流样式,执行混流操作,并将混流结果推送至标准流媒体直播系统。
需要说明的是,连麦过程中如果有主播/连麦观众加入或退出,混流装置自动按照表二中MixRange字段选择相应的子混流样式对输出进行调整。
在混流过程中,如果业务方调用了TemporarySetStyle接口发送指令更改混流样式,则混流装置需要按照接口参数,即指令中携带的信息对输出进行调整。
在实际应用中,当混流装置发现与SessionID(111)相关联的流<=1路,则自动停止混流。通过上述流程,业务方与混流后台实现了完全解耦,不用再调用任何接口,也无需考虑接口调用时机,所有混流处理过程都在混流装置内部自动完成,大大降低了功能的使用门槛,有效提升混流的成功率。
实施例六
本发明实施例提供了一种多媒体数据流的处理装置,所述装置可以位于一个服务器中,或者所述装置的各个模块分布在不同的服务器中,如图9所示,本发明实施例中多媒体数据流的处理装置包括:检测模块31、处理模块32及发送模块33;其中,
所述检测模块31,用于检测到来自至少两个客户端的至少两路多媒体数据流时,触发所述处理模块32;
所述处理模块32,用于确定所述至少两路多媒体数据流为同一多媒体业务下的多媒体数据流时,按照预设混合策略将所述至少两路多媒体数据流混合,获得混合多媒体数据流;
所述发送模块33,用于发送所述混合多媒体数据流,以对所述混合多媒体数据流进行播放。
在一实施例中,所述处理模块32,还用于分别提取所述至少两路多媒体数据流携带的第一业务标识;
基于所述第一业务标识查找预设的业务配置信息表;
基于查找结果确定与所述第一业务标识对应的混流方式为第一混流方式。
在一实施例中,所述处理模块32,还用于获取与所述第一业务标识对应的第一混流配置信息,基于所述第一混流配置信息确定第一混流样式;
分别提取所述至少两路多媒体数据流携带的会话标识及第一目标流标识;
依据所述第一混流样式,将所述至少两路多媒体数据流中会话标识相同的至少两路多媒体数据流混合成一路混合多媒体数据流,将所述第一目标流标识作为所述混合多媒体数据流的流标识。
在一实施例中,所述检测模块31,还用于检测到所述会话标识相同的至少两路多媒体数据流的数量改变时,确定对应于所述会话标识的多媒体数据流的数量,当对应于所述会话标识多媒体数据流的数量满足预设要求时,触发所述处理模块32;
所述处理模块32,还用于基于所述多媒体数据流的数量查找所述第一混流样式中对应的第一子混流样式;
按照所述第一子混流样式将对应于所述会话标识的多媒体数据流混合成一路混合多媒体数据流。
在一实施例中,所述装置还包括指令输入模块34,用于接收到混流样式调整指令时触发所述处理模块32;
所述处理模块32,还用于依据所述混流样式调整指令中携带的混流样式,将所述至少两路多媒体数据流中会话标识相同的至少两路多媒体数据流混合成一路混合多媒体数据流。
在一实施例中,所述处理模块32,还用于分别提取所述至少两路多媒体数据流携带的第二业务标识;
基于所述第二业务标识查找预设的业务配置信息表;
基于查找结果确定与所述第二业务标识对应的混流方式为第二混流方式,触发所述发送模块直接转发所述至少两路多媒体数据流。
在一实施例中,所述指令输入模块34,还用于接收到对应所述第二混流方式的第一混流指令时触发所述处理模块32;
所述处理模块32,还用于基于所述第一混流指令确定所述至少两路多媒体数据流中待混合的多媒体数据流及第二目标流标识;
获取与所述第二业务标识对应的第二混流配置信息,基于所述第二混流配置信息确定第二混流样式;
依据所述第二混流样式,将所述待混合的多媒体数据流混合成一路混合多媒体数据流,将所述第二目标流标识作为所述混合多媒体数据流的流标识。
在一实施例中,所述指令输入模块34,还用于接收到对应所述第二混流方式的第二混流指令时触发所述处理模块32;所述第二混流指令指示混流样式改变;
所述处理模块32,还用于提取所述第二混流指令中携带的第三混流样式;
按照所述第三混流样式将所述待混合的多媒体数据流混合成一路混合多媒体数据流。
在一实施例中,所述指令输入模块34,还用于接收到对应所述第二混流方式的第三混流指令时触发所述处理模块32;所述第三混流指令指示所述待混合的多媒体数据流的数量改变;
所述处理模块32,还用于基于所述第三混流指令确定更新后的待混合的多媒体数据流;
依据所述第二混流样式将所述更新后的待混合的多媒体数据流混合成一路混合多媒体数据流。
在本发明实施例中,所述多媒体数据流的处理装置中的各个上述模块均可由终端中的中央处理器(CPU,Central Processing Unit)或数字信号处理器(DSP, DigitalSignal Processor)、或现场可编程门阵列(FPGA,Field Programmable Gate Array)、或集成电路(ASIC,Application Specific Integrated Circuit)实现。
这里需要指出的是:以上涉及多媒体数据流的处理装置的描述,与上述方法描述是类似的,同方法的有益效果描述,不做赘述。对于本发明所述装置实施例中未披露的技术细节,请参照本发明方法实施例的描述。
本实施例中,多媒体数据流的处理装置作为硬件实体的一个示例如图10 所示。所述终端包括处理器61、存储介质62以及至少一个外部通信接口63;所述处理器61、存储介质62以及外部通信接口63均通过总线64连接。
相应的,本发明实施例还提供了一种多媒体数据流的处理装置,该多媒体数据流的处理装置包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时执行:
检测到至少两路多媒体数据流;
确定所述至少两路多媒体数据流为同一多媒体业务下的多媒体数据流时,按照预设混合策略将所述至少两路多媒体数据流混合,获得混合多媒体数据流;
发送所述混合多媒体数据流,以对所述混合多媒体数据流进行播放。
所述处理器还用于运行所述计算机程序时执行:
分别提取所述至少两路多媒体数据流携带的第一业务标识;
基于所述第一业务标识查找预设的业务配置信息表;
基于查找结果确定与所述第一业务标识对应的混流方式为第一混流方式。
所述处理器还用于运行所述计算机程序时执行:
获取与所述第一业务标识对应的第一混流配置信息,基于所述第一混流配置信息确定第一混流样式;
分别提取所述至少两路多媒体数据流携带的会话标识及第一目标流标识;
依据所述第一混流样式,将所述至少两路多媒体数据流中会话标识相同的至少两路多媒体数据流混合成一路混合多媒体数据流,将所述第一目标流标识作为所述混合多媒体数据流的流标识。
所述处理器还用于运行所述计算机程序时执行:
检测到所述会话标识相同的至少两路多媒体数据流的数量改变时,确定对应于所述会话标识的多媒体数据流的数量;
当对应于所述会话标识多媒体数据流的数量满足预设要求时,基于所述多媒体数据流的数量查找所述第一混流样式中对应的第一子混流样式;
按照所述第一子混流样式将对应于所述会话标识的多媒体数据流混合成一路混合多媒体数据流。
所述处理器还用于运行所述计算机程序时执行:
接收到混流样式调整指令,依据所述混流样式调整指令中携带的混流样式,将所述至少两路多媒体数据流中会话标识相同的至少两路多媒体数据流混合成一路混合多媒体数据流。
所述处理器还用于运行所述计算机程序时执行:
分别提取所述至少两路多媒体数据流携带的第二业务标识;
基于所述第二业务标识查找预设的业务配置信息表;
基于查找结果确定与所述第二业务标识对应的混流方式为第二混流方式;
直接转发所述至少两路多媒体数据流。
所述处理器还用于运行所述计算机程序时执行:
接收到对应所述第二混流方式的第一混流指令;
基于所述第一混流指令确定所述至少两路多媒体数据流中待混合的多媒体数据流及第二目标流标识;
获取与所述第二业务标识对应的第二混流配置信息,基于所述第二混流配置信息确定第二混流样式;
依据所述第二混流样式,将所述待混合的多媒体数据流混合成一路混合多媒体数据流,将所述第二目标流标识作为所述混合多媒体数据流的流标识。
所述处理器还用于运行所述计算机程序时执行:
接收到对应所述第二混流方式的第二混流指令;所述第二混流指令指示混流样式改变;
提取所述第二混流指令中携带的第三混流样式;
按照所述第三混流样式将所述待混合的多媒体数据流混合成一路混合多媒体数据流。
所述处理器还用于运行所述计算机程序时执行:
接收到对应所述第二混流方式的第三混流指令;所述第三混流指令指示所述待混合的多媒体数据流的数量改变;
基于所述第三混流指令确定更新后的待混合的多媒体数据流;
依据所述第二混流样式将所述更新后的待混合的多媒体数据流混合成一路混合多媒体数据流。
本发明实施例还提供了一种存储介质,其上存储有计算机指令,该指令被处理器执行时实现检测到至少两路多媒体数据流;
确定所述至少两路多媒体数据流为同一多媒体业务下的多媒体数据流时,按照预设混合策略将所述至少两路多媒体数据流混合,获得混合多媒体数据流;
发送所述混合多媒体数据流,以对所述混合多媒体数据流进行播放。
上述指令被处理器执行时还实现:
分别提取所述至少两路多媒体数据流携带的第一业务标识;
基于所述第一业务标识查找预设的业务配置信息表;
基于查找结果确定与所述第一业务标识对应的混流方式为第一混流方式。
上述指令被处理器执行时还实现:
获取与所述第一业务标识对应的第一混流配置信息,基于所述第一混流配置信息确定第一混流样式;
分别提取所述至少两路多媒体数据流携带的会话标识及第一目标流标识;
依据所述第一混流样式,将所述至少两路多媒体数据流中会话标识相同的至少两路多媒体数据流混合成一路混合多媒体数据流,将所述第一目标流标识作为所述混合多媒体数据流的流标识。
上述指令被处理器执行时还实现:
检测到所述会话标识相同的至少两路多媒体数据流的数量改变时,确定对应于所述会话标识的多媒体数据流的数量;
当对应于所述会话标识多媒体数据流的数量满足预设要求时,基于所述多媒体数据流的数量查找所述第一混流样式中对应的第一子混流样式;
按照所述第一子混流样式将对应于所述会话标识的多媒体数据流混合成一路混合多媒体数据流。
上述指令被处理器执行时还实现:
接收到混流样式调整指令,依据所述混流样式调整指令中携带的混流样式,将所述至少两路多媒体数据流中会话标识相同的至少两路多媒体数据流混合成一路混合多媒体数据流。
上述指令被处理器执行时还实现:
分别提取所述至少两路多媒体数据流携带的第二业务标识;
基于所述第二业务标识查找预设的业务配置信息表;
基于查找结果确定与所述第二业务标识对应的混流方式为第二混流方式;
直接转发所述至少两路多媒体数据流。
上述指令被处理器执行时还实现:
接收到对应所述第二混流方式的第一混流指令;
基于所述第一混流指令确定所述至少两路多媒体数据流中待混合的多媒体数据流及第二目标流标识;
获取与所述第二业务标识对应的第二混流配置信息,基于所述第二混流配置信息确定第二混流样式;
依据所述第二混流样式,将所述待混合的多媒体数据流混合成一路混合多媒体数据流,将所述第二目标流标识作为所述混合多媒体数据流的流标识。
上述指令被处理器执行时还实现:
接收到对应所述第二混流方式的第二混流指令;所述第二混流指令指示混流样式改变;
提取所述第二混流指令中携带的第三混流样式;
按照所述第三混流样式将所述待混合的多媒体数据流混合成一路混合多媒体数据流。
上述指令被处理器执行时还实现:
接收到对应所述第二混流方式的第三混流指令;所述第三混流指令指示所述待混合的多媒体数据流的数量改变;
基于所述第三混流指令确定更新后的待混合的多媒体数据流;
依据所述第二混流样式将所述更新后的待混合的多媒体数据流混合成一路混合多媒体数据流。
本领域的技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、随机存取存储器(RAM,Random Access Memory)、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、终端、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、RAM、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (15)
1.一种多媒体数据流的处理方法,其特征在于,所述方法包括:
检测到至少两路多媒体数据流;
确定所述至少两路多媒体数据流为同一多媒体业务下的多媒体数据流;
当所述多媒体业务对应的混流方式为第一混流方式时,获取与所述多媒体业务对应的第一混流配置信息,基于所述第一混流配置信息确定第一混流样式,分别提取所述至少两路多媒体数据流携带的会话标识以及第一目标流标识,将所述至少两路多媒体数据流中会话标识相同的至少两路多媒体数据流混合成一路混合多媒体数据流,将所述第一目标流标识作为所述混合多媒体数据流的流标识;
分别提取所述至少两路多媒体数据流携带的第二业务标识,当基于所述第二业务标识确定所述多媒体业务对应的混流方式为第二混流方式时,直接转发所述至少两路多媒体数据流,接收到对应所述第二混流方式的第一混流指令,基于所述第一混流指令确定所述至少两路多媒体数据流中待混合的多媒体数据流及第二目标流标识,获取与所述第二业务标识对应的第二混流配置信息,基于所述第二混流配置信息确定第二混流样式,依据所述第二混流样式,将所述待混合的多媒体数据流混合成一路混合多媒体数据流,将所述第二目标流标识作为所述混合多媒体数据流的流标识;
发送所述混合多媒体数据流,以对所述混合多媒体数据流进行播放。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
分别提取所述至少两路多媒体数据流携带的第一业务标识;
基于所述第一业务标识查找预设的业务配置信息表;
基于查找结果确定与所述第一业务标识对应的混流方式为第一混流方式。
3.根据权利要求2所述的方法,其特征在于,所述获取与所述多媒体业务对应的第一混流配置信息,包括:
获取与所述第一业务标识对应的第一混流配置信息,将与所述第一业务标识对应的第一混流配置信息作为与所述多媒体业务对应的第一混流配置信息,所述第一业务标识用于标识所述至少两路多媒体数据流所属的多媒体业务。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
检测到所述会话标识相同的至少两路多媒体数据流的数量改变时,确定对应于所述会话标识的多媒体数据流的数量;
当对应于所述会话标识多媒体数据流的数量满足预设要求时,基于所述多媒体数据流的数量查找所述第一混流样式中对应的第一子混流样式;
按照所述第一子混流样式将对应于所述会话标识的多媒体数据流混合成一路混合多媒体数据流。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
接收到混流样式调整指令,依据所述混流样式调整指令中携带的混流样式,将所述至少两路多媒体数据流中会话标识相同的至少两路多媒体数据流混合成一路混合多媒体数据流。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述第二业务标识查找预设的业务配置信息表;
基于查找结果确定与所述第二业务标识对应的混流方式为第二混流方式。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收到对应所述第二混流方式的第二混流指令;所述第二混流指令指示混流样式改变;
提取所述第二混流指令中携带的第三混流样式;
按照所述第三混流样式将所述待混合的多媒体数据流混合成一路混合多媒体数据流。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收到对应所述第二混流方式的第三混流指令;所述第三混流指令指示所述待混合的多媒体数据流的数量改变;
基于所述第三混流指令确定更新后的待混合的多媒体数据流;
依据所述第二混流样式将所述更新后的待混合的多媒体数据流混合成一路混合多媒体数据流。
9.一种多媒体数据流的处理装置,其特征在于,所述装置包括:检测模块、处理模块及发送模块;其中,
所述检测模块,用于检测到来自至少两个客户端的至少两路多媒体数据流时,触发所述处理模块;
所述处理模块,用于确定所述至少两路多媒体数据流为同一多媒体业务下的多媒体数据流;当所述多媒体业务对应的混流方式为第一混流方式时,获取与所述多媒体业务对应的第一混流配置信息,基于所述第一混流配置信息确定第一混流样式,分别提取所述至少两路多媒体数据流携带的会话标识以及第一目标流标识,将所述至少两路多媒体数据流中会话标识相同的至少两路多媒体数据流混合成一路混合多媒体数据流,将所述第一目标流标识作为所述混合多媒体数据流的流标识;分别提取所述至少两路多媒体数据流携带的第二业务标识,当基于所述第二业务标识确定所述多媒体业务对应的混流方式为第二混流方式时,直接转发所述至少两路多媒体数据流,接收到对应所述第二混流方式的第一混流指令,基于所述第一混流指令确定所述至少两路多媒体数据流中待混合的多媒体数据流及第二目标流标识,获取与所述第二业务标识对应的第二混流配置信息,基于所述第二混流配置信息确定第二混流样式,依据所述第二混流样式,将所述待混合的多媒体数据流混合成一路混合多媒体数据流,将所述第二目标流标识作为所述混合多媒体数据流的流标识;
所述发送模块,用于发送所述混合多媒体数据流,以对所述混合多媒体数据流进行播放。
10.根据权利要求9所述的装置,其特征在于,
所述处理模块,还用于分别提取所述至少两路多媒体数据流携带的第一业务标识;
基于所述第一业务标识查找预设的业务配置信息表;
基于查找结果确定与所述第一业务标识对应的混流方式为第一混流方式。
11.根据权利要求10所述的装置,其特征在于,
所述处理模块,还用于获取与所述第一业务标识对应的第一混流配置信息,将与所述第一业务标识对应的第一混流配置信息作为与所述多媒体业务对应的第一混流配置信息,所述第一业务标识用于标识所述至少两路多媒体数据流所属的多媒体业务。
12.根据权利要求11所述的装置,其特征在于,
所述检测模块,还用于检测到所述会话标识相同的至少两路多媒体数据流的数量改变时,确定对应于所述会话标识的多媒体数据流的数量,当对应于所述会话标识多媒体数据流的数量满足预设要求时,触发所述处理模块;
所述处理模块,还用于基于所述多媒体数据流的数量查找所述第一混流样式中对应的第一子混流样式;
按照所述第一子混流样式将对应于所述会话标识的多媒体数据流混合成一路混合多媒体数据流。
13.根据权利要求11所述的装置,其特征在于,所述装置还包括指令输入模块,用于接收到混流样式调整指令时触发所述处理模块;
所述处理模块,还用于依据所述混流样式调整指令中携带的混流样式,将所述至少两路多媒体数据流中会话标识相同的至少两路多媒体数据流混合成一路混合多媒体数据流。
14.一种多媒体数据流的处理装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1至8任一项所述的多媒体数据流的处理方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现上述权利要求1至8任一项所述的多媒体数据流的处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710436398.7A CN108989836B (zh) | 2017-05-31 | 2017-05-31 | 一种多媒体数据流的处理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710436398.7A CN108989836B (zh) | 2017-05-31 | 2017-05-31 | 一种多媒体数据流的处理方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108989836A CN108989836A (zh) | 2018-12-11 |
CN108989836B true CN108989836B (zh) | 2021-11-09 |
Family
ID=64501924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710436398.7A Active CN108989836B (zh) | 2017-05-31 | 2017-05-31 | 一种多媒体数据流的处理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108989836B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021000843A1 (zh) * | 2019-07-04 | 2021-01-07 | 广州虎牙科技有限公司 | 一种直播数据处理方法、系统、电子设备及存储介质 |
CN110740337B (zh) * | 2019-10-11 | 2022-02-08 | 北京达佳互联信息技术有限公司 | 直播播放方法、装置、电子设备及存储介质 |
CN111246253B (zh) * | 2020-01-21 | 2022-04-15 | 北京世纪好未来教育科技有限公司 | 视频流传输方法和装置 |
CN112104913B (zh) * | 2020-09-11 | 2023-09-26 | 腾讯科技(深圳)有限公司 | 连麦切换方法、装置、计算机设备及存储介质 |
CN112291583B (zh) | 2020-10-29 | 2022-12-27 | 北京达佳互联信息技术有限公司 | 直播连麦方法、装置、服务器、终端及存储介质 |
CN112866726A (zh) * | 2020-12-17 | 2021-05-28 | 杭州当虹科技股份有限公司 | 一种基于移动平台的线上展会多机位直播装置和方法 |
CN115412772A (zh) * | 2021-05-26 | 2022-11-29 | 武汉斗鱼鱼乐网络科技有限公司 | 一种跨房间连麦直播建立方法、退出方法及连麦客户端 |
CN115484469B (zh) * | 2021-06-15 | 2024-01-09 | 北京字节跳动网络技术有限公司 | 一种连麦系统、方法、装置、设备及存储介质 |
CN113507641B (zh) * | 2021-09-09 | 2021-12-10 | 山东亚华电子股份有限公司 | 一种基于客户端的多路视频混屏方法、系统及设备 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101378430A (zh) * | 2007-08-27 | 2009-03-04 | 华为技术有限公司 | 会议中混合指定媒体流的方法、装置和系统 |
CN101483749A (zh) * | 2009-01-20 | 2009-07-15 | 中兴通讯股份有限公司 | 基于媒体服务器的视频会议实现方法和系统 |
CN101740084A (zh) * | 2009-11-25 | 2010-06-16 | 中兴通讯股份有限公司 | 多媒体片段的剪辑方法及移动终端 |
WO2010085503A1 (en) * | 2009-01-20 | 2010-07-29 | Neil Young | High definition and high resolution music and/or video applications and methods of use thereof |
CN105491396A (zh) * | 2015-10-10 | 2016-04-13 | 腾讯科技(北京)有限公司 | 一种多媒体信息处理方法及服务器 |
US9398318B1 (en) * | 2014-04-10 | 2016-07-19 | Google Inc. | Providing secure video conferencing |
CN105828214A (zh) * | 2016-03-31 | 2016-08-03 | 徐文波 | 视频直播中互动的实现方法和装置 |
CN106131583A (zh) * | 2016-06-30 | 2016-11-16 | 北京小米移动软件有限公司 | 一种直播处理方法、装置、终端设备及系统 |
CN106412463A (zh) * | 2015-08-03 | 2017-02-15 | 北京鸿合智能系统股份有限公司 | 动态切换视频的导播方法及装置 |
CN106454537A (zh) * | 2016-10-14 | 2017-02-22 | 广州华多网络科技有限公司 | 一种视频直播方法及相关设备 |
CN106657109A (zh) * | 2016-12-30 | 2017-05-10 | 北京奇虎科技有限公司 | 一种流数据的传输方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2141689A1 (en) * | 2008-07-04 | 2010-01-06 | Koninklijke KPN N.V. | Generating a stream comprising interactive content |
-
2017
- 2017-05-31 CN CN201710436398.7A patent/CN108989836B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101378430A (zh) * | 2007-08-27 | 2009-03-04 | 华为技术有限公司 | 会议中混合指定媒体流的方法、装置和系统 |
CN101483749A (zh) * | 2009-01-20 | 2009-07-15 | 中兴通讯股份有限公司 | 基于媒体服务器的视频会议实现方法和系统 |
WO2010085503A1 (en) * | 2009-01-20 | 2010-07-29 | Neil Young | High definition and high resolution music and/or video applications and methods of use thereof |
CN101740084A (zh) * | 2009-11-25 | 2010-06-16 | 中兴通讯股份有限公司 | 多媒体片段的剪辑方法及移动终端 |
US9398318B1 (en) * | 2014-04-10 | 2016-07-19 | Google Inc. | Providing secure video conferencing |
CN106412463A (zh) * | 2015-08-03 | 2017-02-15 | 北京鸿合智能系统股份有限公司 | 动态切换视频的导播方法及装置 |
CN105491396A (zh) * | 2015-10-10 | 2016-04-13 | 腾讯科技(北京)有限公司 | 一种多媒体信息处理方法及服务器 |
CN105828214A (zh) * | 2016-03-31 | 2016-08-03 | 徐文波 | 视频直播中互动的实现方法和装置 |
CN106131583A (zh) * | 2016-06-30 | 2016-11-16 | 北京小米移动软件有限公司 | 一种直播处理方法、装置、终端设备及系统 |
CN106454537A (zh) * | 2016-10-14 | 2017-02-22 | 广州华多网络科技有限公司 | 一种视频直播方法及相关设备 |
CN106657109A (zh) * | 2016-12-30 | 2017-05-10 | 北京奇虎科技有限公司 | 一种流数据的传输方法和装置 |
Non-Patent Citations (2)
Title |
---|
互联网+背景下网络视频直播发展模式探究;刘晓宇;《刘晓宇》;20170228;全文 * |
从"花椒直播"探究我国的互联网直播;孔令晨;《科技传播》;20160930;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108989836A (zh) | 2018-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108989836B (zh) | 一种多媒体数据流的处理方法、装置及存储介质 | |
US11717749B2 (en) | Cloud gaming device handover | |
US10462081B2 (en) | Subscription-based media push service | |
US20200117353A1 (en) | Theming for virtual collaboration | |
US9024997B2 (en) | Virtual presence via mobile | |
US9049343B2 (en) | Method, device and system for presenting virtual conference site of video conference | |
CN111836074B (zh) | 一种连麦直播方法、装置、电子设备及存储介质 | |
CN108235042B (zh) | 一种多人网络直播方法、装置、加入装置、系统、服务器和计算机可读存储介质 | |
CN111225230B (zh) | 一种网络直播数据的管理方法以及相关装置 | |
EP2859682B1 (en) | A method and system for self-broadcasting in a social experience environment | |
CN105933375B (zh) | 一种连麦会话的监测方法、装置和服务器 | |
CN104883583B (zh) | 一种获取在线视频截图的方法及装置 | |
CN113457123B (zh) | 基于云游戏的互动方法、装置、电子设备及可读存储介质 | |
CN109391851B (zh) | 视频直播方法、装置、计算机设备和存储介质 | |
CN109195003B (zh) | 基于直播进行游戏的互动方法、系统、终端及装置 | |
US11889159B2 (en) | System and method for multi-user digital interactive experience | |
CN109788301B (zh) | 一种流媒体的直播方法、终端设备、直播系统及计算机可读存储介质 | |
CN112738638A (zh) | 一种连麦直播方法、装置、设备、存储介质及产品 | |
EP3018875A1 (en) | Method and device for implementing social service based on video sharing | |
CN110662119A (zh) | 一种视频拼接方法及装置 | |
CN112532913A (zh) | 一种视频混流方法、视频系统及服务器 | |
US20230195403A1 (en) | Information processing method and electronic device | |
CN109999490B (zh) | 一种降低联网云应用延迟的方法及系统 | |
CN115134647A (zh) | 一种基于云服务的视频流传输方法及其相关设备 | |
CN114500914A (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 |