CN111050185B - 直播间连麦视频混流方法、存储介质、电子设备及*** - Google Patents
直播间连麦视频混流方法、存储介质、电子设备及*** Download PDFInfo
- Publication number
- CN111050185B CN111050185B CN201811199516.8A CN201811199516A CN111050185B CN 111050185 B CN111050185 B CN 111050185B CN 201811199516 A CN201811199516 A CN 201811199516A CN 111050185 B CN111050185 B CN 111050185B
- Authority
- CN
- China
- Prior art keywords
- wheat
- client
- flow
- microphone
- initiating
- 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
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000002156 mixing Methods 0.000 title claims abstract description 30
- 238000003860 storage Methods 0.000 title claims abstract description 29
- 241000209140 Triticum Species 0.000 claims abstract description 145
- 235000021307 Triticum Nutrition 0.000 claims abstract description 145
- 230000000977 initiatory effect Effects 0.000 claims abstract description 72
- 239000002131 composite material Substances 0.000 claims abstract description 39
- 238000012795 verification Methods 0.000 claims abstract description 14
- 238000004590 computer program Methods 0.000 claims description 21
- 239000003999 initiator Substances 0.000 claims description 8
- 238000011161 development Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000003139 buffering effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 240000000233 Melia azedarach Species 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000000644 propagated effect Effects 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
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010899 nucleation Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 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/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/233—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/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 or manipulating encoded video stream 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/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- 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/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/485—End-user interface for client configuration
- H04N21/4858—End-user interface for client configuration for modifying screen layout parameters, e.g. fonts, size of the windows
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种直播间连麦视频混流方法、存储介质、电子设备及***,涉及互联网移动端应用开发领域,该方法包括异步的混流步骤和推流步骤。混流步骤包括:连麦发起客户端和被连麦客户端从服务器获取连麦参数;连麦发起客户端和被连麦客户端对连麦参数进行参数校验,若连麦参数无误,则均向服务器发送混流数据;服务器接收连麦发起客户端和连麦接收客户端的混流数据后,生成合成数据流以及混流视频地址,并向混流视频地址发送合成数据流。推流步骤包括:观众客户端获取推流参数;观众客户端生成播放窗口,并向服务器请求混流视频地址;观众客户端在获取混流视频地址后,从混流视频地址获取合成数据流,并在连麦窗口播放合成数据流。
Description
技术领域
本发明涉及互联网移动端应用开发领域,具体涉及一种直播间连麦视频混流方法、存储介质、电子设备及***。
背景技术
随着手机移动端的快速发展,在直播中很多地方都需要使用连麦技术。所谓的连麦是主播和主播/观众之间进行语音通话或者视频通话,所有的用户可以看到主播和主播/观众的视频通话或者语音通话,这样的技术叫做连麦技术。主播与主播/观众语音,所有的用户可以看到主播的语音这样的技术叫做语音连麦,主播和主播/观众进行视频,所有的用户能看到主播和主播/观众的视频,这样的技术叫做视频连麦,在连麦的过程中需要客户端和服务端,需要客户端和播放器模块多方面的协作,如果三者不能很好的配合就会出现连麦过程建立缓慢,用户体验差的情况。
连麦技术中比较核心的技术就是音视频混流,混流的过程包括解码,混流,编码,和推流这四个步骤。混流这个环节包括做抖动缓冲,目的是把多路流进行画面对齐和音画同步,同时通过缓冲对抗网络抖动,以便混合成一路流以后能够达到良好的效果。混流本身是一个相对比较耗费计算资源的运算,也是一个比较耗费时间的环节。说它耗费计算资源是因为这个过程涉及到多路流的实时转码,这是比较耗费CPU的事情。说它耗费时间,是因为这个环节涉及到抖动缓冲,会造成一定的延迟。实时转码本身耗费的时间一般会低于一帧的时间,相对不算显著;但是根据网络情况的不同,抖动缓冲会消耗大概80毫秒到1秒的时间。在连麦互动直播中,抖动缓冲造成的延迟对观众的体验十分关键。
然而,在连麦直播混流之前,从主播发起连麦到主播建立连麦用户就需要等待比较久的时间,相对于抖动延迟,这种等待是更加影响用户体验的。因此,为了解决上述问题,亟须了一种优化的连麦视频流建立的方案,在保证连麦的建立的同时,能够更快更可靠。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种直播间连麦视频混流方法、存储介质、电子设备及***,能够更快更可靠保证连麦的建立供观众观看,提升用户的观看体验。
为达到以上目的,第一方面,本发明实施例提供一种直播间连麦视频混流方法,其包括异步的混流步骤和推流步骤:
所述混流步骤包括:
连麦发起客户端和被连麦客户端从服务器获取连麦参数,所述连麦参数包括:当前直播间ID、连麦发起方ID、被连麦方ID;
连麦发起客户端和被连麦客户端对连麦参数进行参数校验,若所述连麦参数无误,则均向服务器发送混流数据;
所述服务器接收连麦发起客户端和连麦接收客户端的混流数据后,生成合成数据流以及混流视频地址,并向混流视频地址发送合成数据流;
所述推流步骤包括:
观众客户端获取推流参数,所述推流参数包括:连麦直播间ID、连麦发起方ID、连麦窗口参数;
观众客户端生成播放窗口,并向服务器请求混流视频地址;
观众客户端在获取混流视频地址后,从混流视频地址获取合成数据流,并在连麦窗口播放合成数据流。
作为一个可选的实施方案,还包括连麦发起步骤:
连麦发起客户端发起连麦请求;
服务器接收连麦请求并连麦匹配;
在完成连麦发起步骤后,执行所述混流步骤,在所述混流步骤完成前,执行所述推流步骤。
作为一个可选的实施方案,,在完成连麦发起步骤后进行同时执行所述混流步骤和所述推流步骤。
作为一个可选的实施方案,所述客户端对连麦参数进行参数校验具体包括以下步骤:
校验连麦发起方ID和被连麦方ID是否相同,若相等则报错,并终止连麦;
判断连麦参数是否存在为空值,若是则报错并终止连麦。
作为一个可选的实施方案,所述向服务器发送混流数据具体包括以下步骤:
客户端获取主动发起连麦的直播间的ID,被动接收连麦的直播间ID、发起连麦的直播间的客户端的类型、被动接收连麦的直播间的类型;
客户端将主动发起连麦的直播间的ID,被动接收连麦的直播间ID、发起连麦的直播间的客户端的类型、被动接收连麦的直播间的类型组成数组后,发送至服务器,服务器根据所述数组中的数据,对接受到的混流数据合成。
作为一个可选的实施方案,所述客户端、服务器以及观众客户端之间通过socket进行通信,并在php上实现向用户播放连麦视频。
作为一个可选的实施方案,所述连麦窗口参数包括:窗口坐标,窗口高度、窗口宽度。
第二方面,本发明实施例提供一种直播间连麦视频混流***,其包括相互独立的混流模块和推流模块:
所述混流模块用于:
从服务器获取连麦参数,所述连麦参数包括:当前直播间ID、连麦发起方ID、被连麦方ID;
对连麦参数进行参数校验,若所述连麦参数无误,则均向服务器发送混流数据;
接收连麦发起客户端和连麦接收客户端的混流数据后,生成合成数据流以及混流视频地址,并向混流视频地址发送合成数据流;
所述推流模块用于:
获取推流参数,所述推流参数包括:连麦直播间ID、连麦发起方ID、连麦窗口参数;
生成播放窗口,并向服务器请求混流视频地址;
在获取混流视频地址后,从混流视频地址获取合成数据流,并在连麦窗口播放合成数据流。
基于第二方面,作为一个可选的实施方式,所述***还包括:
连麦发起模块,其用于连麦发起客户端发起连麦请求;
匹配模块,其用于接收连麦请求并进行连麦匹配;
执行控制模块,其用于控制所述混流模块和推流模块,使混流模块未执行完之前开始执行推流模块。
基于第二方面,作为优选的实施方式,同时执行混流模块和推流模块。第三方面,本发明实施例还提供一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面实施例中的方法。
第四方面,本发明实施例还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面实施例中的方法。
与现有技术相比,本发明的优点在于:
(1)本发明一种直播间连麦视频混流方法、存储介质、电子设备及***将本应该按照次序进行的混流步骤和推流步骤独立化,并异步进行,使得从主播开始连麦到观众看到直播视频或者听到直播语音能够更加迅速。其中,混流步骤中生成混流视频地址,而推流步骤从混流视频地址中获取混流步骤中生成的合成数据流,保证了两个步骤是相互独立,且能够异步进行的,即在两个步骤独立运行时候,不会相互影响,而在在运行完成后,能够相互关联保证连麦的稳定、迅速的运行。
(2)本发明一种直播间连麦视频混流方法、存储介质、电子设备及***在连麦步骤发起步骤后,执行混流步骤,并在该混流步骤完成前,执行推流步骤,保证了两个步骤用时至少是部分重叠的,而本来应该顺序进行的步骤,在本发明中部分交叠后,相当于部分进行了并行,进而缩短了用户的等待时间。优选的,混流步骤和推流步骤同时进行,这样能够保证最大化的交叠,最大化的缩短用户的等待时间,提升用户体验
(3)本发明一种直播间连麦视频混流方法、存储介质、电子设备及***通过socket进行通信,并在php上实现向用户播放连麦视频能够相较于其他连麦方式更快,同时更加可靠。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面对实施例对应的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种直播间连麦视频混流方法中流程示意图;
图2为本发明一种直播间连麦视频混流***的结构示意图。
图中:1-混流模块,2-推流模块。
具体实施方式
以下结合附图对本发明的实施例作进一步详细说明。
本发明实施例提供一种直播间连麦视频混流方法、存储介质、电子设备及***,其通过将本应该逐步进行的连麦直播步骤进行了分割,分割得到能够异步进行的混流步骤和推流步骤,能够缩短观众端等待主播进行连麦后,等待连麦视频所需要的时间,提升了用户的体验。
为达到上述技术效果,本申请的总体思路如下:
异步的混流步骤和推流步骤:
所述混流步骤包括:
连麦发起客户端和被连麦客户端从服务器获取连麦参数,所述连麦参数包括:当前直播间ID、连麦发起方ID、被连麦方ID;
连麦发起客户端和被连麦客户端对连麦参数进行参数校验,若所述连麦参数无误,则均向服务器发送混流数据;
所述服务器接收连麦发起客户端和连麦接收客户端的混流数据后,生成合成数据流以及混流视频地址,并向混流视频地址发送合成数据流;
所述推流步骤包括:
观众客户端获取推流参数,所述推流参数包括:连麦直播间ID、连麦发起方ID、连麦窗口参数;
观众客户端生成播放窗口,并向服务器请求混流视频地址;
观众客户端在获取混流视频地址后,从混流视频地址获取合成数据流,并在连麦窗口播放合成数据流。
综上所述,本发明能够较大的缩短观众等待连麦视频的时间。在现有技术中,连麦直播完成需要逐步进行:连麦发起端、连麦接受端发出各自的视频、音频数据流给后台服务器,后台服务器在接受到这些数据流后,进行混流得到合成好的合成数据流,然后通知观众端开始初始化,准备播放视频,在观众端完成准备后,再向观众端发送合成的数据流。
本发明则将混流步骤和推流步骤进行的独立化,保证推流步骤和混流步骤能够在完成前相互之间互不影响,在两个步骤完成后,就能够实现连麦直播。而正是由于两个步骤相互之间独立进行,即可以异步进行,因此将两个步骤交叠进行,其交叠的部分就是能够相对缩短的时间。
对于两个步骤的独立化,本发明采用的方式是混流步骤获取所需的参数后,生成混流视频地址,并向混流视频地址发送合成数据流;而推流步骤在观众客户端完成播放窗口的生成后,从服务器获取混流视频地址,就可以进行拉流了。
为了更好的理解上述技术方案,下面结合具体实施方式进行详细的说明。
实施例一
如图1所示,本发明实施例提供一种直播间连麦视频混流方法,其包括:
异步的混流步骤和推流步骤:
所述混流步骤包括:
S10:连麦发起客户端和被连麦客户端从服务器获取连麦参数,所述连麦参数包括:当前直播间ID、连麦发起方ID、被连麦方ID;
S11:连麦发起客户端和被连麦客户端对连麦参数进行参数校验,若所述连麦参数无误,则均向服务器发送混流数据;
S12:所述服务器接收连麦发起客户端和连麦接收客户端的混流数据后,生成合成数据流以及混流视频地址,并向混流视频地址发送合成数据流;
在连麦直播中,首先需要进行的是主播之间的连麦,而本发明将主播之间的连麦进行独立化,保证其不会影响后续的推流步骤,使得两个步骤之间相对独立,能够异步的进行。
通过生成混路视频地址,而不是在混流完成后生成加载通知给观众客户端进行播放窗口的建立,保证了两个步骤能够异步的进行。在服务器接收到连麦发起客户端和被连麦客户端连麦使用的视频和音频后,其会生成混流视频地址并通过该混流视频地址发送合成数据流。
首先主播之间的连麦是含有连麦发起客户端和被连麦客户端,在确认了两者主从顺序之后,才能够对该连麦。因此需要在混流步骤中,需要进行数据的传输和数据的校验。而将连麦数据全部发送至服务器,由服务器进行一个一个的校验,并在校验合格后,再通知客户端发送连麦用的视频和音频,过于复杂。本发明直接将需要校验的数据发送给连麦发起客户端和被连麦客户端,由这两个客户度啊直接进行校验,并在校验完毕后直接进行发送混流需求的视频和音频,将会更加迅速。
需要说明的是,这里连麦发起客户端和被连麦客户端是发送视频流的客户端,其可以是两个主播使用的客户端,即两个主播之间进行连麦,传输视频和/或音频流给服务器进行混流。也可以是主播和其观众使用的客户端,即主播和其观众/粉丝进行连麦,传输视频和/或音频流给服务器进行混流。同时,对于被连麦的客户端的个数是可以多个的,为了达到连麦最快的效果,本申请优选一对一进行连麦,根据本申请,应该容易的得出一对多进行连麦的方案。
作为一个优选的实施方案,客户端对连麦参数进行参数校验具体包括以下步骤:
S111校验连麦发起方ID和被连麦方ID是否相同,若相等则报错,并终止连麦.
S112判断连麦参数是否存在为空值,若是则报错并终止连麦。
对连麦数据进行校验时,首先要保证不是主播自己和自己进行连麦。同时由于连麦对各个参数的需求较多,必须保证必要的参数不是缺损的,因此对数据进行空值校验。
作为另一个优选的实施方案,向服务器发送混流数据具体包括以下步骤:
客户端获取主动发起连麦的直播间的ID,被动接收连麦的直播间ID、发起连麦的直播间的客户端的类型、被动接收连麦的直播间的类型;
客户端将主动发起连麦的直播间的ID,被动接收连麦的直播间ID、发起连麦的直播间的客户端的类型、被动接收连麦的直播间的类型组成数组后,发送至服务器,服务器根据所述数组中的数据,对接受到的混流数据合成。
将混流需求的数据一一发送给服务器是可能部分丢失的,同时逐个发送以及确认也会造成连麦视频的合成变慢。而将混流所需的参数进行组合,得到数组通过数组一次性发送个服务器,能够简化客户端和服务器之间的交互,同时节省较多的时间。
所述推流步骤包括:
S20:观众客户端获取推流参数,所述推流参数包括:连麦直播间ID、连麦发起方ID、连麦窗口参数;
S21:观众客户端生成播放窗口,并向服务器请求混流视频地址;
S22:观众客户端在获取混流视频地址后,从混流视频地址获取合成数据流,并在连麦窗口播放合成数据流。
推流步骤和混流步骤异步进行,能够缩短直播间观众的等待时间。推流步骤相对于混流步骤独立,能够直接自行准备,并在获取混流视频地址后再自行拉取服务器生成的合成数据流。
具体的,其中连麦窗口参数包括:窗口坐标,窗口高度、窗口宽度。通过窗口的坐标,观众客户端能够了解播放窗口的实际位置,然后再通过窗口高度,窗口宽度将播放窗口建立起来。
需要说明的是,这里观众客户端是包括进行连麦的客户端以及观看直播间连麦的未进行连麦客户端。进行连麦的客户端需要从混流视频地址拉去合成数据流供连麦人员查看连麦是否正常进行,而对于观看直播间连麦的未进行连麦客户端,其拉去混流视频底子中的合成数据流则是供正常观看直播间的粉丝等等观众。
作为一个优选的实施方案,还包括连麦发起步骤:
连麦发起客户端发起连麦请求;
服务器接收连麦请求并连麦匹配;
在完成连麦发起步骤后,执行所述混流步骤,在所述混流步骤完成前,执行所述推流步骤。
混流步骤完成前,执行所述推流步骤能够保证两个步骤相互交叠,减少用户的等待连麦的直播视频、音频的时间。虽然两个步骤是异步进行的,但是其仍然可以再一个步骤完成后,再进行下一个,因此优选的,在连麦发起步骤完成后,执行步骤,并在混流步骤完成前,执行推流步骤,主动使得两个步骤至少部分是并行的,相对逐个进行更加节省时间。
进一步的,在完成连麦发起步骤后进行同时执行所述混流步骤和所述推流步骤。
同时执行所述混流步骤和所述推流步骤,能够保证两个步骤最大化的并行、交叠,能够节省最多的时间。不管混流步骤耗时长还是推流步骤耗时长,只要两个步骤是同时开始进行的,那么在两个步骤开始时候,已经开始并行了,并在另一个耗时较短的步骤完成后,才并行完毕,通过这样进行相关步骤,能够保证这两个步骤时长最长的并行,即耗时最短的步骤的执行时间是他们的并行时间,而这两个步骤总共的执行时间则是耗时最长的步骤的执行时间。最大化的并行后,节省的是并行的时间,及耗时最短的步骤的执行时间。最大化的提升了用户的体验。
作为一个优选的实施方案,客户端、服务器以及观众客户端之间通过socket进行通信,并在php上实现向用户播放连麦视频Socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。其能够保证客户端以及服务器之间通信的完整和迅速,php外文名:PHP:Hypertext Preprocessor,中文名:“超文本预处理器”语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。因此基于socket和php的速度快可以更快的建立拉流,并且更可靠。
基于同一发明构思,本申请提供实施例二,其具体实施方式如下。
实施例二
如图2所示,本发明实施例提供一种直播间连麦视频混流***,其包括相互独立的混流模块1和推流模块2:
所述混流模块1用于:
从服务器获取连麦参数,所述连麦参数包括:当前直播间ID、连麦发起方ID、被连麦方ID;
对连麦参数进行参数校验,若所述连麦参数无误,则均向服务器发送混流数据;
接收连麦发起客户端和连麦接收客户端的混流数据后,生成合成数据流以及混流视频地址,并向混流视频地址发送合成数据流;
所述推流模块2用于:
获取推流参数,所述推流参数包括:连麦直播间ID、连麦发起方ID、连麦窗口参数;
生成播放窗口,并向服务器请求混流视频地址;
在获取混流视频地址后,从混流视频地址获取合成数据流,并在连麦窗口播放合成数据流。
作为一个可选的实施方式,所述***还包括:
连麦发起模块,其用于连麦发起客户端发起连麦请求;
匹配模块,其用于接收连麦请求并进行连麦匹配;
执行控制模块,其用于控制所述混流模块和推流模块,使混流模块未执行完之前开始执行推流模块。
作为一个优选的实施方式,同时执行混流模块和推流模块。前述方法实施例中的各种变化方式和具体实例同样适用于本实施例的***,通过前述方法的详细描述,本领域技术人员可以清楚的知道本实施例中***的实施方法以及这些方法相应的好处,所以为了说明书的简洁,在此不再详述。
基于同一发明构思,本申请提供实施例三。
实施例三
本发明第三实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的视频推荐方法,该方法包括异步的混流步骤和推流步骤:
所述混流步骤包括:
连麦发起客户端和被连麦客户端从服务器获取连麦参数,所述连麦参数包括:当前直播间ID、连麦发起方ID、被连麦方ID;
连麦发起客户端和被连麦客户端对连麦参数进行参数校验,若所述连麦参数无误,则均向服务器发送混流数据;
所述服务器接收连麦发起客户端和连麦接收客户端的混流数据后,生成合成数据流以及混流视频地址,并向混流视频地址发送合成数据流;
所述推流步骤包括:
观众客户端获取推流参数,所述推流参数包括:连麦直播间ID、连麦发起方ID、连麦窗口参数;
观众客户端生成播放窗口,并向服务器请求混流视频地址;
观众客户端在获取混流视频地址后,从混流视频地址获取合成数据流,并在连麦窗口播放合成数据流。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言-诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
基于同一发明构思,本申请提供实施例四。
实施例四
本发明第四实施例还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一实施例中的所有方法步骤或部分方法步骤。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
总体来说,本发明实施例提供的一种直播间连麦视频混流方法、存储介质、电子设备及***,通过将本应该逐步进行的连麦直播步骤进行了分割,分割得到能够异步进行的混流步骤和推流步骤,能够缩短观众端等待主播进行连麦后,等待连麦视频所需要的时间,提升了用户的体验。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种直播间连麦视频混流方法,其特征在于,其包括异步的混流步骤和推流步骤:
所述混流步骤包括:
连麦发起客户端和被连麦客户端从服务器获取连麦参数,所述连麦参数包括:当前直播间ID、连麦发起方ID、被连麦方ID;
连麦发起客户端和被连麦客户端对连麦参数进行参数校验,若所述连麦参数无误,则连麦发起客户端以及被连麦客户端向服务器发送自身的混流数据;
所述服务器接收连麦发起客户端和连麦接收客户端的混流数据后,生成合成数据流以及混流视频地址,并向混流视频地址发送合成数据流;
所述混流步骤和推流步骤异步进行,所述推流步骤包括:
观众客户端获取推流参数,所述推流参数包括:连麦直播间ID、连麦发起方ID、连麦窗口参数;
观众客户端生成播放窗口,并向服务器请求混流视频地址;
观众客户端在获取混流视频地址后,从混流视频地址获取合成数据流,并在连麦窗口播放合成数据流;
还包括连麦发起步骤:
其中,所述连麦发起客户端发起连麦请求;
服务器接收连麦请求并连麦匹配;
在完成连麦发起步骤后,执行所述混流步骤,在所述混流步骤完成前,执行所述推流步骤;
在完成连麦发起步骤后,所述混流步骤和推流步骤同时开始进行。
2.如权利要求1所述的方法,其特征在于,所述客户端对连麦参数进行参数校验具体包括以下步骤:
校验连麦发起方ID和被连麦方ID是否相同,若相等则报错,并终止连麦;
判断连麦参数是否存在空值,若是则报错并终止连麦。
3.如权利要求1所述的方法,其特征在于,所述向服务器发送混流数据具体包括以下步骤:
客户端获取主动发起连麦的直播间的ID,被动接收连麦的直播间ID、发起连麦的直播间的客户端的类型、被动接收连麦的直播间的类型;
客户端将主动发起连麦的直播间的ID,被动接收连麦的直播间ID、发起连麦的直播间的客户端的类型、被动接收连麦的直播间的类型组成数组后,发送至服务器,服务器根据所述数组中的数据,对接受到的混流数据合成。
4.如权利要求1所述的方法,其特征在于:
所述客户端、服务器以及观众客户端之间通过socket进行通信,并在php上实现向用户播放连麦视频。
5.如权利要求1所述的方法,其特征在于,所述连麦窗口参数包括:窗口坐标,窗口高度、窗口宽度。
6.一种存储介质,该存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至5任一项所述的方法。
7.一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现权利要求1至5任一项所述的方法。
8.一种直播间连麦视频混流***,其特征在于,其包括相互独立的混流模块、推流模块和连麦发起模块:
所述混流模块用于:
连麦发起客户端和被连麦客户端从服务器获取连麦参数,所述连麦参数包括:当前直播间ID、连麦发起方ID、被连麦方ID;
连麦发起客户端和被连麦客户端对连麦参数进行参数校验,若所述连麦参数无误,则均向服务器发送混流数据;
服务器接收连麦发起客户端和连麦接收客户端的混流数据后,生成合成数据流以及混流视频地址,并向混流视频地址发送合成数据流;
所述推流模块用于:
获取推流参数,所述推流参数包括:连麦直播间ID、连麦发起方ID、连麦窗口参数;
观众客户端生成播放窗口,并向服务器请求混流视频地址;
观众客户端在获取混流视频地址后,从混流视频地址获取合成数据流,并在连麦窗口播放合成数据流;
连麦发起模块用于:
发起连麦请求;
服务器接收连麦请求并连麦匹配;
在完成连麦发起步骤后,执行混流步骤,在混流步骤完成前,执行推流步骤;
在完成连麦发起步骤后,所述混流步骤和推流步骤同时开始进行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811199516.8A CN111050185B (zh) | 2018-10-15 | 2018-10-15 | 直播间连麦视频混流方法、存储介质、电子设备及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811199516.8A CN111050185B (zh) | 2018-10-15 | 2018-10-15 | 直播间连麦视频混流方法、存储介质、电子设备及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111050185A CN111050185A (zh) | 2020-04-21 |
CN111050185B true CN111050185B (zh) | 2022-08-16 |
Family
ID=70230575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811199516.8A Active CN111050185B (zh) | 2018-10-15 | 2018-10-15 | 直播间连麦视频混流方法、存储介质、电子设备及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111050185B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111526386A (zh) * | 2020-05-06 | 2020-08-11 | 北京三体云时代科技有限公司 | 基于副混屏设备的数据传输方法、装置及数据传输*** |
CN113840170B (zh) * | 2020-06-23 | 2023-06-16 | 武汉斗鱼网络科技有限公司 | 连麦直播的方法及装置 |
CN111836074B (zh) * | 2020-07-23 | 2022-09-09 | 北京达佳互联信息技术有限公司 | 一种连麦直播方法、装置、电子设备及存储介质 |
CN112040259A (zh) * | 2020-08-28 | 2020-12-04 | 广州华多网络科技有限公司 | 一种连麦开播的方法、服务端、***、存储介质及设备 |
CN112135155B (zh) * | 2020-09-11 | 2022-07-19 | 上海七牛信息技术有限公司 | 音视频的连麦合流方法、装置、电子设备及存储介质 |
CN112291583B (zh) | 2020-10-29 | 2022-12-27 | 北京达佳互联信息技术有限公司 | 直播连麦方法、装置、服务器、终端及存储介质 |
CN112738638A (zh) * | 2020-12-25 | 2021-04-30 | 北京百度网讯科技有限公司 | 一种连麦直播方法、装置、设备、存储介质及产品 |
CN112738610A (zh) * | 2020-12-25 | 2021-04-30 | 北京达佳互联信息技术有限公司 | 多媒体数据的显示控制方法、装置、电子设备及存储介质 |
CN113473162B (zh) * | 2021-04-06 | 2023-11-03 | 北京沃东天骏信息技术有限公司 | 一种媒体流的播放方法、装置、设备和计算机存储介质 |
CN115484469B (zh) * | 2021-06-15 | 2024-01-09 | 北京字节跳动网络技术有限公司 | 一种连麦***、方法、装置、设备及存储介质 |
CN113810775B (zh) * | 2021-09-13 | 2023-04-07 | 上海哔哩哔哩科技有限公司 | 语音视频连线***和方法 |
CN114124911B (zh) * | 2021-11-25 | 2024-05-10 | 腾讯音乐娱乐科技(深圳)有限公司 | 直播回声的消除方法、计算机可读存储介质及电子设备 |
CN116962803A (zh) * | 2022-04-14 | 2023-10-27 | 北京字跳网络技术有限公司 | 直播音视频流的处理方法、装置、设备及介质 |
CN114928749B (zh) * | 2022-04-14 | 2024-05-28 | 上海哔哩哔哩科技有限公司 | 直播流切换方法、***及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103841353A (zh) * | 2014-02-24 | 2014-06-04 | 广州华多网络科技有限公司 | 视频交互方法、终端、服务器及*** |
CN106254899A (zh) * | 2016-08-16 | 2016-12-21 | 网宿科技股份有限公司 | 一种直播连麦的控制方法和*** |
CN106658205A (zh) * | 2016-11-22 | 2017-05-10 | 广州华多网络科技有限公司 | 直播间视频流合成控制方法、装置及终端设备 |
CN107027048A (zh) * | 2017-05-17 | 2017-08-08 | 广州市千钧网络科技有限公司 | 一种直播连麦及信息展示的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7542814B2 (en) * | 2004-06-01 | 2009-06-02 | Craig Barr | Home entertainment apparatus and method |
-
2018
- 2018-10-15 CN CN201811199516.8A patent/CN111050185B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103841353A (zh) * | 2014-02-24 | 2014-06-04 | 广州华多网络科技有限公司 | 视频交互方法、终端、服务器及*** |
CN106254899A (zh) * | 2016-08-16 | 2016-12-21 | 网宿科技股份有限公司 | 一种直播连麦的控制方法和*** |
CN106658205A (zh) * | 2016-11-22 | 2017-05-10 | 广州华多网络科技有限公司 | 直播间视频流合成控制方法、装置及终端设备 |
CN107027048A (zh) * | 2017-05-17 | 2017-08-08 | 广州市千钧网络科技有限公司 | 一种直播连麦及信息展示的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111050185A (zh) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111050185B (zh) | 直播间连麦视频混流方法、存储介质、电子设备及*** | |
CN111836074B (zh) | 一种连麦直播方法、装置、电子设备及存储介质 | |
CN112714330B (zh) | 基于连麦直播的礼物赠送方法、装置及电子设备 | |
CN111107441B (zh) | 一种连麦通信建立方法、存储介质、电子设备及*** | |
CN110267064B (zh) | 音频播放状态处理方法、装置、设备及存储介质 | |
CN110910860B (zh) | 线上ktv实现方法、装置、电子设备及存储介质 | |
CN111147362B (zh) | 多人即时通讯方法、***、装置及电子设备 | |
CN111028818B (zh) | 合唱方法、装置、电子设备和存储介质 | |
CN111163330A (zh) | 直播视频的渲染方法、装置、***、设备及存储介质 | |
CN112565802B (zh) | 直播交互方法、***、服务器及存储介质 | |
CN113225577A (zh) | 直播流处理方法、装置、***、电子设备及存储介质 | |
US20230051868A1 (en) | Livestreaming Interaction Method And Apparatus, Electronic Device, And Computer Readable Storage Medium | |
CN113365094A (zh) | 基于直播的推流数据处理方法、计算设备和存储介质 | |
CN112383794B (zh) | 直播方法、直播***、服务器和计算机存储介质 | |
CN114553839A (zh) | Rtc数据的处理方法以及装置 | |
CN113037751B (zh) | 创建音视频接收流的方法及*** | |
CN113691516A (zh) | 流媒体数据传输方法及装置、电子设备和存储介质 | |
CN112786070A (zh) | 音频数据处理方法、装置、存储介质与电子设备 | |
CN112201264A (zh) | 音频处理方法、装置、电子设备、服务器及存储介质 | |
CN112055227A (zh) | 云游戏交互方法、***、装置、存储介质与电子设备 | |
TWI697236B (zh) | 視訊會議影音共享方法 | |
CN113411636A (zh) | 连麦直播方法、装置、电子设备及计算机可读存储介质 | |
CN113747181A (zh) | 基于远程桌面的网络直播方法、直播***及电子设备 | |
CN112532719A (zh) | 信息流的推送方法、装置、设备及计算机可读存储介质 | |
CN112511884A (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 |