一种流媒体的实时通信方法及装置与流程

文档序号:24714831发布日期:2021-04-16 14:13阅读:169来源:国知局
一种流媒体的实时通信方法及装置与流程

1.本发明涉及通信技术领域,尤其涉及一种流媒体的实时通信方法及装置。


背景技术:

2.流媒体即是能够通过网络传输通信的音视频数据,在现阶段有着非常广泛的应用。例如视频直播、网络会议等常见的场景,均是以流媒体为基础实现。
3.常见的关于流媒体的通信方式或通信协议存在多种,并且不同通信方式对于发送/接收流媒体的终端设备的性能要求也各不相同。显然,用户使用的终端设备有可能是各种不同型号,对应不同的性能条件。不同设备可适应的流媒体通信方式可能有所不同。
4.因此,流媒体的通信必须要面对终端设备的适应性和兼容性的问题。现有技术尚无法针对终端设备的实际特点,通过简便经济的技术手段解决流媒体通信的兼容性问题;无法使各类终端设备均可自适应的达到相对理想的流媒体通信效果。


技术实现要素:

5.本发明提供一种流媒体的实时通信方法及装置,以至少解决现有技术中存在的以上技术问题。
6.第一方面,本发明提供一种流媒体的实时通信方法,包括:
7.确定终端设备的播放环境,并确定所述终端设备的通信标识;
8.当所述通信标识满足预设的第一条件,基于一级通信方案进行所述终端设备的流媒体实时通信;
9.当所述通信标识不满足所述第一条件,根据所述播放环境确定相应的二级通信方案;
10.基于所述二级通信方案进行所述终端设备的流媒体实时通信。
11.优选的,所述确定终端设备的播放环境包括:
12.确定所述终端设备的播放环境为应用程序播放;
13.或,确定所述终端设备的播放环境为浏览器播放。
14.优选的,所述通信标识包括,通信请求的头部信息;所述一级通信方案包括,网页即时通信webrtc通信方案;
15.则所述当通信标识满足预设的第一条件,基于一级通信方案进行所述终端设备的流媒体实时通信包括:
16.当通过所述通信请求的头部信息确定所述终端设备支持所述webrtc通信方案,则基于所述webrtc通信方案进行所述终端设备的流媒体实时通信。
17.优选的,当所述播放环境为浏览器播放,则所述当通过所述通信请求的头部信息确定所述终端设备支持所述webrtc通信方案,则基于所述webrtc通信方案进行所述终端设备的流媒体实时通信包括:
18.当所述终端设备支持所述webrtc通信方案,且所述终端设备支持相应的视频加密
协议,则基于所述webrtc通信方案进行所述终端设备的流媒体实时通信。
19.优选的,还包括:
20.当所述终端设备支持所述webrtc通信方案,且所述终端设备不支持相应的视频加密协议,则基于所述二级通信方案进行所述终端设备的流媒体实时通信。
21.优选的,当所述通信标识不满足所述第一条件,所述根据所述播放环境确定相应的二级通信方案包括:
22.当所述播放环境为浏览器播放,将动态码率自适应技术hls通信方案确定为所述二级通信方案。
23.优选的,当所述通信标识不满足所述第一条件,所述根据所述播放环境确定相应的二级通信方案包括:
24.当所述播放环境为应用程序播放,将实时消息传输协议rtmp通信方案确定为所述二级通信方案。
25.第二方面,本发明提供一种流媒体的实时通信装置,包括:
26.设备确定模块,用于确定终端设备的播放环境,并确定所述终端设备的通信标识;
27.第一通信模块,用于在所述通信标识满足预设的第一条件,基于一级通信方案进行所述终端设备的流媒体实时通信;
28.第二通信模块,用于在所述通信标识不满足所述第一条件,根据所述播放环境确定相应的二级通信方案;基于所述二级通信方案进行所述终端设备的流媒体实时通信。
29.第三方面,本发明提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行本发明所述的流媒体的实时通信方法。
30.第四方面,本发明提供一种电子设备,包括:
31.处理器;
32.用于存储所述处理器可执行指令的存储器;
33.所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本发明所述的流媒体的实时通信方法。
34.与现有技术相比,本发明提供的一种流媒体的实时通信方法及装置,当通信标识满足预设的第一条件,基于一级通信方案进行终端设备的流媒体实时通信;当通信标识不满足第一条件,基于二级通信方案进行终端设备的流媒体实时通信;对于支持一级通信方案的终端,获得更好的流媒体播放体验;对于不支持一级通信方案的终端设备,亦可实现流媒体的播放功能,由此针对终端设备的实际特点解决了流媒体通信的兼容性问题;且可在终端设备本地完成对于通信方案的选择,使通信方案的确定过程简单高效,无需数据传输;实现各类终端设备均可自适应的达到相对理想的流媒体通信效果。
附图说明
35.图1为本发明一实施例提供的一种流媒体的实时通信方法的流程示意图;
36.图2为本发明一实施例提供的另一种流媒体的实时通信方法的流程示意图;
37.图3为本发明一实施例提供的另一种流媒体的实时通信方法的流程示意图;
38.图4为本发明一实施例提供的一种流媒体的实时通信装置的结构示意图。
具体实施方式
39.为使本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
40.申请概述
41.关于流媒体的通信方式或通信协议存在多种。在本领域中常见的通信方式包括:网页即时通信webrtc(web real

time communication)、动态码率自适应技术hls(http live streaming)、实时消息传输协议rtmp(real time messaging protocol)等。不同的通信方式可以适用于不同的使用场景,并且对于发送/接收流媒体的终端设备的性能要求也各不相同。
42.显然,用户使用的终端设备有可能是各种不同型号,对应不同的性能条件。不同设备可适应的流媒体通信方式可能有所不同。例如,在视频直播或者网络会议等对于实时性要求较高的场景下,webrtc通常被认为是一种效果较为理想的通信方式。但相应的webrtc对于终端设备的性能要求也相对较高,一些老旧型号的低性能终端设备可能无法支持该通信方式。
43.由此便产生了终端设备的适应性和兼容性的问题。若使所有终端设备均采用webrtc通信方式,则必然有部分设备得不到支持,从而无法进入该流媒体场景当中。反之若使所有终端设备均采用效果相对较差的hls或rtmp通信方式,则会导致部分高性能的通信设备无法体验到理想的效果。
44.也就是说,现有技术尚无法针对终端设备的实际特点,通过简便经济的技术手段解决流媒体通信的兼容性问题;无法使各类终端设备均可自适应的达到相对理想的流媒体通信效果。
45.示例性方法
46.因此,本发明实施例将提供一种流媒体的实时通信方法,以至少解决现有技术中存在的以上技术问题。所述方法可应用于终端设备当中,如图1所示,本实施例中方法包括以下步骤:
47.步骤101、确定终端设备的播放环境,并确定终端设备的通信标识。
48.终端设备可以是用户使用的手机、pc、平板电脑的设备。不同型号的终端设备性能各异,对于通信方式的支持也有所不同。本实施例中方法的目的,即是针对终端设备的具体情况确定相对理想的通信方式。
49.播放环境是指终端设备发送/接收/播放流媒体时,所使用的内部软件环境。通常情况下,终端设备能够使用应用程序或者网页浏览器作为播放环境。也就是说,本实施例中确定终端设备的播放环境可以包括:当终端设备使用应用程序进行流媒体的发送/接收/播放时,确定终端设备的播放环境为应用程序播放。或当终端设备使用网页浏览器进行流媒体的发送/接收/播放时,确定终端设备的播放环境为浏览器播放。
50.本实施例中通信标识包括通信请求的头部信息。具体来说,可以是基于http请求的请求头部信息。本领域中通常也将其称为用户代理(即ua,全称user

agent)。
51.基于上述的播放环境和通信标识,能够进一步的确定终端设备可适用于何种流媒
体的通信方式。
52.步骤102、当通信标识满足预设的第一条件,基于一级通信方案进行终端设备的流媒体实时通信。
53.通信标识是否满足第一条件,是指在当前的播放环境下终端设备是否可支持一级通信方案。通过通信标识(即ua)可判断终端设备当前所使用的应用程序或网页浏览器是否支持一级通信方案。
54.一级通信方案是本实施例中优先级较高的通信方式。由于在视频直播或者网络会议等对于实时性要求较高的场景下,webrtc通常被认为是一种效果较为理想的通信方式。所以本步骤中一级通信方案即是webrtc通信方案。也就是说,为确保尽可能更优的流媒体播放效果,本实施例中将在通信标识(即通信请求的头部信息)显示终端设备支持webrtc通信方案的情况下,优先的基于webrtc通信方案进行终端设备的流媒体实时通信。
55.步骤103、当通信标识不满足第一条件,根据播放环境确定相应的二级通信方案。
56.相反,当通信标识不满足第一条件,即在通信标识显示终端设备不支持webrtc通信方案的情况下,本实施例中将进一步的选择二级通信方案,即优先级较低的备选方案。
57.二级通信方案可根据播放环境进行确定。即在应用程序播放或浏览器播放时,选择终端设备能够始应的如hls、rtmp等其他通信方案作为备选。
58.步骤104、基于二级通信方案进行终端设备的流媒体实时通信。
59.确定二级通信方案后即可基于二级通信方案实现流媒体实时通信。
60.由此可见在本实施例当中,在终端设备支持的情况下,可优先选择效果理想的一级通信方案,以获得更好的流媒体播放体验。对于不支持一级通信方案的终端设备,亦可采用备选的二级通信方案,使得终端设备仍然能够实现流媒体的播放功能。
61.通过以上技术方案可知,本实施例存在的有益效果是:当通信标识满足预设的第一条件,基于一级通信方案进行终端设备的流媒体实时通信;当通信标识不满足第一条件,基于二级通信方案进行终端设备的流媒体实时通信;对于支持一级通信方案的终端,获得更好的流媒体播放体验;对于不支持一级通信方案的终端设备,亦可实现流媒体的播放功能,由此针对终端设备的实际特点解决了流媒体通信的兼容性问题;且可在终端设备本地完成对于通信方案的选择,使通信方案的确定过程简单高效,无需数据传输;实现各类终端设备均可自适应的达到相对理想的流媒体通信效果。
62.图1所示仅为本发明所述方法的基础实施例,在其基础上进行一定的优化和拓展,还能够得到所述方法的其他优选实施例。
63.如图2所示,为本发明所述流媒体的实时通信方法的另一个具体实施例。本实施例在前述实施例的基础上,对于播放环境为浏览器播放的具体情况进行了进一步的说明。所述方法具体包括以下步骤:
64.步骤201、确定终端设备的播放环境为浏览器播放,并确定终端设备的通信标识。
65.本步骤中内容与前述实施例中相应内容一致,在此不重复叙述。
66.步骤202、当通信标识满足预设的第一条件,且终端设备支持相应的视频加密协议,基于webrtc通信方案进行终端设备的流媒体实时通信。
67.本实施例中,播放环境为浏览器播放,说明环境相对较为开放,所以还应考虑到流媒体通信过程中的安全性问题。因此在通信标识满足预设的第一条件的情况下,需进一步
的判断终端设备支持相应的视频加密协议。具体的,视频加密协议可以本领域中公知的是h.264加密协议或vp8加密协议。如果终端设备支持于webrtc通信方案,且支持加密协议,则可基于webrtc通信方案进行终端设备的流媒体实时通信。
68.步骤203、当通信标识满足预设的第一条件,且终端设备不支持相应的视频加密协议,将hls通信方案确定为二级通信方案。
69.相反,假如终端设备在通信标识满足预设的第一条件的情况下,不支持加密协议,则本实施例中为确保流媒体通信的安全性,将选择采用二级通信方案。本实施例中在播放环境为浏览器播放的情况下,将hls通信方案确定为二级通信方案。
70.步骤204、当通信标识不满足第一条件,将hls通信方案确定为二级通信方案。
71.同样的,在终端设备在通信标识不满足预设的第一条件的情况下,也将采用hls通信方案作为二级通信方案。
72.步骤205、基于二级通信方案进行终端设备的流媒体实时通信。
73.确定二级通信方案之后,即可基于二级通信方案,即hls通信方案实现流媒体实时通信。
74.如图3所示,为本发明所述流媒体的实时通信方法的另一个具体实施例。本实施例在前述实施例的基础上,对于播放环境为应用程序播放的具体情况进行了进一步的说明。所述方法具体包括以下步骤:
75.步骤301、确定终端设备的播放环境为应用程序播放,并确定终端设备的通信标识。
76.步骤302、当通信标识满足预设的第一条件,基于webrtc通信方案进行终端设备的流媒体实时通信。
77.上述步骤301~步骤302中内容与前述实施例中相应内容一致,在此不重复叙述。
78.步骤303、当通信标识不满足第一条件,将rtmp通信方案确定为二级通信方案。
79.步骤304、基于二级通信方案进行终端设备的流媒体实时通信。
80.本实施例中在播放环境为应用程序的情况下,将rtmp通信方案确定为二级通信方案。确定二级通信方案之后,即可基于二级通信方案,即rtmp通信方案实现流媒体实时通信。
81.示例性装置
82.如图4所示,为本发明所述流媒体的实时通信装置的一个具体实施例。本实施例装置,即用于执行图1~3所述方法的实体装置。其技术方案本质上与上述实施例一致,上述实施例中的相应描述同样适用于本实施例中。本实施例中装置包括:
83.设备确定模块401,用于确定终端设备的播放环境,并确定终端设备的通信标识。
84.第一通信模块402,用于在通信标识满足预设的第一条件,基于一级通信方案进行终端设备的流媒体实时通信。
85.第二通信模块403,用于在通信标识不满足第一条件,根据播放环境确定相应的二级通信方案;基于二级通信方案进行终端设备的流媒体实时通信。
86.另外在图4所示实施例的基础上,优选的,还包括:
87.通信标识包括,通信请求的头部信息;一级通信方案包括,webrtc通信方案。则第一通信模块402包括:
88.第一方案确定单元421,用于在通过通信请求的头部信息确定终端设备支持webrtc通信方案。
89.第一通信单元422,用于基于webrtc通信方案进行终端设备的流媒体实时通信。
90.加密确认单元423,用于确定终端设备是否支持相应的视频加密协议。
91.第二通信模块403包括:
92.第一选择单元431,用于在播放环境为浏览器播放,通信标识不满足第一条件,或终端设备不支持相应的视频加密协议时,将hls通信方案确定为二级通信方案。
93.第二选择单元432,用于在播放环境为应用程序播放,通信标识不满足第一条件时,将rtmp通信方案确定为二级通信方案。
94.第二通信单元433,用于基于二级通信方案进行终端设备的流媒体实时通信。
95.示例性计算机程序产品和计算机可读存储介质
96.除了上述方法和设备以外,本发明的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种实施例的方法中的步骤。
97.所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本发明实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
98.此外,本发明的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种实施例的方法中的步骤。
99.所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
100.以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,在本发明中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本发明的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本发明为必须采用上述具体的细节来实现。
101.本发明中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“如但不限于”,且可与其互换使用。
102.还需要指出的是,在本发明的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。
103.提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本发明。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本发明的范围。因此,本发明不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
104.为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本发明的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1