CN108900921A - 连麦直播方法、装置及存储介质 - Google Patents
连麦直播方法、装置及存储介质 Download PDFInfo
- Publication number
- CN108900921A CN108900921A CN201810802841.2A CN201810802841A CN108900921A CN 108900921 A CN108900921 A CN 108900921A CN 201810802841 A CN201810802841 A CN 201810802841A CN 108900921 A CN108900921 A CN 108900921A
- Authority
- CN
- China
- Prior art keywords
- data frame
- multimedia data
- live broadcast
- live
- queue
- 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.)
- Pending
Links
- 241000209140 Triticum Species 0.000 title claims abstract description 96
- 235000021307 Triticum Nutrition 0.000 title claims abstract description 96
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000012545 processing Methods 0.000 claims description 44
- 230000008569 process Effects 0.000 claims description 32
- 238000010899 nucleation Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 10
- 230000033001 locomotion Effects 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
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/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
-
- 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- 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/439—Processing of audio elementary 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种连麦直播方法、装置及存储介质,属于直播技术领域。所述方法包括:主播端采集直播过程中的第一多媒体数据帧,如果当前的直播状态为非连麦直播,则将第一多媒体数据帧添加至直播数据帧队列,如果当前的直播状态为连麦直播,主播端将第一多媒体数据帧和第二多媒体数据帧添加至直播数据帧队列。由于直播数据帧队列用于向直播服务器输出直播数据帧队列中的多媒体数据帧,因此,即使主播端当前的直播状态为连麦直播,主播端也与直播服务器保持连接,这样的话,当主播端由非连麦直播切换到连麦直播时,直播服务器向直播间内的观众端推送的音视频就不会出现断流现象,从而提高了直播间内的观众观看连麦直播的用户体验。
Description
技术领域
本发明涉及直播技术领域,特别涉及一种连麦直播方法、装置及存储介质。
背景技术
目前,为了吸引更多的观众观看直播间内的直播视频,主播端可以发起连麦请求,以与直播间内的某个观众端进行连麦直播。这样,当主播端与该观众端连麦之后,直播间将同时播放主播端采集的音视频和该观众端采集的音视频。
相关技术中,当主播端在直播过程中需要与某个观众端进行连麦直播时,主播端断开与直播服务器的连接,然后与连麦服务器进行连接,该观众端也与连麦服务器连接,主播端和该观众端均将各自采集的音视频发送给连麦服务器,由连麦服务器对主播端采集的音视频和该观众端采集的音视频进行合并,并将合并之后的音视频发送给直播服务器,由直播服务器将合并之后的音视频流推送给直播间内的其他观众端,以使直播间内的其他观众端可以同时播放主播端采集的音视频和该观众端采集的音视频。也即是,在主播端直播的过程中,当主播端由非连麦直播切换到连麦直播时,主播端由直播服务器切换到连麦服务器,以通过连麦服务器实现主播端与该观众端的连麦。
在上述方法中,当主播端需要进行连麦直播时,主播端需要先断开与直播服务器的连接,之后由连麦服务器将合并之后的音视频发送给直播服务器,这样的话,直播服务器向直播间内的其他观众端推送音视频可能出现断流现象,从而影响直播间内的观众观看连麦直播的用户体验。
发明内容
本发明实施例提供了一种连麦直播的方法、装置及存储介质,用于提高直播间内的观众观看连麦直播的用户体验。所述技术方案如下:
第一方面,提供了一种连麦直播的方法,应用于直播间内主播端,所述方法包括:
采集直播过程中的第一多媒体数据帧,所述第一多媒体数据帧为音频帧或视频帧;
如果当前的直播状态为非连麦直播,将所述第一多媒体数据帧添加至直播数据帧队列,所述直播数据帧队列用于向直播服务器输出直播数据帧队列中的多媒体数据帧;
如果当前的直播状态为连麦直播,获取第二多媒体数据数据帧,将所述第一多媒体数据帧和所述第二多媒体数据帧添加至所述直播数据帧队列,所述第二多媒体数据帧是连麦服务器发送给所述主播端的,且所述第二多媒体数据帧是与所述主播端进行连麦直播的连麦观众端采集并发送给所述连麦服务器的。
可选地,所述将所述第一多媒体数据帧和所述第二多媒体数据帧添加至所述直播数据帧队列,包括:
将所述第一多媒体数据帧和所述第二多媒体数据进行合并,并将合并之后的多媒体数据帧添加至所述直播数据帧队列;或者,
将所述第一多媒体数据帧和所述第二多媒体数据帧分别添加至所述直播数据帧队列。
可选地,所述采集第一多媒体数据帧之后,还包括:
确定直播状态变量,所述直播状态变量用于指示所述主播端的当前直播状态;
如果所述直播状态变量为第一直播状态变量,则确定所述当前的直播状态为非连麦直播;
如果所述直播状态变量为第二直播状态变量,则确定所述当前的直播状态为连麦直播。
可选地,所述方法还包括:
当检测到开始直播指令时,建立与所述直播服务器之间的连接,并将所述直播状态变量设置为所述第一直播状态变量;
在主播进行直播的过程中,当检测到连麦请求时,建立与所述连麦服务器之间的连接,并将所述直播状态变量设置为所述第二直播状态变量;
当检测到连麦结束请求时,断开与所述连麦服务器之间的连接,并将所述直播状态变量设置为所述第一直播状态变量。
可选地,所述方法还包括:
在每接收到的一个第二多媒体数据帧时,对接收到的第二多媒体数据帧进行解码,并将解码之后的第二多媒体数据帧添加至已解码数据帧队列;
播放所述已解码数据帧队列中的每个第二多媒体数据帧。
可选地,所述播放所述已解码数据帧队列中的每个第二多媒体数据帧之后,还包括:
将已播放的第二多媒体数据帧添加至已输出数据帧队列;
相应地,所述获取第二多媒体数据数据帧,包括:
从所述已输出数据帧队列中获取时间戳为距离当前时间最近的第二多媒体数据帧。
可选地,所述第一多媒体数据帧和第二多媒体数据帧为音频帧;
所述将所述第一多媒体数据帧和所述第二多媒体数据进行合并,包括:
对所述第一多媒体数据帧进行回声消除处理;
将处理之后的第一多媒体数据帧与所述第二多媒体数据帧进行混音处理;
对混音处理之后的多媒体数据帧进行编码,并为编码之后的多媒体数据帧添加时间戳,得到合并之后的多媒体数据帧。
可选地,所述第一多媒体数据帧和第二多媒体数据帧为视频帧;
所述将所述第一多媒体数据帧和所述第二多媒体数据进行合并,包括:
将所述第一多媒体数据帧和所述第二多媒体数据帧拼接成一个视频帧;
对拼接之后的视频帧进行编码,并为编码之后的视频帧添加时间戳,得到合并之后的多媒体数据帧。
可选地,所述采集直播过程中的第一多媒体数据帧之后,还包括:
如果当前的直播状态为连麦直播,对所述第一多媒体数据帧进行编码,并为编码之后的第一多媒体数据帧添加时间戳;
将添加时间戳之后的第一多媒体数据添加至待发送连麦数据帧队列中,所述待发送连麦数据帧队列用于向所述连麦服务器输出多媒体数据帧,由所述连麦服务器将所述待发送连麦数据帧队列中的多媒体数据帧发送给所述连麦观众端。
可选地,所述第一多媒体数据帧为视频帧;
所述采集直播过程中的第一多媒体数据帧之后,还包括:
播放所述第一多媒体数据帧。
第二方面,提供了一种连麦直播方法,应用于直播服务器,所述方法包括:
接收主播端通过直播数据帧队列发送的多媒体数据帧,所述主播端在连麦直播状态和非连麦直播状态时均向所述直播数据帧队列添加多媒体数据帧;
将接收到的多媒体数据帧推流给直播间内的各个观众端。
可选地,当主播端的直播状态为连麦直播时,所述接收到的多媒体数据帧是所述主播端将采集的第一多媒体数据帧和获取的第二多媒体数据帧进行合并之后的多媒体数据帧,所述第二多媒体数据帧是连麦服务器发送给所述主播端的,且所述第二多媒体数据帧是与所述主播端进行连麦直播的连麦观众端采集并发送给所述连麦服务器的。
可选地,当主播端的直播状态为连麦直播时,所述接收到的多媒体数据帧是所述主播端采集的第一多媒体数据帧和获取的第二多媒体数据帧;
所述将接收到的多媒体数据帧推流给直播间内的各个观众端,包括:
将所述第一多媒体数据帧和所述第二多媒体数据进行合并,并将合并之后的多媒体数据帧推流给所述直播间内的各个观众端。
第三方面,提供一种连麦直播装置,应用于直播间内主播端,所述装置包括:
采集模块,用于采集直播过程中的第一多媒体数据帧,所述第一多媒体数据帧为音频帧或视频帧;
第一添加模块,用于如果当前的直播状态为非连麦直播,将所述第一多媒体数据帧添加至直播数据帧队列,所述直播数据帧队列用于向直播服务器输出直播数据帧队列中的多媒体数据帧;
第二添加模块,用于如果当前的直播状态为连麦直播,获取第二多媒体数据数据帧,将所述第一多媒体数据帧和所述第二多媒体数据帧添加至所述直播数据帧队列,所述第二多媒体数据帧是连麦服务器发送给所述主播端的,且所述第二多媒体数据帧是与所述主播端进行连麦直播的连麦观众端采集并发送给所述连麦服务器的。
可选地,所述第二添加模块包括:
第一添加单元,用于将所述第一多媒体数据帧和所述第二多媒体数据进行合并,并将合并之后的多媒体数据帧添加至所述直播数据帧队列;或者,
第二添加单元,用于将所述第一多媒体数据帧和所述第二多媒体数据帧分别添加至所述直播数据帧队列。
可选地,所述装置还包括:
第一确定模块,用于确定直播状态变量,所述直播状态变量用于指示所述主播端的当前直播状态;
第二确定模块,用于如果所述直播状态变量为第一直播状态变量,则确定所述当前的直播状态为非连麦直播;
第三确定模块,用于如果所述直播状态变量为第二直播状态变量,则确定所述当前的直播状态为连麦直播。
可选地,所述装置还包括:
第一设置模块,用于当检测到开始直播指令时,建立与所述直播服务器之间的连接,并将所述直播状态变量设置为所述第一直播状态变量;
第二设置模块,用于在主播进行直播的过程中,当检测到连麦请求时,建立与所述连麦服务器之间的连接,并将所述直播状态变量设置为所述第二直播状态变量;
第三设置模块,用于当检测到连麦结束请求时,断开与所述连麦服务器之间的连接,并将所述直播状态变量设置为所述第一直播状态变量。
可选地,所述装置还包括:
解码模块,用于在每接收到的一个第二多媒体数据帧时,对接收到的第二多媒体数据帧进行解码,并将解码之后的第二多媒体数据帧添加至已解码数据帧队列;
第一播放模块,用于播放所述已解码数据帧队列中的每个第二多媒体数据帧。
可选地,所述装置还包括:
第三添加模块,用于将已播放的第二多媒体数据帧添加至已输出数据帧队列;
相应地,所述第二添加模块包括:
获取单元,用于从所述已输出数据帧队列中获取时间戳为距离当前时间最近的第二多媒体数据帧。
可选地,所述第一多媒体数据帧和第二多媒体数据帧为音频帧;
所述第一添加单元,具体用于:
对所述第一多媒体数据帧进行回声消除处理;
将处理之后的第一多媒体数据帧与所述第二多媒体数据帧进行混音处理;
对混音处理之后的多媒体数据帧进行编码,并为编码之后的多媒体数据帧添加时间戳,得到合并之后的多媒体数据帧。
可选地,所述第一多媒体数据帧和第二多媒体数据帧为视频帧;
所述第一添加单元,具体用于:
将所述第一多媒体数据帧和所述第二多媒体数据帧拼接成一个视频帧;
对拼接之后的视频帧进行编码,并为编码之后的视频帧添加时间戳,得到合并之后的多媒体数据帧。
可选地,所述装置还包括:
编码模块,用于如果当前的直播状态为连麦直播,对所述第一多媒体数据帧进行编码,并为编码之后的第一多媒体数据帧添加时间戳;
第四添加模块,用于将添加时间戳之后的第一多媒体数据添加至待发送连麦数据帧队列中,所述待发送连麦数据帧队列用于向所述连麦服务器输出多媒体数据帧,由所述连麦服务器将所述待发送连麦数据帧队列中的多媒体数据帧发送给所述连麦观众端。
可选地,所述第一多媒体数据帧为视频帧;
所述装置还包括:
第二播放模块,用于播放所述第一多媒体数据帧。
第四方面,提供一种连麦直播装置,应用于直播服务器,所述装置包括:
接收模块,用于接收主播端通过直播数据帧队列发送的多媒体数据帧,所述主播端在连麦直播状态和非连麦直播状态时均向所述直播数据帧队列添加多媒体数据帧;
推流模块,用于将接收到的多媒体数据帧推流给直播间内的各个观众端。
可选地,当主播端的直播状态为连麦直播时,所述接收到的多媒体数据帧是所述主播端将采集的第一多媒体数据帧和获取的第二多媒体数据帧进行合并之后的多媒体数据帧,所述第二多媒体数据帧是连麦服务器发送给所述主播端的,且所述第二多媒体数据帧是与所述主播端进行连麦直播的连麦观众端采集并发送给所述连麦服务器的。
可选地,当主播端的直播状态为连麦直播时,所述接收到的多媒体数据帧是所述主播端采集的第一多媒体数据帧和获取的第二多媒体数据帧;
所述推流模块,具体用于:
将所述第一多媒体数据帧和所述第二多媒体数据进行合并,并将合并之后的多媒体数据帧推流给所述直播间内的各个观众端。
第五方面,提供另一种连麦直播装置,应用于直播间内的主播端,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述第一方面所述的任一项方法的步骤。
第六方面,提供另一种连麦直播装置,应用于直播服务器,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述第二方面所述的任一项方法的步骤。
第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述第一方面所述的任一项方法的步骤。
第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述第二方面所述的任一项方法的步骤。
第九方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的任一方法的步骤。
第十方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面所述的任一方法的步骤。
第十一方面,提供一种连麦直播系统,所述系统包括主播端、直播服务器和连麦服务器,所述主播端用于执行上述第一方面任一所述的方法,所述直播服务器用于执行上述第二方面任一所述的方法。
本发明实施例提供的技术方案带来的有益效果是:
在本发明实施例中,主播端采集直播过程中的第一多媒体数据帧,如果当前的直播状态为非连麦直播,则将第一多媒体数据帧添加至直播数据帧队列,如果当前的直播状态为连麦直播,主播端获取第二多媒体数据数据帧,并将第一多媒体数据帧和第二多媒体数据帧添加至直播数据帧队列。由于直播数据帧队列用于向直播服务器输出直播数据帧队列中的多媒体数据帧,因此,即使主播端当前的直播状态为连麦直播,主播端也与直播服务器保持连接,这样的话,当主播端由非连麦直播切换到连麦直播时,直播服务器向直播间内的观众端推送的音视频就不会出现断流现象,从而提高了直播间内的观众观看连麦直播的用户体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种连麦直播系统示意图;
图2是本发明实施例提供的一种连麦直播方法流程图;
图3是本发明实施例提供的一种连麦直播装置框图;
图4是本发明实施例提供的另一种连麦直播装置框图;
图5是本发明实施例提供的一种终端结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种连麦直播的系统示意图,如图1所示,系统100包括主播端101、多个观众端102、直播服务器103和连麦服务器104,主播端101和多个观众端102在同一直播间内。
其中,当主播端在进行普通直播,也即是,非连麦直播时,如图1所示,主播端101与直播服务器103之间通过无线或有线方式以进行通信,每个观众端102也与直播服务器103之间通过无线或有线方式以进行通信。这种情况下,主播端101用于向直播服务器103发送音视频,直播服务器103用于将接收到的音视频推流给各个观众端102。
当主播端101与其中一个观众端102进行连麦直播时,为了便于说明,将该观众端102称为连麦观众端,如图1所示,主播端101仍与直播服务器103之间通过无线或有线方式以进行通信,多个观众端102中除连麦观众端之外的每个观众端102仍与直播服务器103之间通过无线或有线方式以进行通信。另外,如图1所示,主播端101和连麦观众端均与连麦服务器104连接。这种情况下,连麦服务器104用于向主播端101发送连麦观众端采集的音视频,并向连麦观众端发送主播端101采集的音视频。主播端101用于将主播端101采集的音视频和连麦观众端采集的音视频进行合并,并将合并之后的音视频发送给直播服务器103,由直播服务器103将合并之后的音视频推流给直播间内除连麦观众端之外的每个观众端。或者,主播端101用于将主播端101采集的音视频和连麦观众端采集的音视频发送给直播服务器103,由直播服务器103将主播端101采集的音视频和连麦观众端采集的音视频进行合成,并将合并之后的音视频推流给直播间内除连麦观众端之外的每个观众端。
由图1可知,无论当前主播端101是否在进行连麦直播,主播端101均与直播服务器103一直保持连接,这样,当主播端101由非连麦直播切换到连麦直播时,并不影响直播服务器103向直播间内各个观众端推送音视频,因此,直播服务器103向直播间内的观众端推送的音视频就不会出现断流现象,从而提高了直播间内的观众观看连麦直播的用户体验。
其中,直播服务器的主要目的是将接收到的音视频推流给直播间内的各个观众端,因此,对直播服务求的时延性要求较低。但是,在主播端与连麦观众端连麦之后,连麦服务器需要向主播端101发送连麦观众端采集的音视频,并向连麦观众端发送主播端101采集的音视频,因此,对连麦服务器的时延性要求较高。
另外,主播端101也可以称为推流客户端,本发明实施例在此不做具体限定。其中,主播端101和观众端102均可以为手机、台式电脑或笔记本电脑等具有音视频采集功能的终端。
图2是本发明实施例提供的一种连麦直播方法流程图,应用于图1所示的连麦直播系统中,如图2所示,该方法包括如下步骤:
步骤201:主播端采集直播过程中的第一多媒体数据帧,第一多媒体数据帧为音频帧或视频帧。
在主播进行直播的过程中,主播端与音视频采集设备连接,音视频采集设备用于采集第一多媒体数据,并通过音视频采集回调函数将采集的第一多媒体数据发送给主播端。
其中,音视频采集设备包括音频采集设备和视频采集设备。音频采集设备用于采集音频,并将采集的音频通过音频采集回调函数发送给主播端。视频采集设备用于采集视频,并将采集的视频通过视频采集回调函数发送给主播端。音频采集设备可以为麦克风等设备,视频采集设备可以为摄像机等设备。
另外,在本发明实施例中,当存在多个音视频采集设备与主播端连接时,主播可以自主选择由哪些音视频采集设备来采集直播过程中的音视频。比如,在一种可能的实现方式中,当主播启动主播端之后,主播端的显示界面上现有有设备列表,设备列表中包括多个设备选项,当主播端检测到针对设备列表中某个设备选项的选择操作时,将选择的设备选项对应的设备确定为音视频采集设备。
另外,主播端在采集到第一多媒体数据数据帧时,将为第一多媒体数据数据帧添加时间戳,该时间戳的参考时间可以为音频采集设备的底层采集系统中设置的时间,也可以为系统启动时间,本发明实施例在此不做具体限定。
在本发明实施例中,无论主播端当前是否进行连麦直播,主播端均向直播服务器推流,只不过在连麦直播和非连麦直播时推送的音视频不同而已,因此,当主播端在直播过程中采集到第一多媒体数据帧时,需先通过下述202确定当前的直播状态为连麦直播还是非连麦直播,以便执行相应的操作。
步骤202:主播端判断当前的直播状态为连麦直播还是非连麦直播。
为了便于主播端能够快速确定当前的直播状态,以避免影响主播端向直播服务器推流的效率,在主播端中设置有直播状态变量,主播端可以通过直播状态变量的具体值直接确定当前的直播状态。其中,直播状态变量用于指示主播端的当前直播状态。
因此,在一种可能的实现方式中,步骤202具体可以为:确定直播状态变量,如果直播状态变量为第一直播状态变量,则确定当前的直播状态为非连麦直播;如果直播状态变量为第二直播状态变量,则确定当前的直播状态为连麦直播。
其中,第一直播状态变量和第二直播状态变量是主播端在直播过程中设置的。具体地,主播端在直播过程中设置直播状态变量的是实现方式可以为:当主播端检测到开始直播指令时,建立与直播服务器之间的连接,并将直播状态变量设置为第一直播状态变量,在主播进行直播的过程中,当检测到连麦请求时,建立与连麦服务器之间的连接,并将直播状态变量设置为第二直播状态变量,当检测到连麦结束请求时,断开与连麦服务器之间的连接,并将直播状态变量设置为第一直播状态变量。
比如,直播状态变量为UniLiveStatus,第一直播状态变量为true,第二直播状态变量为false。在主播通过预设操作启动主播端之后,主播端的显示界面上显示有开始直播选项,当主播端检测到针对该开始直播选项的选择操作时,主播端确定检测到开始直播指令,此时主播端建立与直播服务器的连接,并将UniLiveStatus的值设置为true。在主播端非连麦直播的过程中,主播端的显示界面上显示有连麦选项,当主播通过预设操作选择该连麦选项时,主播端确定检测到连麦请求,此时,主播端建立与连麦服务器的连接,并将UniLiveStatus的值设置为false。在主播端进行连麦直播的过程中,主播端的显示界面显示有结束连麦选项,当主播通过预设操作选择该结束连麦选项时,主播端确定检测到结束连麦请求,此时,主播端断开与连麦服务器的连接,并将UniLiveStatus的值设置为false。这样的话,无论在什么时刻,当主播端采集到第一多媒体数据帧时,主播端可以直接根据UniLiveStatus的值为true还是false确定当前的直播状态,节省了主播端确定当前直播状态所需的时长。
当主播端确定当前的直播状态为非连麦直播时,可以通过下述步骤203向直播服务器推流,当主播端确定当前的直播状态为连麦直播时,可以通过下述步骤204和步骤205向直播服务器推流。
步骤203:如果当前的直播状态为非连麦直播,将第一多媒体数据帧添加至直播数据帧队列,直播数据帧队列用于向直播服务器输出直播数据帧队列中的多媒体数据帧。
在本发明实施例中,主播端向直播服务器推流是通过直播数据帧队列推流的。因此,如果当前的直播状态为非连麦直播,主播端直接将第一多媒体数据帧添加至直播数据帧队列,以便于直播服务器将直播数据帧队列中的多媒体数据帧推流给直播间内的各个观众端。
其中,主播端将第一多媒体数据帧添加至直播数据帧队列的实现方式可以为:主播端对第一多媒体数据帧进行编码,并为编码之后的第一多媒体数据帧添加时间戳,将添加时间戳之后的第一多媒体数据帧添加至直播数据帧队列。
另外,主播端是通过音视频发送线程向直播服务器输出直播数据帧队列中的多媒体数据帧,而音视频发送线程是在主播开始直播之后就启动的,并在主播下播之后停止的。也即是,当检测到开始直播指令时,主播端启动音视频发送线程,后续音视频发送线程一直用于向直播服务器推送直播数据帧队列中的多媒体数据帧,当检测到下播指令时,主播端停止音视频发送线程。
另外,由于第一多媒体数据帧为音频帧或视频帧,因此,直播数据帧队列可以为直播音频帧队列或直播视频帧队列。这种情况下,如果当前的直播状态为非连麦直播,且第一多媒体数据帧为音频帧,主播端则将第一多媒体数据帧添加至直播音频帧队列。如果当前的直播状态为非连麦直播,且第一多媒体数据帧为视频帧,主播端则将第一多媒体数据帧添加至直播视频帧队列。
需要说明的是,当主播端进行非连麦直播的过程中,当第一多媒体数据帧为视频帧时,主播端除了需要通过步骤203将第一多媒体数据帧发送给直播服务器,主播端还需显示采集到的第一多媒体数据帧。其中,主播端显示采集到的第一多媒体数据帧的实现方式可以为:主播端对第一视频帧进行渲染,并将渲染之后的第一多媒体数据帧显示在当前视频显示区域的全部区域中。
步骤204:如果当前的直播状态为连麦直播,获取第二多媒体数据数据帧,第二多媒体数据帧是连麦服务器发送给主播端的,且第二多媒体数据帧是与主播端进行连麦直播的连麦观众端采集并发送给连麦服务器的。
在本发明实施例中,为了保证直播间内的观众看到的连麦音视频是主播端的主播已经查看过的,主播端是在已经播放的连麦观众端发送的音视频中获取第二多媒体数据的。其中,主播端播放连麦观众端发送的音视频的实现方式可以为:在主播端每接收到的一个第二多媒体数据帧时,对接收到的第二多媒体数据帧进行解码,并将解码之后的第二多媒体数据帧添加至已解码数据帧队列,播放已解码数据帧队列中的每个第二多媒体数据帧。这种情况下,主播端在播放已解码数据帧队列中的每个第二多媒体数据帧之后,将已播放的第二多媒体数据帧添加至已输出数据帧队列。相应地,主播端获取第二多媒体数据数据帧的实现方式可以为:从已输出数据帧队列中获取时间戳为距离当前时间最近的第二多媒体数据帧。
由于第二多媒体数据帧可以为音频帧或视频帧,相应地,已解码数据帧队列包括已解码音频帧队列或已解码视频帧队列,已输出数据帧队列包括已输出视频帧队列或已输出视频帧队列。下面分两种情况分别说明:
当第一多媒体数据帧和第二多媒体数据帧均为音频帧时,在主播端开始连麦直播之后,在主播端每接收到一个第二多媒体数据帧时,对接收到的第二多媒体数据帧进行解码,并将解码之后的第二多媒体数据帧添加至已解码音频帧队列,播放已解码音频帧队列中的每个第二多媒体数据帧,将已播放的第二多媒体数据帧添加至已输出音频帧队列,当主播端采集到第一多媒体数据帧时,从已输出音频帧队列中获取时间戳为距离当前时间最近的第二多媒体数据帧。
当第一多媒体数据帧和第二多媒体数据帧均为音频帧时,在主播端开始连麦直播之后,在主播端每接收到一个第二多媒体数据帧时,对接收到的第二多媒体数据帧进行解码,并将解码之后的第二多媒体数据帧添加至已解码视频帧队列,播放已解码视频帧队列中的每个第二多媒体数据帧,将已播放的第二多媒体数据帧添加至已输出视频帧队列,当主播端采集到第一多媒体数据帧时,从已输出视频帧队列中获取时间戳为距离当前时间最近的第二多媒体数据帧。
需要说明的是,当第一多媒体数据帧和第二多媒体数据帧是视频帧时,当前主播端的视频显示区域需要同时显示主播端采集的视频帧和连麦观众端采集的视频帧,因此,此时播放已解码视频帧队列中的每个第二多媒体数据帧是指:将每个第二多媒体数据帧进行渲染,并将渲染之后的每个第二多媒体数据帧显示在视频显示区域的一半区域,比如左半部分区域。相应地,主播端采集直播过程中的第一多媒体数据帧之后,还需播放第一多媒体数据帧。其中,主播端播放第一多媒体数据帧是指:主播端将第一多媒体数据帧进行渲染,并将渲染之后的第一多媒体数据数据帧显示在视频显示区域的一半区域,比如右半部分区域。
其中,由于当前时间采集的第一多媒体数据帧的分辨率通常大于当前视频显示区域的一半区域的分辨率,因此,主播端将第一多媒体数据帧进行渲染之后,还需对第一多媒体数据帧进行像素处理,以使像素处理之后的第一多媒体数据帧的分辨率和当前视频显示区域的一半区域的分辨率相当。其中,在一种可能的实现方式中,对第一多媒体数据帧进行处理可以为:将第一多媒体数据帧从横方向上截取,保留第一多媒体数据帧中间部分。比如,采集到的第一多媒体数据帧的分辨率为640*480,由于主播的头像通常位于视频帧的正中间,因此,可以对第一多媒体数据帧的左边缘和右边缘进行截取,得到中间分辨率为320*480的第一多媒体数据。在另一种可能的实现方式中,对第一多媒体数据帧进行像素处理还可以为:对第一多媒体数据帧进行缩放,以使缩放之后的第一多媒体数据帧的分辨率和当前视频显示区域的一半区域的分辨率相当,本发明实施例在此不再详细限定。
另外,当第二多媒体数据帧是视频帧时,连麦观众端发送的第二多媒体数据帧是已经经过像素处理之后的视频帧,因此,主播端在接收到第二多媒体数据帧时,可以直接播放第二多媒体数据帧。其中,连麦观众端对采集的第二多媒体数据帧进行像素处理的方式和主播端对采集的第一多媒体数据进行像素处理的方式基本相同,在此不再详细阐述。
可选地,连麦观众端在采集到第二多媒体数据帧时也可以不对第二多媒体数据进行像素处理,直接通过连麦服务器发送给主播端,这种情况下,主播端可以在播放第二多媒体数据帧之前根据当前的视频显示区域对第二多媒体数据帧进行像素处理,本发明实施例在此不做具体限定。
为了后续便于说明,在此对连麦直播的详细过程进行解释说明。在本发明实施例中,在主播端进行连麦直播的过程中,主播端需要执行三个操作,(1)接收并播放连麦观众端通过连麦服务器发送的音视频,(2)通过连麦服务器向连麦观众端发送当前采集的音视频,(3)将连麦观众端发送的音视频和主播端采集的音视频推流给直播服务器。
其中,操作(1)已在上述过程中进行了解释说明,在此不再详细说明。操作(3)将在下述步骤205中解释说明,在此先不展开阐述。操作(2)的实现方式可以为:在主播端采集到第一多媒体数据帧之后,如果当前的直播状态为连麦直播,对第一多媒体数据帧进行编码,并为编码之后的第一多媒体数据帧添加时间戳,将添加时间戳之后的第一多媒体数据添加至待发送连麦数据帧队列中,待发送连麦数据帧队列用于向连麦服务器输出多媒体数据帧,由连麦服务器将待发送连麦数据帧队列中的多媒体数据帧发送给连麦观众端。
其中,当第一多媒体数据帧为音频帧时,由于当前直播状态为连麦直播,因此,主播端采集到的音频中很有可能包括主播端播放的连麦观众端采集的音频,因此,在主播端采集到第一多媒体数据帧之后,如果当前的直播状态为连麦直播,对第一对媒体数据帧进行回声消除处理,然后再对第一多媒体数据帧进行编码,并为编码之后的第一多媒体数据帧添加时间戳,将添加时间戳之后的第一多媒体数据添加至待发送连麦音频帧队列中。
其中,对第一多媒体数据帧进行回声消除处理的实现方式为:在主播端已经播放的音频中获取播放时间戳与采集第一多媒体数据帧的时间戳相同的音频帧,然后从第一多媒体数据帧中消除获取的音频帧,以实现将第一多媒体数据帧中可能存在的属于主播端播放的音频消除。
当第一多媒体数据帧为视频帧时,由于当前直播状态为连麦直播,因此,连麦观众端也需同时显示主播端采集的视频帧和连麦观众端采集的视频帧,因此,在主播端采集到第一多媒体数据帧之后,如果当前的直播状态为连麦直播,先对第一多媒体数据帧进行像素处理,然后再对像素处理之后的第一多媒体数据帧进行编码,并为编码之后的第一多媒体数据帧添加时间戳,将添加时间戳之后的第一多媒体数据添加至待发送连麦音频帧队列中。
结合操作(1)可知,当第一多媒体数据帧为视频帧时,主播端在采集到第一多媒体数据帧时,先对第一多媒体数据帧进行像素处理,将像素处理之后的第二多媒体数据帧作为本端视频帧,然后在本端显示该本端视频帧,并将本端视频帧发送给连麦服务器。
步骤205:主播端将第一多媒体数据帧和第二多媒体数据帧添加至直播数据帧队列。
在本发明市实施例中,如果当前的直播状态为连麦直播,主播端需将第一多媒体数据帧和第二多媒体数据帧添加至直播数据帧队列,以避免直播服务器向直播间内的观众端推送的视频流出现断流现象。
其中,主播端将第一多媒体数据帧和第二多媒体数据帧添加至直播数据帧队列有两种实现方式,下面针对这两种实现方式分别展开说明。
第一种实现方式:将第一多媒体数据帧和第二多媒体数据进行合并,并将合并之后的多媒体数据帧添加至直播数据帧队列,以使直播服务器将合并之后的多媒体数据帧推流给直播间内的各个观众端。
由于第一多媒体数据帧和第二多媒体数据帧可以为音频帧,也可以为视频帧,因此,将第一多媒体数据帧和第二多媒体数据进行合并分以下两种情况介绍:
(1)当第一多媒体数据帧和第二多媒体数据帧为音频帧时,将第一多媒体数据帧和第二多媒体数据进行合并的实现方式可以为:对第一多媒体数据帧进行回声消除处理,将处理之后的第一多媒体数据帧与第二多媒体数据帧进行混音处理,对混音处理之后的多媒体数据帧进行编码,并为编码之后的多媒体数据帧添加时间戳,得到合并之后的多媒体数据帧。
结合步骤204的操作(2)可知,当第一多媒体数据帧和第二多媒体数据帧为音频帧时,当主播端采集到第一多媒体数据帧时,由于当前的直播状态为连麦直播,因此,主播端先对第一多媒体数据帧进行回声消除处理,之后,再将回声消除处理之后的第一多媒体数据帧发送给连麦观众端,并将回声消除处理之后的第一多媒体数据和步骤204中获取的第二多媒体数据帧进行合并操作。
(2)当第一多媒体数据帧和第二多媒体数据帧为视频帧时,将第一多媒体数据帧和第二多媒体数据进行合并的实现方式可以为:将第一多媒体数据帧和第二多媒体数据帧拼接成一个视频帧,对拼接之后的视频帧进行编码,并为编码之后的视频帧添加时间戳,得到合并之后的多媒体数据帧。
其中,将第一多媒体数据帧和第二多媒体数据帧拼接成一个视频帧是指:将像素处理之后的第一多媒体数据帧和第二多媒体数据帧拼接成一个视频帧。结合操作(1)和操作(2)可知,当第一多媒体数据帧和第二多媒体数据帧为视频帧时,当主播端采集到第一多媒体数据帧时,由于当前的直播状态为连麦直播,因此,主播端先对第一多媒体数据帧进行像素处理,之后,在主播端显示像素处理之后的第一多媒体数据帧,并将像素处理之后的第一多媒体数据帧通过连麦服务器发送给连麦观众端,另外还将像素处理之后的第一多媒体数据帧和步骤204中获取的第二多媒体数据帧进行合并操作。
另外,将合并之后的多媒体数据帧添加至直播数据帧队列之后,由音视频发送线程将直播数据帧队列中的多媒体数据帧发送给直播服务器。其中,当第一多媒体数据帧和第二多媒体数据帧均为音频帧时,主播端则将合成之后的多媒体数据帧添加至直播音频帧队列。当第一多媒体数据帧和第二多媒体数据帧均为视频帧时,主播端则将合成之后的多媒体数据帧添加至直播视频帧队列。
结合步骤203可知,在本申请中,在主播端开始直播到下播之间,主播端的音视频发送线程一直处于开启状态。在主播端开始直播到下播之间,主播端在每次采集到第一多媒体数据帧时,如果当前直播状态为连麦直播,则获取第二多媒体数据帧,并将第二多媒体数据帧和第一多媒体数据帧进行合并,然后将合并之后的多媒体数据帧添加至直播数据帧队列。如果当前的直播状态为非连麦直播,则直接将第一多媒体数据帧添加至直播数据帧队列。显然,无论当前主播端的直播状态为连麦直播还是非连麦直播,主播端都一直在向直播数据帧队列添加多媒体数据帧,这样可以保证音视频发送线程可以一直向直播服务器输出多媒体数据帧,从而避免主播端由非连麦直播切换到连麦直播时,直播间内播放的直播视频出现断流现象。
需要说明的是,当已输出数据帧队列为空时,步骤204中将无法获取到第二多媒体数据帧,此时,在步骤205中,如果第一多媒体数据帧和第二多媒体数据帧均为音频帧,当已输出音频帧队列为空时,则直接将第一多媒体数据帧发送给直播服务器。如果第一多媒体数据帧和第二多媒体数据帧均为视频帧,当已输出视频帧队列为空时,将预设图片作为第二多媒体数据帧,进行多媒体数据帧的合成操作。
第二种实现方式:主播端将第一多媒体数据帧和第二多媒体数据帧分别添加至直播数据帧队列,以使直播服务器对第一多媒体数据帧和第二多媒体数据帧进行合并,并将合并之后的多媒体数据帧推流给直播间内的各个观众端。
在第二种实现方式中,主播端是将第一多媒体数据帧和第二多媒体数据帧分别添加至直播数据帧队列的,为了便于直播服务器在接收到数据帧时可以确定哪些是第一多媒体数据帧,哪些是第二多媒体数据帧,主播端可以在发送第一多媒体数据帧和第二多媒体数据帧之前,为第一多媒体数据帧很添加第一类标记,为第二多媒体数据帧添加第二类标记,并为第一多媒体数据帧和第二多媒体数据帧添加相同的时间戳,以便于直播服务器能够从接收到的数据帧中获取需要合并的第一多媒体数据帧和第二多媒体数据帧。
步骤206:直播服务器接收主播端通过直播数据帧队列发送的多媒体数据帧,并将接收到的多媒体数据帧推流给直播间内的各个观众端。
由上述步骤203至步骤205可知,主播端在连麦直播状态和非连麦直播状态时均向直播数据帧队列添加多媒体数据帧,因此,只要主播端没有下播,那么直播服务器将一直接收到主播端通过直播数据帧队列发送的多媒体数据帧。
另外,由步骤205可知,当主播端的直播状态为连麦直播时,主播端向直播数据帧队列添加多媒体数据帧有两种实现方式,因此,相应地,步骤206也有以下两种实现方式:
针对步骤205中第一种实现方式,由于主播端是将第一多媒体数据帧和第二多媒体数据帧合并之后发送给直播服务器的,因此,直播服务器直接将接收到的多媒体数据帧推流给直播间的各个观众端,无需执行其他操作。
针对步骤205中第二种实现方式,由于主播端是直接将第一多媒体数据帧和第二多媒体数据帧分别添加到直播数据帧队列的,因此,直播服务器需将接收到的第一多媒体数据帧和第二多媒体数据进行合并,并将合并之后的多媒体数据帧推流给直播间内的各个观众端。其中,直播服务器将接收到的第一多媒体数据帧和第二多媒体数据进行合并,可以参考步骤205中主播端对第一多媒体数据帧和第二多媒体数据进行合并的过程,在此不再详细阐述。
需要说明的是,针对步骤205中第二种实现方式,由于主播端添加到直播数据帧队列中的多媒体数据帧有两类,因此,当直播服务器接收到携带第一类标记的多媒体数据帧时,也即接收到第一多媒体数据帧时,表明当前主播端的直播状态为连麦直播,此时直播服务器需从接收到的多媒体数据帧中获取携带第二类标记且时间戳与携带第一类标记的多媒体数据帧的时间戳相同的多媒体数据帧,也即获取到第二多媒体数据帧,然后再将第一多媒体数据帧和第二多媒体数据进行合并。
进一步地,当主播端检测到结束连麦请求时,主播端可以停止与连麦直播有关的线程,并清空与连麦直播有关的数据帧队列,比如已解码数据帧队列,已输出数据帧队列以及待发送连麦数据帧队列等。当主播端检测到下播请求时,主播端可以停止所有直播线程,比如,音视频发送线程等。同时,断开与直播服务器之间的连接,并清空所有数据帧队列,比如直播数据帧队列等。
在本发明实施例中,主播端采集直播过程中的第一多媒体数据帧,如果当前的直播状态为非连麦直播,则将第一多媒体数据帧添加至直播数据帧队列,如果当前的直播状态为连麦直播,主播端获取第二多媒体数据数据帧,并将第一多媒体数据帧和第二多媒体数据帧添加至直播数据帧队列。由于直播数据帧队列用于向直播服务器输出直播数据帧队列中的多媒体数据帧,因此,即使主播端当前的直播状态为连麦直播,主播端也与直播服务器保持连接,这样的话,当主播端由非连麦直播切换到连麦直播时,直播服务器向直播间内的观众端推送的音视频就不会出现断流现象,从而提高了直播间内的观众观看连麦直播的用户体验。
参见图3,本发明实施例提供了一种连麦直播装置框图,应用于直播间内主播端,如图3所示,该装置300包括:
采集模块301,用于采集直播过程中的第一多媒体数据帧,第一多媒体数据帧为音频帧或视频帧;
第一添加模块302,用于如果当前的直播状态为非连麦直播,将第一多媒体数据帧添加至直播数据帧队列,直播数据帧队列用于向直播服务器输出直播数据帧队列中的多媒体数据帧;
第二添加模块303,用于如果当前的直播状态为连麦直播,获取第二多媒体数据数据帧,将第一多媒体数据帧和第二多媒体数据帧添加至直播数据帧队列,第二多媒体数据帧是连麦服务器发送给主播端的,且第二多媒体数据帧是与主播端进行连麦直播的连麦观众端采集并发送给连麦服务器的。
可选地,第二添加模块303包括:
第一添加单元,用于将第一多媒体数据帧和第二多媒体数据进行合并,并将合并之后的多媒体数据帧添加至直播数据帧队列;或者,
第二添加单元,用于将第一多媒体数据帧和第二多媒体数据帧分别添加至直播数据帧队列。
可选地,装置300还包括:
第一确定模块,用于确定直播状态变量,直播状态变量用于指示主播端的当前直播状态;
第二确定模块,用于如果直播状态变量为第一直播状态变量,则确定当前的直播状态为非连麦直播;
第三确定模块,用于如果直播状态变量为第二直播状态变量,则确定当前的直播状态为连麦直播。
可选地,装置300还包括:
第一设置模块,用于当检测到开始直播指令时,建立与直播服务器之间的连接,并将直播状态变量设置为第一直播状态变量;
第二设置模块,用于在主播进行直播的过程中,当检测到连麦请求时,建立与连麦服务器之间的连接,并将直播状态变量设置为第二直播状态变量;
第三设置模块,用于当检测到连麦结束请求时,断开与连麦服务器之间的连接,并将直播状态变量设置为第一直播状态变量。
可选地,装置300还包括:
解码模块,用于在每接收到的一个第二多媒体数据帧时,对接收到的第二多媒体数据帧进行解码,并将解码之后的第二多媒体数据帧添加至已解码数据帧队列;
第一播放模块,用于播放已解码数据帧队列中的每个第二多媒体数据帧。
可选地,装置300还包括:
第三添加模块,用于将已播放的第二多媒体数据帧添加至已输出数据帧队列;
相应地,第二添加模块303包括:
获取单元,用于从已输出数据帧队列中获取时间戳为距离当前时间最近的第二多媒体数据帧。
可选地,第一多媒体数据帧和第二多媒体数据帧为音频帧;
第一添加单元,具体用于:
对第一多媒体数据帧进行回声消除处理;
将处理之后的第一多媒体数据帧与第二多媒体数据帧进行混音处理;
对混音处理之后的多媒体数据帧进行编码,并为编码之后的多媒体数据帧添加时间戳,得到合并之后的多媒体数据帧。
可选地,第一多媒体数据帧和第二多媒体数据帧为视频帧;
第一添加单元,具体用于:
将第一多媒体数据帧和第二多媒体数据帧拼接成一个视频帧;
对拼接之后的视频帧进行编码,并为编码之后的视频帧添加时间戳,得到合并之后的多媒体数据帧。
可选地,装置300还包括:
编码模块,用于如果当前的直播状态为连麦直播,对第一多媒体数据帧进行编码,并为编码之后的第一多媒体数据帧添加时间戳;
第四添加模块,用于将添加时间戳之后的第一多媒体数据添加至待发送连麦数据帧队列中,待发送连麦数据帧队列用于向连麦服务器输出多媒体数据帧,由连麦服务器将待发送连麦数据帧队列中的多媒体数据帧发送给连麦观众端。
可选地,第一多媒体数据帧为视频帧;
装置300还包括:
第二播放模块,用于播放第一多媒体数据帧。
在本发明实施例中,主播端采集直播过程中的第一多媒体数据帧,如果当前的直播状态为非连麦直播,则将第一多媒体数据帧添加至直播数据帧队列,如果当前的直播状态为连麦直播,主播端获取第二多媒体数据数据帧,并将第一多媒体数据帧和第二多媒体数据帧添加至直播数据帧队列。由于直播数据帧队列用于向直播服务器输出直播数据帧队列中的多媒体数据帧,因此,即使主播端当前的直播状态为连麦直播,主播端也与直播服务器保持连接,这样的话,当主播端由非连麦直播切换到连麦直播时,直播服务器向直播间内的观众端推送的音视频就不会出现断流现象,从而提高了直播间内的观众观看连麦直播的用户体验。
参见图4,本发明实施例提供了另一种连麦直播装置框图,应用于直播服务器,如图4所示,装置400包括:
接收模块401,用于接收主播端通过直播数据帧队列发送的多媒体数据帧,主播端在连麦直播状态和非连麦直播状态时均向直播数据帧队列添加多媒体数据帧;
推流模块402,用于将接收到的多媒体数据帧推流给直播间内的各个观众端。
可选地,当主播端的直播状态为连麦直播时,接收到的多媒体数据帧是主播端将采集的第一多媒体数据帧和获取的第二多媒体数据帧进行合并之后的多媒体数据帧,第二多媒体数据帧是连麦服务器发送给所述主播端的,且第二多媒体数据帧是与主播端进行连麦直播的连麦观众端采集并发送给连麦服务器的。
可选地,当主播端的直播状态为连麦直播时,所述接收到的多媒体数据帧是主播端采集的第一多媒体数据帧和获取的第二多媒体数据帧;
推流模块402,具体用于:
将第一多媒体数据帧和所述第二多媒体数据进行合并,并将合并之后的多媒体数据帧推流给直播间内的各个观众端。
在本发明实施例中,由于主播端在连麦直播状态和非连麦直播状态时均向直播数据帧队列添加多媒体数据帧,因此,即使主播端当前的直播状态为连麦直播,主播端也与直播服务器保持连接,这样的话,当主播端由非连麦直播切换到连麦直播时,直播服务器向直播间内的观众端推送的音视频就不会出现断流现象,从而提高了直播间内的观众观看连麦直播的用户体验。
需要说明的是:上述实施例提供的连麦直播装置在进行连麦直播时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的连麦直播装置与连麦直播方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5示出了本发明实施例提供的终端500的结构示意图。该终端500可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端500还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端500包括有:处理器501和存储器502。
处理器501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器501可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器501可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器501所执行以实现本申请中方法实施例提供的连麦直播方法。
在一些实施例中,终端500还可选包括有:外围设备接口503和至少一个外围设备。处理器501、存储器502和外围设备接口503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口503相连。具体地,外围设备包括:射频电路504、触摸显示屏505、摄像头506、音频电路507、定位组件508和电源509中的至少一种。
外围设备接口503可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器501和存储器502。在一些实施例中,处理器501、存储器502和外围设备接口503被集成在同一芯片或电路板上;在一些其他实施例中,处理器501、存储器502和外围设备接口503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路504用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路504包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路504还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏505用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏505是触摸显示屏时,显示屏505还具有采集在显示屏505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器501进行处理。此时,显示屏505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏505可以为一个,设置终端500的前面板;在另一些实施例中,显示屏505可以为至少两个,分别设置在终端500的不同表面或呈折叠设计;在再一些实施例中,显示屏505可以是柔性显示屏,设置在终端500的弯曲表面上或折叠面上。甚至,显示屏505还可以设置成非矩形的不规则图形,也即异形屏。显示屏505可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(OrganicLight-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件506用于采集图像或视频。可选地,摄像头组件506包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器501进行处理,或者输入至射频电路504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器501或射频电路504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路507还可以包括耳机插孔。
定位组件508用于定位终端500的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件508可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源509用于为终端500中的各个组件进行供电。电源509可以是交流电、直流电、一次性电池或可充电电池。当电源509包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端500还包括有一个或多个传感器510。该一个或多个传感器510包括但不限于:加速度传感器511、陀螺仪传感器512、压力传感器513、指纹传感器514、光学传感器515以及接近传感器516。
加速度传感器511可以检测以终端500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器511可以用于检测重力加速度在三个坐标轴上的分量。处理器501可以根据加速度传感器511采集的重力加速度信号,控制触摸显示屏505以横向视图或纵向视图进行用户界面的显示。加速度传感器511还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器512可以检测终端500的机体方向及转动角度,陀螺仪传感器512可以与加速度传感器511协同采集用户对终端500的3D动作。处理器501根据陀螺仪传感器512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器513可以设置在终端500的侧边框和/或触摸显示屏505的下层。当压力传感器513设置在终端500的侧边框时,可以检测用户对终端500的握持信号,由处理器501根据压力传感器513采集的握持信号进行左右手识别或快捷操作。当压力传感器513设置在触摸显示屏505的下层时,由处理器501根据用户对触摸显示屏505的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器514用于采集用户的指纹,由处理器501根据指纹传感器514采集到的指纹识别用户的身份,或者,由指纹传感器514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器514可以被设置终端500的正面、背面或侧面。当终端500上设置有物理按键或厂商Logo时,指纹传感器514可以与物理按键或厂商Logo集成在一起。
光学传感器515用于采集环境光强度。在一个实施例中,处理器501可以根据光学传感器515采集的环境光强度,控制触摸显示屏505的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏505的显示亮度;当环境光强度较低时,调低触摸显示屏505的显示亮度。在另一个实施例中,处理器501还可以根据光学传感器515采集的环境光强度,动态调整摄像头组件506的拍摄参数。
接近传感器516,也称距离传感器,通常设置在终端500的前面板。接近传感器516用于采集用户与终端500的正面之间的距离。在一个实施例中,当接近传感器516检测到用户与终端500的正面之间的距离逐渐变小时,由处理器501控制触摸显示屏505从亮屏状态切换为息屏状态;当接近传感器516检测到用户与终端500的正面之间的距离逐渐变大时,由处理器501控制触摸显示屏505从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图5中示出的结构并不构成对终端500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本发明实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行上述实施例提供的连麦直播方法。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的连麦直播方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (27)
1.一种连麦直播方法,其特征在于,应用于直播间内主播端,所述方法包括:
采集直播过程中的第一多媒体数据帧,所述第一多媒体数据帧为音频帧或视频帧;
如果当前的直播状态为非连麦直播,将所述第一多媒体数据帧添加至直播数据帧队列,所述直播数据帧队列用于向直播服务器输出直播数据帧队列中的多媒体数据帧;
如果当前的直播状态为连麦直播,获取第二多媒体数据数据帧,将所述第一多媒体数据帧和所述第二多媒体数据帧添加至所述直播数据帧队列,所述第二多媒体数据帧是连麦服务器发送给所述主播端的,且所述第二多媒体数据帧是与所述主播端进行连麦直播的连麦观众端采集并发送给所述连麦服务器的。
2.如权利要求1所述的方法,其特征在于,所述将所述第一多媒体数据帧和所述第二多媒体数据帧添加至所述直播数据帧队列,包括:
将所述第一多媒体数据帧和所述第二多媒体数据进行合并,并将合并之后的多媒体数据帧添加至所述直播数据帧队列;或者,
将所述第一多媒体数据帧和所述第二多媒体数据帧分别添加至所述直播数据帧队列。
3.如权利要求1或2所述的方法,其特征在于,所述采集第一多媒体数据帧之后,还包括:
确定直播状态变量,所述直播状态变量用于指示所述主播端的当前直播状态;
如果所述直播状态变量为第一直播状态变量,则确定所述当前的直播状态为非连麦直播;
如果所述直播状态变量为第二直播状态变量,则确定所述当前的直播状态为连麦直播。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
当检测到开始直播指令时,建立与所述直播服务器之间的连接,并将所述直播状态变量设置为所述第一直播状态变量;
在主播进行直播的过程中,当检测到连麦请求时,建立与所述连麦服务器之间的连接,并将所述直播状态变量设置为所述第二直播状态变量;
当检测到连麦结束请求时,断开与所述连麦服务器之间的连接,并将所述直播状态变量设置为所述第一直播状态变量。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
在每接收到的一个第二多媒体数据帧时,对接收到的第二多媒体数据帧进行解码,并将解码之后的第二多媒体数据帧添加至已解码数据帧队列;
播放所述已解码数据帧队列中的每个第二多媒体数据帧。
6.如权利要求5所述的方法,其特征在于,所述播放所述已解码数据帧队列中的每个第二多媒体数据帧之后,还包括:
将已播放的第二多媒体数据帧添加至已输出数据帧队列;
相应地,所述获取第二多媒体数据数据帧,包括:
从所述已输出数据帧队列中获取时间戳为距离当前时间最近的第二多媒体数据帧。
7.如权利要求2所述的方法,其特征在于,所述第一多媒体数据帧和第二多媒体数据帧为音频帧;
所述将所述第一多媒体数据帧和所述第二多媒体数据进行合并,包括:
对所述第一多媒体数据帧进行回声消除处理;
将处理之后的第一多媒体数据帧与所述第二多媒体数据帧进行混音处理;
对混音处理之后的多媒体数据帧进行编码,并为编码之后的多媒体数据帧添加时间戳,得到合并之后的多媒体数据帧。
8.如权利要求2所述的方法,其特征在于,所述第一多媒体数据帧和第二多媒体数据帧为视频帧;
所述将所述第一多媒体数据帧和所述第二多媒体数据进行合并,包括:
将所述第一多媒体数据帧和所述第二多媒体数据帧拼接成一个视频帧;
对拼接之后的视频帧进行编码,并为编码之后的视频帧添加时间戳,得到合并之后的多媒体数据帧。
9.如权利要求1所述的方法,其特征在于,所述采集直播过程中的第一多媒体数据帧之后,还包括:
如果当前的直播状态为连麦直播,对所述第一多媒体数据帧进行编码,并为编码之后的第一多媒体数据帧添加时间戳;
将添加时间戳之后的第一多媒体数据添加至待发送连麦数据帧队列中,所述待发送连麦数据帧队列用于向所述连麦服务器输出多媒体数据帧,由所述连麦服务器将所述待发送连麦数据帧队列中的多媒体数据帧发送给所述连麦观众端。
10.如权利要求1所述的方法,其特征在于,所述第一多媒体数据帧为视频帧;
所述采集直播过程中的第一多媒体数据帧之后,还包括:
播放所述第一多媒体数据帧。
11.一种连麦直播方法,其特征在于,应用于直播服务器,所述方法包括:
接收主播端通过直播数据帧队列发送的多媒体数据帧,所述主播端在连麦直播状态和非连麦直播状态时均向所述直播数据帧队列添加多媒体数据帧;
将接收到的多媒体数据帧推流给直播间内的各个观众端。
12.如权利要求11所述的方法,其特征在于,当主播端的直播状态为连麦直播时,所述接收到的多媒体数据帧是所述主播端将采集的第一多媒体数据帧和获取的第二多媒体数据帧进行合并之后的多媒体数据帧,所述第二多媒体数据帧是连麦服务器发送给所述主播端的,且所述第二多媒体数据帧是与所述主播端进行连麦直播的连麦观众端采集并发送给所述连麦服务器的。
13.如权利要求11所述的方法,其特征在于,当主播端的直播状态为连麦直播时,所述接收到的多媒体数据帧是所述主播端采集的第一多媒体数据帧和获取的第二多媒体数据帧;
所述将接收到的多媒体数据帧推流给直播间内的各个观众端,包括:
将所述第一多媒体数据帧和所述第二多媒体数据进行合并,并将合并之后的多媒体数据帧推流给所述直播间内的各个观众端。
14.一种连麦直播装置,其特征在于,应用于直播间内主播端,所述装置包括:
采集模块,用于采集直播过程中的第一多媒体数据帧,所述第一多媒体数据帧为音频帧或视频帧;
第一添加模块,用于如果当前的直播状态为非连麦直播,将所述第一多媒体数据帧添加至直播数据帧队列,所述直播数据帧队列用于向直播服务器输出直播数据帧队列中的多媒体数据帧;
第二添加模块,用于如果当前的直播状态为连麦直播,获取第二多媒体数据数据帧,将所述第一多媒体数据帧和所述第二多媒体数据帧添加至所述直播数据帧队列,所述第二多媒体数据帧是连麦服务器发送给所述主播端的,且所述第二多媒体数据帧是与所述主播端进行连麦直播的连麦观众端采集并发送给所述连麦服务器的。
15.如权利要求14所述的装置,其特征在于,所述第二添加模块包括:
第一添加单元,用于将所述第一多媒体数据帧和所述第二多媒体数据进行合并,并将合并之后的多媒体数据帧添加至所述直播数据帧队列;或者,
第二添加单元,用于将所述第一多媒体数据帧和所述第二多媒体数据帧分别添加至所述直播数据帧队列。
16.如权利要求14或15所述的装置,其特征在于,所述装置还包括:
第一确定模块,用于确定直播状态变量,所述直播状态变量用于指示所述主播端的当前直播状态;
第二确定模块,用于如果所述直播状态变量为第一直播状态变量,则确定所述当前的直播状态为非连麦直播;
第三确定模块,用于如果所述直播状态变量为第二直播状态变量,则确定所述当前的直播状态为连麦直播。
17.如权利要求16所述的装置,其特征在于,所述装置还包括:
第一设置模块,用于当检测到开始直播指令时,建立与所述直播服务器之间的连接,并将所述直播状态变量设置为所述第一直播状态变量;
第二设置模块,用于在主播进行直播的过程中,当检测到连麦请求时,建立与所述连麦服务器之间的连接,并将所述直播状态变量设置为所述第二直播状态变量;
第三设置模块,用于当检测到连麦结束请求时,断开与所述连麦服务器之间的连接,并将所述直播状态变量设置为所述第一直播状态变量。
18.如权利要求14所述的装置,其特征在于,所述装置还包括:
解码模块,用于在每接收到的一个第二多媒体数据帧时,对接收到的第二多媒体数据帧进行解码,并将解码之后的第二多媒体数据帧添加至已解码数据帧队列;
第一播放模块,用于播放所述已解码数据帧队列中的每个第二多媒体数据帧。
19.如权利要求18所述的装置,其特征在于,所述装置还包括:
第三添加模块,用于将已播放的第二多媒体数据帧添加至已输出数据帧队列;
相应地,所述第二添加模块包括:
获取单元,用于从所述已输出数据帧队列中获取时间戳为距离当前时间最近的第二多媒体数据帧。
20.如权利要求15所述的装置,其特征在于,所述第一多媒体数据帧和第二多媒体数据帧为音频帧;
所述第一添加单元,具体用于:
对所述第一多媒体数据帧进行回声消除处理;
将处理之后的第一多媒体数据帧与所述第二多媒体数据帧进行混音处理;
对混音处理之后的多媒体数据帧进行编码,并为编码之后的多媒体数据帧添加时间戳,得到合并之后的多媒体数据帧。
21.如权利要求15所述的装置,其特征在于,所述第一多媒体数据帧和第二多媒体数据帧为视频帧;
所述第一添加单元,具体用于:
将所述第一多媒体数据帧和所述第二多媒体数据帧拼接成一个视频帧;
对拼接之后的视频帧进行编码,并为编码之后的视频帧添加时间戳,得到合并之后的多媒体数据帧。
22.如权利要求14所述的装置,其特征在于,所述装置还包括:
编码模块,用于如果当前的直播状态为连麦直播,对所述第一多媒体数据帧进行编码,并为编码之后的第一多媒体数据帧添加时间戳;
第四添加模块,用于将添加时间戳之后的第一多媒体数据添加至待发送连麦数据帧队列中,所述待发送连麦数据帧队列用于向所述连麦服务器输出多媒体数据帧,由所述连麦服务器将所述待发送连麦数据帧队列中的多媒体数据帧发送给所述连麦观众端。
23.如权利要求14所述的装置,其特征在于,所述第一多媒体数据帧为视频帧;
所述装置还包括:
第二播放模块,用于播放所述第一多媒体数据帧。
24.一种连麦直播装置,其特征在于,应用于直播服务器,所述装置包括:
接收模块,用于接收主播端通过直播数据帧队列发送的多媒体数据帧,所述主播端在连麦直播状态和非连麦直播状态时均向所述直播数据帧队列添加多媒体数据帧;
推流模块,用于将接收到的多媒体数据帧推流给直播间内的各个观众端。
25.如权利要求24所述的装置,其特征在于,当主播端的直播状态为连麦直播时,所述接收到的多媒体数据帧是所述主播端将采集的第一多媒体数据帧和获取的第二多媒体数据帧进行合并之后的多媒体数据帧,所述第二多媒体数据帧是连麦服务器发送给所述主播端的,且所述第二多媒体数据帧是与所述主播端进行连麦直播的连麦观众端采集并发送给所述连麦服务器的。
26.如权利要求24所述的装置,其特征在于,当主播端的直播状态为连麦直播时,所述接收到的多媒体数据帧是所述主播端采集的第一多媒体数据帧和获取的第二多媒体数据帧;
所述推流模块,具体用于:
将所述第一多媒体数据帧和所述第二多媒体数据进行合并,并将合并之后的多媒体数据帧推流给所述直播间内的各个观众端。
27.一种连麦直播系统,其特征在于,所述系统包括主播端、直播服务器和连麦服务器,所述主播端用于执行权利要求1至权利要求10任一所述的方法,所述直播服务器用于执行权利要求11至权利要求13任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810802841.2A CN108900921A (zh) | 2018-07-20 | 2018-07-20 | 连麦直播方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810802841.2A CN108900921A (zh) | 2018-07-20 | 2018-07-20 | 连麦直播方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108900921A true CN108900921A (zh) | 2018-11-27 |
Family
ID=64351941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810802841.2A Pending CN108900921A (zh) | 2018-07-20 | 2018-07-20 | 连麦直播方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108900921A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111445901A (zh) * | 2020-03-26 | 2020-07-24 | 北京达佳互联信息技术有限公司 | 音频数据获取方法、装置、电子设备及存储介质 |
CN111464829A (zh) * | 2020-05-14 | 2020-07-28 | 广州酷狗计算机科技有限公司 | 切换媒体数据的方法、装置、设备及存储介质 |
CN112019927A (zh) * | 2020-09-23 | 2020-12-01 | Oppo广东移动通信有限公司 | 视频直播方法、连麦设备、rtc媒体服务器及主播设备 |
CN114205633A (zh) * | 2020-08-31 | 2022-03-18 | 腾讯科技(深圳)有限公司 | 直播互动方法、装置、存储介质和电子设备 |
WO2022206185A1 (zh) * | 2021-04-02 | 2022-10-06 | 北京达佳互联信息技术有限公司 | 视频流处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254899A (zh) * | 2016-08-16 | 2016-12-21 | 网宿科技股份有限公司 | 一种直播连麦的控制方法和系统 |
CN106982381A (zh) * | 2017-03-31 | 2017-07-25 | 武汉斗鱼网络科技有限公司 | 首页推荐处理方法及装置 |
US20180124477A1 (en) * | 2016-11-01 | 2018-05-03 | Facebook, Inc. | Providing interactive elements with a live video presentation |
CN108076349A (zh) * | 2016-11-11 | 2018-05-25 | 铂渊信息技术(上海)有限公司 | 网络互动直播方法、系统及电子设备 |
-
2018
- 2018-07-20 CN CN201810802841.2A patent/CN108900921A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254899A (zh) * | 2016-08-16 | 2016-12-21 | 网宿科技股份有限公司 | 一种直播连麦的控制方法和系统 |
US20180124477A1 (en) * | 2016-11-01 | 2018-05-03 | Facebook, Inc. | Providing interactive elements with a live video presentation |
CN108076349A (zh) * | 2016-11-11 | 2018-05-25 | 铂渊信息技术(上海)有限公司 | 网络互动直播方法、系统及电子设备 |
CN106982381A (zh) * | 2017-03-31 | 2017-07-25 | 武汉斗鱼网络科技有限公司 | 首页推荐处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
孙业宝: "基于RTMP的高清流媒体直播点播封装技术的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111445901A (zh) * | 2020-03-26 | 2020-07-24 | 北京达佳互联信息技术有限公司 | 音频数据获取方法、装置、电子设备及存储介质 |
CN111445901B (zh) * | 2020-03-26 | 2023-10-03 | 北京达佳互联信息技术有限公司 | 音频数据获取方法、装置、电子设备及存储介质 |
CN111464829A (zh) * | 2020-05-14 | 2020-07-28 | 广州酷狗计算机科技有限公司 | 切换媒体数据的方法、装置、设备及存储介质 |
CN111464829B (zh) * | 2020-05-14 | 2022-02-22 | 广州酷狗计算机科技有限公司 | 切换媒体数据的方法、装置、设备及存储介质 |
CN114205633A (zh) * | 2020-08-31 | 2022-03-18 | 腾讯科技(深圳)有限公司 | 直播互动方法、装置、存储介质和电子设备 |
CN114205633B (zh) * | 2020-08-31 | 2024-03-08 | 腾讯科技(深圳)有限公司 | 直播互动方法、装置、存储介质和电子设备 |
CN112019927A (zh) * | 2020-09-23 | 2020-12-01 | Oppo广东移动通信有限公司 | 视频直播方法、连麦设备、rtc媒体服务器及主播设备 |
WO2022206185A1 (zh) * | 2021-04-02 | 2022-10-06 | 北京达佳互联信息技术有限公司 | 视频流处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111083507B (zh) | 连麦方法及系统、第一主播端、观众端及计算机存储介质 | |
CN108966008B (zh) | 直播视频回放方法及装置 | |
CN111372126B (zh) | 视频播放方法、装置及存储介质 | |
CN111147878B (zh) | 直播中的推流方法、装置及计算机存储介质 | |
CN108900859B (zh) | 直播方法及系统 | |
CN109348247B (zh) | 确定音视频播放时间戳的方法、装置及存储介质 | |
CN108093268B (zh) | 进行直播的方法和装置 | |
CN109874043B (zh) | 视频流发送方法、播放方法及装置 | |
CN109413453B (zh) | 视频播放方法、装置、终端及存储介质 | |
CN108900921A (zh) | 连麦直播方法、装置及存储介质 | |
CN111586431B (zh) | 进行直播处理的方法、装置、设备及存储介质 | |
CN110996117B (zh) | 视频转码方法、装置、电子设备和存储介质 | |
CN111010588B (zh) | 直播处理方法、装置、存储介质及设备 | |
CN107896337B (zh) | 信息推广方法、装置及存储介质 | |
CN111464830A (zh) | 图像显示的方法、装置、系统、设备及存储介质 | |
CN108965711B (zh) | 视频处理方法及装置 | |
CN110958464A (zh) | 直播数据处理方法、装置、服务器、终端及存储介质 | |
CN111787347A (zh) | 直播时长计算方法、直播显示方法、装置及设备 | |
CN111083554A (zh) | 直播礼物显示的方法和装置 | |
CN107888975B (zh) | 视频播放方法、装置及存储介质 | |
CN113141538A (zh) | 媒体资源播放方法、装置、终端、服务器及存储介质 | |
CN111131272B (zh) | 流服务器的调度方法、装置及系统、计算设备、存储介质 | |
CN113141541B (zh) | 码率切换方法、装置、设备及存储介质 | |
CN112616082A (zh) | 视频预览方法、装置、终端及存储介质 | |
CN109714628B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181127 |