CN112019927B - 视频直播方法、连麦设备、直播系统及存储介质 - Google Patents
视频直播方法、连麦设备、直播系统及存储介质 Download PDFInfo
- Publication number
- CN112019927B CN112019927B CN202011009197.7A CN202011009197A CN112019927B CN 112019927 B CN112019927 B CN 112019927B CN 202011009197 A CN202011009197 A CN 202011009197A CN 112019927 B CN112019927 B CN 112019927B
- Authority
- CN
- China
- Prior art keywords
- media stream
- server
- microphone
- media
- format
- 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 77
- 230000003993 interaction Effects 0.000 claims description 51
- 241000209140 Triticum Species 0.000 claims description 44
- 235000021307 Triticum Nutrition 0.000 claims description 44
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 230000002452 interceptive effect Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000003796 beauty Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000006467 substitution 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/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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440218—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234309—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请公开了一种视频直播方法、连麦设备、RTC媒体服务器及主播设备,应用于视频技术领域,在连麦设备接收到主播设备发送的允许连麦指令后,连麦设备与主播设备连麦成功,连麦设备获取用户输入的第一媒体流,其中,第一媒体流的格式为原始格式,由于在连麦设备与主播设备互动时,为了保证互动的流畅度,对时延要求较高,连麦设备将第一媒体流通过低时延的RTC媒体服务器发送至所述主播设备进行互动,保证了互动的流畅度,连麦设备将第一媒体流通过RTC媒体服务器发送至转码服务器,转码服务器将第一媒体流从原始格式转换成预设格式,实现了低延时直播。
Description
技术领域
本申请涉及视频技术领域,更具体地,涉及一种视频直播方法、连麦设备、 RTC媒体服务器及主播设备。
背景技术
随着互联网技术的发展,利用互联网对会议、赛事、教学等现场实况进行视频直播愈发普遍。用户可通过视频直播观看现场的实况。
视频直播的主要方式是用户通过用户设备向直播服务器发起观看请求,直播服务器根据该观看请求将直播地址告知用户设备,用户设备根据直播地址加入播间,对现场实况进行观看。
影响视频直播质量的主要因素有,用户设备播放直播视频时的延迟,较高的延迟较为严重的影响到直播互动的效果,因此,控制用户设备播放直播视频时的延迟处于较低水平,显得尤为重要。
发明内容
鉴于上述问题,本申请提出了一种视频直播方法、连麦设备、RTC媒体服务器及主播设备,以降低直播的时延。
第一方面,本申请实施例提供了一种视频直播方法,应用于连麦设备,包括:在接收到主播设备发送的允许连麦指令后,获取用户输入的第一媒体流,其中,所述第一媒体流的格式为原始格式;将所述第一媒体流通过RTC媒体服务器发送至所述主播设备进行互动;将所述第一媒体流通过所述RTC媒体服务器发送至转码服务器,指示所述转码服务器将所述第一媒体流的格式从原始格式转换成预设格式,并将预设格式的第一媒体流通过RTMP媒体服务器发送至未连麦设备进行播放,其中,所述预设格式为可被所述未连麦设备解析的格式。
第二方面,本申请实施例提供了一种视频直播方法,应用于RTC媒体服务器,所述方法包括:接收连麦设备在接收到主播设备通过调度节点发送的允许连麦指令后,获取的用户输入的第一媒体流,其中,所述第一媒体流的格式为原始格式;将所述第一媒体流发送至所述主播设备进行互动;将所述第一媒体流发送至转码服务器,指示所述转码服务器将所述第一媒体流的格式从原始格式转换成预设格式,并将预设格式的第一媒体流通过RTMP媒体服务器发送至未连麦设备进行播放,其中,所述预设格式为可被所述未连麦设备解析的格式。
第三方面,本申请实施例提供了一种视频直播方法,应用于主播设备,包括:接收连麦设备发送的第一媒体流,其中,所述第一媒体流为所述连麦设备在接收到主播设备发送的允许连麦指令后获取的;获取主播响应所述第一媒体流输入的第四媒体流,其中,所述第四媒体流的格式为原始格式;
将所述第四媒体流通过RTC媒体服务器发送至所述连麦设备进行互动;将所述第四媒体流通过所述RTC媒体服务器发送至转码服务器,指示所述转码服务器将所述第四媒体流的格式从原始格式转换成预设格式,并将预设格式的第四媒体流通过RTMP媒体服务器发送至未连麦设备进行播放,其中,所述预设格式为可被所述未连麦设备解析的格式。
第四方面,本申请实施例提供了一种视频直播方法,应用于视频直播系统,所述视频直播系统包括:连麦设备、主播设备、RTC媒体服务器、转码服务器、RTMP媒体服务器以及未连麦设备;所述方法包括:所述连麦设备在接收到所述主播设备发送的允许连麦指令后,获取用户输入的第一媒体流,其中,所述第一媒体流的格式为原始格式;所述连麦设备将所述第一媒体流通过所述 RTC媒体服务器发送至所述主播设备进行互动;所述连麦设备将所述第一媒体流通过所述RTC媒体服务器发送至所述转码服务器;所述转码服务器将所述第一媒体流的格式从原始格式转换成预设格式,其中,所述预设格式为可被未连麦设备解析的格式;所述转码服务器将预设格式的第一媒体流通过所述 RTMP媒体服务器发送至所述未连麦设备进行播放。
第五方面,本申请实施例提供了一种连麦设备,包括:第一获取模块,用于在接收到主播设备发送的允许连麦指令后,获取用户输入的第一媒体流,其中,所述第一媒体流的格式为原始格式;第一互动模块,用于将所述第一媒体流通过RTC媒体服务器发送至所述主播设备进行互动;第一播放模块,用于将所述第一媒体流通过所述RTC媒体服务器发送至转码服务器,指示所述转码服务器将所述第一媒体流的格式从原始格式转换成预设格式,并将预设格式的第一媒体流通过RTMP媒体服务器发送至未连麦设备进行播放,其中,所述预设格式为可被所述未连麦设备解析的格式。
第六方面,本申请实施例提出了一种RTC媒体服务器,包括:第一接收模块,用于接收连麦设备在接收到主播设备通过调度节点发送的允许连麦指令后,获取的用户输入的第一媒体流,其中,所述第一媒体流的格式为原始格式;第二互动模块,用于将所述第一媒体流发送至所述主播设备进行互动;第二播放模块,用于将所述第一媒体流发送至转码服务器,指示所述转码服务器将所述第一媒体流的格式从原始格式转换成预设格式,并将预设格式的第一媒体流通过RTMP媒体服务器发送至未连麦设备进行播放,其中,所述预设格式为可被所述未连麦设备解析的格式。
第七方面,本申请实施例提出一种主播设备,包括:第二接收模块,用于接收连麦设备发送的第一媒体流,其中,所述第一媒体流为所述连麦设备在接收到主播设备发送的允许连麦指令后获取的;第二获取模块,用于获取主播响应所述第一媒体流输入的第四媒体流,其中,所述第四媒体流的格式为原始格式;转发模块,用于将所述第四媒体流通过RTC媒体服务器发送至所述连麦设备进行互动;第三播放模块,用于将所述第四媒体流通过所述RTC媒体服务器发送至转码服务器,指示所述转码服务器将所述第四媒体流的格式从原始格式转换成预设格式,并将预设格式的第四媒体流通过RTMP媒体服务器发送至未连麦设备进行播放,其中,所述预设格式为可被所述未连麦设备解析的格式。
第八方面,本申请实施例提供一种视频直播系统,包括:连麦设备、主播设备、RTC媒体服务器、转码服务器、RTMP媒体服务器以及未连麦设备;所述连麦设备,用于在接收到所述主播设备发送的允许连麦指令后,获取用户输入的第一媒体流,其中,所述第一媒体流的格式为原始格式;所述连麦设备,用于将所述第一媒体流通过所述RTC媒体服务器发送至所述主播设备进行互动;所述连麦设备,用于将所述第一媒体流通过所述RTC媒体服务器发送至所述转码服务器;所述转码服务器,用于将所述第一媒体流的格式从原始格式转换成预设格式,其中,所述预设格式为可被未连麦设备解析的格式;所述转码服务器,用于将预设格式的第一媒体流通过所述RTMP媒体服务器发送至所述未连麦设备进行播放。
第九方面,本申请实施例提供一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述方法。
本申请提供了一种视频直播方法、连麦设备、RTC媒体服务器及主播设备,在连麦设备接收到主播设备发送的允许连麦指令后,连麦设备与主播设备连麦成功,连麦设备获取用户输入的第一媒体流,其中,第一媒体流的格式为原始格式,由于在连麦设备与主播设备互动时,为了保证互动的流畅度,对时延要求较高,连麦设备将第一媒体流通过低时延的RTC媒体服务器发送至所述主播设备进行互动,保证了互动的流畅度,另外,连麦设备将第一媒体流通过RTC媒体服务器发送至转码服务器,转码服务器将第一媒体流从原始格式转换成预设格式,由于RTMP媒体服务器具有成本低,且RTMP媒体服务器在单个直播间可支持的观众数量较多,因此,转码服务器将预设格式的第一媒体流通过RTMP媒体服务器发送至未连麦设备进行播放,实现了直播成本低,且单个直播间可容纳的观众数量多。本申请既保证了互动时的时延低,有保证了在低资费的情况下在同一直播间容纳海量观众。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了一种基于RTC媒体服务器的视频直播系统示意图;
图2示出了一种基于RTMP媒体服务器的视频直播系统示意图;
图3示出了本申请实施例提供的视频直播系统示意图;
图4示出了本申请实施例提供的一种视频直播方法的时序图;
图5示出了本申请实施例提供的一种视频直播方法的流程图;
图6示出了本申请实施例提供的又一种视频直播方法的流程图;
图7示出了本申请实施例提供的另一种视频直播方法的流程图;
图8示出了本申请实施例提供的视频直播方法的步骤S300的子步骤流程示意图;
图9示出了本申请实施例提供的再一种视频直播方法的流程图;
图10示出了本申请实施例提供的又另一种视频直播方法的流程图;
图11示出了本申请实施例提供的又再一种视频直播方法的流程图;
图12示出了根据本申请一个实施例的连麦设备的框图;
图13示出了根据本申请一个实施例的RTC媒体服务器的框图;
图14示出了根据本申请一个实施例的主播设备的框图;
图15是本申请实施例的用于执行根据本申请实施例的视频直播方法的电子设备的框图;
图16是本申请实施例的用于保存或者携带实现根据本申请实施例的视频直播方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
随着互联网技术的发展,移动设备大规模普、流量的资费更加便宜、以及网络延时越来越低,在此背景下,视频直播逐渐兴起。利用互联网,用户通过用户设备向直播服务器发起观看请求,直播服务器根据该观看请求将直播地址告知用户设备,用户设备根据直播地址加入播间,观看会议、赛事、教学等视频直播。
实时通讯框架(Real-Time Communication,简称RTC)媒体服务器,是一种基于实时通讯框架的媒体服务器,可以在不同设备之间转发媒体流,实现不同设备之间进行语音或视频互动,基于RTC媒体服务器的上述功能,如下,提供了一种基于RTC媒体服务器的视频直播系统,图1示出了一种基于RTC 媒体服务器的视频直播系统示意图,请参阅图1,RTC媒体服务器的视频直播系统100包括:主播设备110、RTC媒体服务器120、连麦设备130以及未连麦设备140。
当主播利用主播设备110进行直播时,通过RTC媒体服务器120将主播设备110的媒体流转发至多个观众设备进行播放。在互动环节,当有观众通过其对应的观众设备向主播设备110发起连麦请求,且连麦请求通过后,确定该观众对应的观众设备作为连麦设备120。相应的,在多个观众设备中,除了连麦设备120外,其余的观众设备为未连麦设备140。主播设备110与连麦设备130之间互动的媒体流通过RTC媒体服务器120进行转发,同时,RTC媒体服务器120也将主播设备110与连麦设备130之间互动的媒体流转发至未连麦设备140进行播放。
另外,实时消息传输协议(Real Time Messaging Protocol,简称RTMP) 媒体服务器是一种基于实时消息传输协议的媒体服务器,也可以在不同设备之间转发媒体流,实现不同设备之间进行语音或视频互动。基于RTMP媒体服务器的上述功能,如下提供了一种基于RTMP媒体服务器的视频直播系统,图2示出了一种基于RTMP媒体服务器的视频直播系统示意图,请参阅图2, RTMP媒体服务器的视频直播系统200包括:主播设备210、RTMP媒体服务器220、连麦设备230以及未连麦设备240。
与基于RTC媒体服务器的视频直播系统100类似地,当主播利用主播设备210进行直播时,通过RTMP媒体服务器220将主播设备210的媒体流转发至多个观众设备进行播放。在互动环节,当有观众通过其对应的观众设备向主播设备210发起连麦请求,且连麦请求通过后,确定该观众对应的观众设备作为连麦设备230。相应的,在多个观众设备中,除了连麦设备230外,其余的观众设备为未连麦设备240。主播设备210与连麦设备230之间互动的媒体流通过RTMP媒体服务器220进行转发,同时,RTMP媒体服务器220也将主播设备210与连麦设备230之间互动的媒体流转发至未连麦设备240进行播放。
然而,发明人在研究中发现,利用图1中的RTC媒体服务器120进行视频直播时,虽然RTC媒体服务器120具有超低延时的特性,但是,在转发媒体流时对RTC媒体服务器120的中央处理器(Center Process Unit,简称CPU) 要求高,因此,消耗的带宽资源昂贵,且管理维护成本也相对较高。并且,在通过RTC媒体服务器120进行视频直播时,单个直播间支持的观众人数上限较小。
在研究中还发现,利用图2中的RTMP媒体服务器220进行直播时,由于RTMP媒体服务器220本身的特性,导致直播延时较高,在连麦观众与主播互动时,较高的时延导致互动不流畅,影响观众观看直播的体验。
针对上述技术问题,发明人经过长期的研究发现,并提出了本申请提供的视频直播方法、连麦设备、RTC媒体服务器及主播设备,其核心改进点在于,利用RTC媒体服务器的低延时性,转发主播设备与连麦设备之间互动的媒体流;利用RTMP媒体服务器维护费用低,且在单个直播间内RTMP媒体服务器支持的观众人数上限较大,将主播设备与连麦设备之间互动的媒体流转发至未连麦设备。保证了互动时,连麦设备与主播设备之间延时低、直播维护费用低、以及单个直播间可支持的观众人数多,实现高并发直播。
具体的,图3示出了本申请实施例提供的视频直播系统示意图,请参阅图 3,视频直播系统330包括:主播设备310、RTC媒体服务器320、转码服务器330、RTMP媒体服务器340、连麦设备350以及未连麦设备360。
由于RTC媒体服务器320与RTMP媒体服务器340维护成本不同,在直播时,两种媒体服务器的资费不同,相较于RTMP媒体服务器340而言,RTC 媒体服务器320的资费相对更高。主播通过主播设备310进行视频直播时,根据直播场景的互动是否频繁,选择对应的模式。本申请实施例的模式包括:RTC 媒体服务器模式、RTMP媒体服务器模式以及混合模式。
如果直播内容为视频会议,需要各个设备之间频繁互动,且参与视频会议的设备较少时,主播在直播前可以选择资费较高但时延较小的RTC媒体服务器模式。在RTC媒体服务器模式下直播时,主播设备与观众设备之间的媒体流均由RTC媒体服务器320转发,时延较小的RTC媒体服务器,保证了视频会议的流畅度。
如果直播内容为网络授课等主要通过主播讲解,观众收听,主播与观众之间互动不频繁时,主播在直播时可选择资费较低的RTMP媒体服务器模式。在RTMP媒体服务器模式下直播时,主播设备向RTMP媒体服务器340推送媒体流,媒体流例如文本流、视频流或音频流等,观众设备从RTMP媒体服务器340拉取媒体流进行观看,即使RTMP媒体服务器有相对较高的时延,但由于主播与观众的互动不频繁,也不影响观众观看视频直播时的流畅度。
如果直播内容为主播与观众之间互动频繁,且观众人数众多时,主播在直播时可选混合模式。在混合模式下,主播设备310与连麦设备350连麦互动时,通过RTC媒体服务器320转发主播设备310与连麦设备350之间互动的媒体流。并且,RTC媒体服务器320将主播设备310与连麦设备350之间互动的媒体流发送至转码服务器330进行转码后,由转码服务器330转码成未连麦设备360能解码观看的格式,转码服务器330再将转码后的媒体流发送至RTMP 媒体服务器340,未连麦设备360拉取转码后的媒体流,解析该媒体流后进行播放,观众可通过未连麦设备360观看视频直播。
在图3的视频直播系统的混合模式的基础上,本实施例提供了一种视频直播方法,图4示出了本申请实施例提供的一种视频直播方法的时序图,请参阅图4,包括:
步骤1、连麦设备发送请求连麦指令至主播设备。
在主播通过主播设备进行直播时,主播设备通过RTC媒体服务器推送媒体流,所有的观众设备通过RTMP媒体服务器拉取主播设备的媒体流播放直播视频,当有观众需要连麦时,为了便于区分该观众与观看视频的其余观众,确定该观众作为连麦观众,在连麦观众对应的连麦设备进行输入操作,连麦设备基于该输入操作生成请求连麦指令并发送至主播设备。其中,连麦设备可以为智能手机或电脑。当连麦设备为智能手机时,输入操作可以为基于智能手机触摸屏的触摸操作。当连麦设备为电脑时,输入操作可以为基于电脑键盘的输入操作。
需要说明的是,连麦观众可以为主播直播间的观众。也可以为其他直播间的主播,例如,不同的直播间的主播之间连麦竞技。
步骤2、主播设备响应所述请求连麦指令,发送允许连麦指令至所述连麦设备。
当主播设备在接收到请求连麦指令后,在主播设备基于请求连麦指令,显示“请求连麦”,以及“同意”和“拒绝”两个输入框。当主播对“拒绝”输入框进行输入操作后,连麦设备与主播设备连麦失败,连麦设备继续从RTMP 媒体服务器拉取媒体流播放直播视频。当主播对“同意”输入框进行输入操作后,连麦设备与主播设备连麦成功,连麦设备可通过RTC媒体服务器与主播设互动,即连麦设备可通过RTC媒体服务器推送连麦设备的媒体流,也可通过RTC媒体服务器拉取主播设备的媒体流。
步骤3、连麦设备在接收到所述主播设备发送的允许连麦指令后,获取用户输入的第一媒体流,其中,所述第一媒体流的格式为原始格式。
连麦设备在接收到允许连麦指令后,通过连麦设备的摄像头采集连麦观众的视频信息,通过连麦设备的拾音头或麦克风等拾音装置采集连麦观众的声音信息,根据连麦观众的视频信息以及声音信息获得第一媒体流。
步骤4、所述连麦设备发送所述第一媒体流至RTC媒体服务器。
由于采集到的第一媒体流的数据量可能较大,为了节约传输过程中的网络资源以及保存时的内存资源,可在传输至RTC媒体服务器后,由RTC媒体服务器对第一媒体流进行压缩编码,以压缩第一媒体流的数据量。
可选的,RTC媒体服务器采用可分层视频编解码(Scaled Video Coding,简称SVC),将第一媒体流编码成多个分辨率或者帧速率层,使得编码后的第一媒体流适用于在不同链路层进行传输,以及在不同终端设备上进行播放。其中,在不同的终端设备上进行播放,可以理解为,当终端设备上要求的清晰度较高时,将多个分辨率中高分辨率的第一媒体流转发至该终端设备进行播放。相应的,当终端设备上要求的清晰度较低时,将多个分辨率中低分辨率的第一媒体流转发至该终端设备进行播放。
步骤5、所述RTC媒体服务器将所述第一媒体流发送至所述主播设备进行互动。
为了保证连麦观众与主播互动的及时性,降低时延,通过时延低的RTC 媒体服务器先将连麦设备的第一媒体流传输至主播设备,主播设备解析第一媒体流后对第一媒体流的视频信息和音频信息进行播放,根据该视频信息与音频信息进行互动,主播设备接收主播互动时输入的媒体流后,将主播的媒体流推送至RTC媒体服务器。
在保证主播设备与连麦设备之间互动的及时性,现将第一媒体流通过RTC 媒体服务器发送至主播设备后,再将第一媒体流通过RTC媒体服务器按照转码服务器、RTMP媒体服务器的顺序发送至未连麦设备进行播放,具体如下述步骤6-步骤10所示。
步骤6、所述RTC媒体服务器将所述第一媒体流发送至转码服务器。
步骤7、所述转码服务器将所述第一媒体流的格式从原格式转换成预设格式,其中,所述预设格式为为可被未连麦设备解析的格式。
为了使第一媒体流能在RTMP媒体服务器上传输,或者在未连麦设备上进行播放,通过转码服务器将第一媒体流的格式从原格式转换成预设格式,预设格式的第一媒体流可以在RTMP媒体服务器上传输,也可以被未连麦设备解析。
步骤8、所述转码服务器发送预设格式的第一媒体流至RTMP媒体服务器。
步骤9、所述RTMP媒体服务器将所述预设格式的第一媒体流发送至未连麦设备。
步骤10、所述未连麦设备解析所述预设格式的第一媒体流,并解析后的第一媒体流进行播放。
通过转码服务器将第一媒体流转换成预设格式的第一媒体流后,可在 RTMP媒体服务器上传输,且通过资费较低,且支持观众数量多的RTMP媒体服务器将预设格式的第一媒体流传输至未连麦设备进行播放。
需要说明的是,步骤5与步骤6的顺序不分先后,可以互换,即先将第一媒体流发送至未连麦设备后发送至主播设备,或者先将第一媒体流发送至主播设备后发送至连麦设备均可。
如下,以视频直播方法应用于连麦设备进行说明,其中,连麦设备智能手机、平板电脑、电脑等,在此不做具体限制,图5示出了本申请实施例提供的一种视频直播方法的流程图,请参阅图5,下面将针对图5所示的流程进行详细的阐述,所述视频直播方法具体可以包括以下步骤:
连麦设备将请求连麦指令发送至所述主播设备;连麦设备接收所述主播设备发送的所述允许连麦指令,其中,所述允许连麦指令为所述主播设备响应所述请求连麦指令生成的。
在主播通过主播设备进行直播时,主播设备通过RTC媒体服务器推送媒体流,所有的观众设备通过RTMP媒体服务器拉取主播设备的媒体流播放直播视频,当连麦观众需要连麦时,连麦设备基于连麦观众输入操作生成请求连麦指令并发送至主播设备。当主播允许连麦后,主播设备响应请求连麦指令,发送允许连麦指令至连麦设备。
步骤S110、在接收到主播设备发送的允许连麦指令后,获取用户输入的第一媒体流,其中,所述第一媒体流的格式为原始格式。
可选地,连麦设备与主播设备之间的请求连麦指令以及允许连麦指令均可通过调度管理节点进行转发,即,连麦设备通过管理调度节点发送请求连麦指令至主播设备,同时,连麦设备也通过管理调度节点接收主播设备发送的允许连麦指令。
可选地,管理调度节点可以为单独的服务器节点,也可以为RTC媒体服务器组群中的服务器节点,在此不做具体限定。
其中,用户(即上述的连麦观众)输入的第一媒体流包括视频流和/或音频流。通过连麦设备的摄像头采集连麦观众的视频流。通过连麦设备的拾音头或麦克风等拾音装置采集连麦观众的音频流,为了保证直播时的音频质量,在拾音装置拾取连麦观众的声音时,用高采样频率拾取声音,能够保证采集的声音不失真;可以采用优化回声评估模型和噪音消除算法处理音频流,以降低回声、噪声、以及直播间的背景音乐与连麦观众之间的混音等。
步骤S120、将所述第一媒体流通过RTC媒体服务器发送至所述主播设备进行互动。
连麦设备在连麦之前,通过主播设备、RTC媒体服务器、转码服务器、 RTMP媒体服务器的第一媒体链路依次将主播的媒体流发送至连麦设备,可以理解的是,连麦设备直接通过RTMP媒体服务器拉取主播的媒体流进行播放,在连麦成功后,为了保证连麦观众与主播互动的及时性,降低时延,连麦观众从第一媒体链路切换成从主播设备、RTC媒体服务器的第二媒体链路获取主播的媒体流,可以理解的是,通过第二媒体链路,连麦设备直接从RTC媒体服务器拉取主播的媒体流,相应的,连麦设备通过第二媒体链路推送第一媒体流,即连麦设备通过时延低的RTC媒体服务器先将第一媒体流传输至主播设备,主播设备解析第一媒体流后对第一媒体流的视频信息和音频信息进行播放,根据该视频信息与音频信息进行互动,主播设备接收主播互动时输入的媒体流后,将主播的媒体流推送至RTC媒体服务器。
在一些实施方式中,RTC媒体服务器可以为单台服务器,即通过该单台服务器,实现主播设备与连麦设备之间的互动。
在另一些实施方式中,RTC媒体服务器可以为多台服务器组成的群组,在群组中确定第一RTC媒体服务器以及第二RTC媒体服务器,连麦设备、第一RTC媒体服务器、第二RTC媒体服务器以及主播设备依次通信连接。连麦设备将第一媒体流发送至第一RTC媒体服务器,第一RTC媒体服务器再通过第二RTC媒体服务器将第一媒体流发送至主播设备。其中,第一RTC媒体服务器为,在群组中与连麦设备距离最近的RTC媒体服务器,或者在群组中接收连麦设备的信号的能力最强的RTC媒体服务器。类似地,第二RTC媒体服务器为,在群组中与主播设备距离最近的RTC媒体服务器,或者在群组中接收主播设备的信号的能力最强的RTC媒体服务器。
步骤S130、将所述第一媒体流通过所述RTC媒体服务器发送至转码服务器,指示所述转码服务器将所述第一媒体流的格式从原始格式转换成预设格式,并将预设格式的第一媒体流通过RTMP媒体服务器发送至未连麦设备进行播放,其中,所述预设格式为可被所述未连麦设备解析的格式。
在一些实施方式中,RTC媒体服务器可以为单台服务器,连麦设备通过 RTC媒体服务器将第一媒体流发送至转码服务器。
在另一些实施方式中,RTC媒体服务器可以为多台服务器组成的群组,在群组中确定第一RTC媒体服务器以及第二RTC媒体服务器,连麦设备、第一RTC媒体服务器、第二RTC媒体服务器以及主播设备依次通信连接。连麦设备通过第一RTC媒体服务器将第一媒体流发送至第二RTC媒体服务器后,再由第二RTC媒体服务器转发至媒体服务器。
为了使第一媒体流能在RTMP媒体服务器上传输,或者在未连麦设备上进行播放,通过转码服务器将第一媒体流的格式从原格式转换成预设格式,预设格式的第一媒体流可以在RTMP媒体服务器上传输,也可以被未连麦设备解析。
在一些实施方式中,RTMP媒体服务器可以为单独的服务器,转码服务器将预设格式的第一媒体流发送至RTMP媒体服务器后,由RTMP媒体服务器将预设格式的第一媒体流转发至未连麦设备进行播放。
在另一些实施方式中,RTMP媒体服务器可以为服务器群组,该族群包括RTMP媒体服务器以及多个内容分发网络(Content Delivery Network,简称 CDN)节点,转码服务器将预设格式的第一媒体流发送至RTMP媒体服务器后,由RTMP媒体服务器将预设格式的第一媒体流转发至各个CDN节点,由每个CDN节点将预设格式的第一媒体流转发至每个CDN节点对应的未连麦设备进行播放。可以通过增设CDN的节点来提高单个直播间的可容纳的观众的数量。
本实施例提供的视频直播方法,应用于连麦设备,在连麦设备接收到主播设备发送的允许连麦指令后,连麦设备与主播设备连麦成功,连麦设备获取用户输入的第一媒体流,其中,第一媒体流的格式为原始格式,由于在连麦设备与主播设备互动时,为了保证互动的流畅度,对时延要求较高,连麦设备将第一媒体流通过低时延的RTC媒体服务器发送至所述主播设备进行互动,保证了互动的流畅度,另外,连麦设备将第一媒体流通过RTC媒体服务器发送至转码服务器,转码服务器将第一媒体流从原始格式转换成预设格式,由于RTMP媒体服务器具有成本低,且RTMP媒体服务器在单个直播间可支持的观众数量较多,因此,转码服务器将预设格式的第一媒体流通过RTMP媒体服务器发送至未连麦设备进行播放,实现了直播成本低,且单个直播间可容纳的观众数量多。
在连麦设备与直播设备连麦成功之前,连麦设备通过RTMP媒体服务器拉取主播的媒体流,由于RTMP媒体服务器本身时延较高,并且,主播端的媒体流经过主播设备、RTC媒体服务器、转码服务器、RTMP媒体服务器的第一媒体链路传输路径较长,导致连麦设备获取到主播的媒体流的时延进一步增加,若果连麦设备接收到允许连麦指令后,立即从RTMP媒体服务器切换到 RTC媒体服务器,则可能导致刚刚连麦成功时互动不流畅,以及时延的那段主播的媒体流丢失的情况,为了避免上述情况的发生,本实施例提供了一种视频直播方法,保证了连麦设备在刚连麦成功时,可以从RTMP媒体服务器平滑切换到RTC媒体服务器,图6示出了本申请实施例提供的又一种视频直播方法的流程图,请参阅图6,所述视频直播方法具体可以包括以下步骤:
步骤S210、接收所述主播设备通过所述调度节点发送的所述允许连麦指令之后,从所述RTMP媒体服务器拉取第二媒体流。
RTC媒体服务器包括高速缓冲存储器(Cache)以及CPU。在直播时,主播设备采集视频信息以及视频信息对应的第一时间戳,将视频信息以及第一时间戳以媒体流的形式推送至CPU。当CPU接收到主播设备推送的主播的媒体流后,将预设时长的媒体流暂存至Cache内,需要说明的是,Cache内的媒体流是实时更新的,当主播设备推送新的媒体流至CPU后,CPU用一段新的媒体流更新Cache内存储的媒体流。当连麦设备接收到允许连麦指令之后,RTMP 媒体服务器从通过转码服务器Cache获取主播的媒体流,包括:视频信息以及第一时间戳,在获取主播的媒体流时,获取RTMP媒体服务器自身的第二时间戳,将视频信息、第一时间戳以及第二时间戳压缩成第二媒体流发送至连麦设备。
步骤S220、解析所述第二媒体流,获得视频信息、第一时间戳以及第二时间戳。
其中,所述视频信息与所述第一时间戳均由所述主播设备采集后再通过所述RTC媒体服务器、所述转码服务器依次发送至所述RTMP媒体服务器,所述第二时间戳为所述RTMP媒体服务器接收到所述视频信息与所述第一时间戳时的时间戳。
步骤S230、计算所述第一时间戳与所述第二时间戳之间的时间差。
第一时间戳是主播设备采集的,第二时间戳是RTMP媒体服务器获取的,计算得到的时间差,可以理解为,主播设备、RTC媒体服务器、转码服务器、 RTMP媒体服务器的第一媒体链路的传输过程导致的时间差。
例如,计算得到的时间差为0.1秒。
步骤S240、根据所述时间差得到所述视频信息的播放速度,并以所述播放速度播放所述视频信息。
根据时间差得到视频信息的播放速度,时间差与播放速度成正比,具体而言,当时间差较大时,得到的播放速度较快;反之,当时间差较小时,得到的播放速度较慢。其中,播放速度相对于连麦之前而言是加快的,可以理解的是,加快播放速度为提高了视频帧的播放频率,例如,原来播放视频帧的速度为 24帧/秒,当播放速度为2倍速时,播放视频帧的速度为48帧/秒。
连麦设备以播放速度播放视频信息,使得连麦设备在直接接收RTC服务器的媒体流之前,将由于第一链路的时延导致的滞后的媒体流快速播放完毕,防止连麦设备在与RTC服务器连接成功后,由于连麦设备播放RTC服务器直接发送的媒体流而导致时延的媒体流无法播放。
步骤S250、在接收到主播设备发送的允许连麦指令后,获取用户输入的第一媒体流,其中,所述第一媒体流的格式为原始格式。
步骤S260、将所述第一媒体流通过RTC媒体服务器发送至所述主播设备进行互动。
步骤S270、将所述第一媒体流通过所述RTC媒体服务器发送至转码服务器,指示所述转码服务器将所述第一媒体流的格式从原始格式转换成预设格式,并将预设格式的第一媒体流通过RTMP媒体服务器发送至未连麦设备进行播放,其中,所述预设格式为可被所述未连麦设备解析的格式。
其中,步骤S250-S270的具体描述请参阅步骤S110-S130,在此不再赘述。
在本实施例中,连麦设备从RTC媒体服务器切换到RTMP媒体服务器之前,由于连麦设备是通过主播设备、RTC媒体服务器、转码服务器、RTMP 媒体服务器的第一媒体链路获取的主播的媒体流,因此时延高,通过对切换前的主播的媒体流进行加快播放,使得连麦设备在直接接收RTC服务器的媒体流之前,将由于第一链路的时延导致的滞后的媒体流快速播放完毕,防止连麦设备在与RTC服务器连接成功后,由于连麦设备播放RTC服务器直接发送的媒体流而导致时延的媒体流无法播放,使得互动的连续性不强,保证了连麦设备从RTMP媒体服务器平滑切换到RTC服务器。
下面,以视频直播方法应用于RTC媒体服务器进行说明,图7示出了本申请实施例提供的另一种视频直播方法的流程图,请参阅图7,所述视频直播方法具体可以包括以下步骤:
步骤S310、接收连麦设备在接收到主播设备发送的允许连麦指令后,获取的用户输入的第一媒体流,其中,所述第一媒体流的格式为原始格式。
步骤S320、将所述第一媒体流发送至所述主播设备进行互动。
步骤S330、将所述第一媒体流发送至转码服务器,指示所述转码服务器将所述第一媒体流的格式从原始格式转换成预设格式,并将预设格式的第一媒体流通过RTMP媒体服务器发送至未连麦设备进行播放,其中,所述预设格式为可被所述未连麦设备解析的格式。
其中,步骤S310-S330的具体描述请参阅步骤S110-S130,在此不再赘述。
可选的,可以采用软件开发工具包(Software Development Kit,简称SDK) 在RTC媒体服务器上开发新功能,例如,开发美颜滤镜等功能。
在上一实施例的基础上,图8示出了本申请实施例提供的视频直播方法的步骤S300的子步骤流程示意图,请参阅图8,所述将所述第一媒体流发送至转码服务器,包括:
步骤S331、获取所述未连麦设备的网络状态,以及所述未连麦设备的清晰度请求。
其中,网络状态包括网络速度。
未连麦观众通过对未连麦设备进行清晰度设置的输入操作,基于该输入操作,获得清晰度请求。可选地,清晰度请求包括标清、高清、超高清等。其中,标清对应的分辨率为270P、高清对应的分辨率为480P,超高清对应的分辨率为720P。
步骤S332、根据所述网络状态以及所述清晰度请求,得到目标分辨率。
可以理解的是,分辨率越高,对网速要求越高。
当未连麦观众设置的清晰度较高,且未连麦设备的网络状态不佳时,将以网络状态对应的最高分辨率作为目标分辨率。例如,未连麦设备的清晰度请求为超高清时,但是,其对应的网络状态在以超高清播放时,可能会导致视频直播的流畅度低,因此,根据未连麦设备对应的网络状态确定连麦设备能支持标清和高清的分辨率,在标清和高清中,确定分辨率较高的高清作为目标分辨率。
当未连麦观众设置的清晰度较低,且网络状态较佳时,以用户设置的清晰度对应的分辨率作为目标分辨率。例如未连麦观众设置的清晰度为标清,其对应的网络状态可以支持超高清播放,但以未连麦观众设置的清晰度为准。
步骤S333、将所述第一媒体流以所述目标分辨率发送至转码服务器。
RTC媒体服务器将第一媒体流以目标分辨率发送至转码服务器,转码服务器通过RTMP媒体服务器发送至未连麦设备,未连麦设备以目标分辨率播放第一媒体流。
需要说明的是,RTC媒体服务器通过与步骤S310-S330类似的方法,控制连麦设备播放主播媒体流的分辨率。
本实施例中,RTC媒体服务器通过获取未连麦设备的网络状态以及清晰度请求,得到目标分辨率,在网络状态不佳时,将未连麦设备的清晰度下调,保证了未连麦观众观看视频直播的流畅度。
如下,以视频直播方法应用于主播设备为例进行说明,图9示出了本申请实施例提供的再一种视频直播方法的流程图,请参阅图9,所述视频直播方法具体可以包括以下步骤:
步骤S410、接收连麦设备发送的第一媒体流,其中,所述第一媒体流为所述连麦设备在接收到主播设备发送的允许连麦指令后获取的。
步骤S420、获取主播响应所述第一媒体流输入的第四媒体流,其中,所述第四媒体流的格式为原始格式。
主播输入的第四媒体流包括视频流和/或音频流。通过主播设备的摄像头采集连主播的视频流。通过主播设备的拾音头或麦克风等拾音装置采集主播的音频流,为了保证直播时的音频质量,在拾音装置拾取主播的声音时,用高采样频率拾取声音,能够保证采集的声音不失真;可以采用优化回声评估模型和噪音消除算法处理音频流,以降低回声、噪声、以及直播间的背景音乐与主播之间的混音等。
步骤S430、将所述第四媒体流通过RTC媒体服务器发送至所述连麦设备进行互动。
步骤S440、将所述第四媒体流通过所述RTC媒体服务器发送至转码服务器,指示所述转码服务器将所述第四媒体流的格式从原始格式转换成预设格式,并将预设格式的第四媒体流通过RTMP媒体服务器发送至未连麦设备进行播放,其中,所述预设格式为可被所述未连麦设备解析的格式。
其中,步骤S410-步骤S440的具体描述请参阅步骤4-步骤10,在此不再赘述。
如下,以视频直播方法应用于视频直播系统为例进行说明,图10示出了本申请实施例提供的又另一种视频直播方法的流程图,请参阅图10,所述视频直播系统包括:连麦设备、主播设备、RTC媒体服务器、转码服务器、RTMP 媒体服务器以及未连麦设备,所述视频直播方法具体可以包括以下步骤:
步骤S510、所述连麦设备在接收到所述主播设备发送的允许连麦指令后,获取用户输入的第一媒体流,其中,所述第一媒体流的格式为原始格式。
步骤S520、所述连麦设备将所述第一媒体流通过所述RTC媒体服务器发送至所述主播设备进行互动。
步骤S530、所述连麦设备将所述第一媒体流通过所述RTC媒体服务器发送至所述转码服务器。
步骤S540、所述转码服务器将所述第一媒体流的格式从原始格式转换成预设格式,其中,所述预设格式为可被未连麦设备解析的格式。
步骤S550、所述转码服务器将预设格式的第一媒体流通过所述RTMP媒体服务器发送至所述未连麦设备进行播放。
其中,步骤S510-步骤S550的具体描述请参阅步骤4-步骤10,在此不再赘述。
图11示出了本申请实施例提供的又再一种视频直播方法的流程图,请参参阅图11,所述视频直播系统还包括:审核节点;所述视频直播方法具体可以包括以下步骤:
步骤S610、所述转码服务器将所述第一媒体流的格式从原始格式转换成预设格式。
转码服务器将预设格式的第一媒体服务器保存在存储节点中。便于后期调取直播视频,或者便于观众观看直播视频的回放。
步骤S620、所述转码服务器将所述预设格式的第一媒体流发送至所述审核节点。
其中,转码服务器将预设格式的第一媒体服务器保存在存储设备中,审核节点从存储节点中获取预设格式的第一媒体服务器。
步骤S630、所述审核节点判断所述预设格式的第一媒体流是否符合预设规范。
其中,第一媒体流包括视频流和音频流。
当第一媒体流包括视频流时,每间隔预设时间段,从视频流抽取预设张数的图像,对该图像进行识别,判断识别出的图像是否属于符合预设规范的类别,如果识别出的图像属于符合预设规范的类别,则视频流符合预设规范,反正,则不符合预设规范。
当第一媒体流包括音频流,识别该音频流获得声音信息,从声音信息中按照预设时间间隔,抽取预设帧音频帧,判断该音频帧与不符合预设规范的音频信息是否匹配,如果该音频帧与不符合预设规范的音频信息匹配,则音频流符合预设规范,反之,则音频流不符合预设规范。
将不符合预设规范的视频流以及音频流以Kafka消息阵列的形式进行存储,便于在主播进行申诉时,示出不符合预设规范的证据。
还可以接收观众举报,判断观众举报的第一媒体流是否符合预设规范。
本实施例中,通过对直播间内的直播内容进行监测,防止直播间出现不符合预设规范的内容,保证直播能够健康、积极的进行。
为实现上述方法类实施例,本实施例提供了一种连麦设备,图12示出了根据本申请一个实施例的连麦设备的框图,请参阅图12,连麦设备400包括:第一获取模块410、第一互动模块420以及第一播放模块430。
第一获取模块,用于在接收到主播设备发送的允许连麦指令后,获取用户输入的第一媒体流,其中,所述第一媒体流的格式为原始格式;
第一互动模块,用于将所述第一媒体流通过RTC媒体服务器发送至所述主播设备进行互动;
第一播放模块,用于将所述第一媒体流通过所述RTC媒体服务器发送至转码服务器,指示所述转码服务器将所述第一媒体流的格式从原始格式转换成预设格式,并将预设格式的第一媒体流通过RTMP媒体服务器发送至未连麦设备进行播放,其中,所述预设格式为可被所述未连麦设备解析的格式。
可选地,连麦设备400还包括:第二媒体流拉取模块、第二媒体流解析模块、时间差计算模块以及播放模块。
第二媒体流拉取模块,用于从所述RTMP媒体服务器拉取第二媒体流;
第二媒体流解析模块,用于解析所述第二媒体流,获得视频信息、第一时间戳以及第二时间戳,其中,所述视频信息与所述第一时间戳均由所述主播设备采集后再通过所述RTC媒体服务器、所述转码服务器依次发送至所述RTMP 媒体服务器,所述第二时间戳为所述RTMP媒体服务器接收到所述视频信息与所述第一时间戳时的时间戳;
时间差计算模块,用于计算所述第一时间戳与所述第二时间戳之间的时间差;
播放模块,用于根据所述时间差得到所述视频信息的播放速度,并以所述播放速度播放所述视频信息。
可选地,连麦设备400还包括:发送请求连麦模块以及接收允许连麦模块。
发送请求连麦模块,用于将请求连麦指令发送至所述主播设备;
接收允许连麦模块,用于接收所述主播设备发送的所述允许连麦指令,其中,所述允许连麦指令为所述主播设备响应所述请求连麦指令生成的。
可选地,图13示出了根据本申请一个实施例的RTC媒体服务器的框图,请参阅图13,RTC媒体服务器500包括:第一接收模块510、第二互动模块 520以及第二播放模块530。
第一接收模块,用于接收连麦设备在接收到主播设备通过调度节点发送的允许连麦指令后,获取的用户输入的第一媒体流,其中,所述第一媒体流的格式为原始格式;
第二互动模块,用于将所述第一媒体流发送至所述主播设备进行互动;
第二播放模块,用于将所述第一媒体流发送至转码服务器,指示所述转码服务器将所述第一媒体流的格式从原始格式转换成预设格式,并将预设格式的第一媒体流通过RTMP媒体服务器发送至未连麦设备进行播放,其中,所述预设格式为可被所述未连麦设备解析的格式。
可选地,RTC媒体服务器500还包括:网络状态获取模块、目标分辨率获取模块以及目标分辨率发送模块。
网络状态获取模块,用于获取所述未连麦设备的网络状态,以及所述未连麦设备的清晰度请求;
目标分辨率获取模块,用于根据所述网络状态以及所述清晰度请求,得到目标分辨率;
目标分辨率发送模块,用于将所述第一媒体流以所述目标分辨率发送至转码服务器。
可选地,图14示出了根据本申请一个实施例的主播设备的框图,请参阅图14,主播设备600包括:第二接收模块610、第二获取模块620、转发模块 630以及第三播放模块640。
第二接收模块610,用于接收连麦设备发送的第一媒体流,其中,所述第一媒体流为所述连麦设备在接收到主播设备发送的允许连麦指令后获取的;
第二获取模块620,用于获取主播响应所述第一媒体流输入的第四媒体流,其中,所述第四媒体流的格式为原始格式;
转发模块630,用于将所述第四媒体流通过RTC媒体服务器发送至所述连麦设备进行互动;
第三播放模块640,用于将所述第四媒体流通过所述RTC媒体服务器发送至转码服务器,指示所述转码服务器将所述第四媒体流的格式从原始格式转换成预设格式,并将预设格式的第四媒体流通过RTMP媒体服务器发送至未连麦设备进行播放,其中,所述预设格式为可被所述未连麦设备解析的格式。
可选地,请参阅图3,视频直播系统300包括:连麦设备350、主播设备 310、RTC媒体服务器320、转码服务器330、RTMP媒体服务器340以及未连麦设备360;
所述连麦设备350,用于在接收到所述主播设备310发送的允许连麦指令后,获取用户输入的第一媒体流,其中,所述第一媒体流的格式为原始格式;
所述连麦设备350,用于将所述第一媒体流通过所述RTC媒体服务器320 发送至所述主播设备310进行互动;
所述连麦设备360,用于将所述第一媒体流通过所述RTC媒体服务器320 发送至所述转码服务器330;
所述转码服务器330,用于将所述第一媒体流的格式从原始格式转换成预设格式,其中,所述预设格式为可被未连麦设备360解析的格式;
所述转码服务330器,用于将预设格式的第一媒体流通过所述RTMP媒体服务器340发送至所述未连麦设备360进行播放。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参阅图15,其示出了本申请实施例提供的一种电子设备700的结构框图。该电子设备700可以是智能手机、平板电脑、电子书等能够运行应用程序的电子设备。本申请中的电子设备700可以包括一个或多个如下部件:处理器 710、存储器720以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器720中并被配置为由一个或多个处理器710执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
其中,处理器710可以包括一个或者多个处理核。处理器710利用各种接口和线路连接整个电子设备700内的各个部分,通过运行或执行存储在存储器 720内的指令、程序、代码集或指令集,以及调用存储在存储器720内的数据,执行电子设备700的各种功能和处理数据。可选地,处理器710可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field- Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array, PLA)中的至少一种硬件形式来实现。处理器710可集成中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责待显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器710中,单独通过一块通信芯片进行实现。
存储器720可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器720可用于存储指令、程序、代码、代码集或指令集。存储器720可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令 (比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储移动终端700在使用中所创建的数据 (比如电话本、音视频数据、聊天记录数据)等。
请参阅图16,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质800可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。
综上所述,本申请提供了一种视频直播方法、连麦设备、RTC媒体服务器及主播设备,在连麦设备接收到主播设备发送的允许连麦指令后,连麦设备与主播设备连麦成功,连麦设备获取用户输入的第一媒体流,其中,第一媒体流的格式为原始格式,由于在连麦设备与主播设备互动时,为了保证互动的流畅度,对时延要求较高,连麦设备将第一媒体流通过低时延的RTC媒体服务器发送至所述主播设备进行互动,保证了互动的流畅度,另外,连麦设备将第一媒体流通过RTC媒体服务器发送至转码服务器,转码服务器将第一媒体流从原始格式转换成预设格式,由于RTMP媒体服务器具有成本低,且RTMP 媒体服务器在单个直播间可支持的观众数量较多,因此,转码服务器将预设格式的第一媒体流通过RTMP媒体服务器发送至未连麦设备进行播放,实现了直播成本低,且单个直播间可容纳的观众数量多。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (7)
1.一种视频直播方法,其特征在于,应用于连麦设备,包括:
在接收到主播设备发送的允许连麦指令后,从RTMP媒体服务器拉取第二媒体流;
解析所述第二媒体流,获得视频信息、第一时间戳以及第二时间戳,其中,所述视频信息与所述第一时间戳均由所述主播设备采集后再通过RTC媒体服务器、转码服务器依次发送至所述RTMP媒体服务器,所述第二时间戳为所述RTMP媒体服务器接收到所述视频信息与所述第一时间戳时的时间戳;
计算所述第一时间戳与所述第二时间戳之间的时间差;
根据所述时间差得到所述视频信息的播放速度,并以所述播放速度播放所述视频信息;
获取用户输入的第一媒体流,其中,所述第一媒体流的格式为原始格式;
将所述第一媒体流通过RTC媒体服务器发送至所述主播设备进行互动;
将所述第一媒体流通过所述RTC媒体服务器发送至转码服务器,指示所述转码服务器将所述第一媒体流的格式从原始格式转换成预设格式,并将预设格式的第一媒体流通过RTMP媒体服务器发送至未连麦设备进行播放,其中,所述预设格式为可被所述未连麦设备解析的格式。
2.根据权利要求1所述的方法,其特征在于,所述在接收到主播设备发送的允许连麦指令后,获取用户输入的第一媒体流之前,所述方法还包括:
将请求连麦指令发送至所述主播设备;
接收所述主播设备发送的所述允许连麦指令,其中,所述允许连麦指令为所述主播设备响应所述请求连麦指令生成的。
3.一种视频直播方法,其特征在于,应用于视频直播系统,所述方法包括:
连麦设备在接收到主播设备发送的允许连麦指令后,从RTMP媒体服务器拉取第二媒体流;
所述连麦设备解析所述第二媒体流,获得视频信息、第一时间戳以及第二时间戳,其中,所述视频信息与所述第一时间戳均由所述主播设备采集后再通过RTC媒体服务器、转码服务器依次发送至所述RTMP媒体服务器,所述第二时间戳为所述RTMP媒体服务器接收到所述视频信息与所述第一时间戳时的时间戳;
所述连麦设备计算所述第一时间戳与所述第二时间戳之间的时间差;
所述连麦设备根据所述时间差得到所述视频信息的播放速度,并以所述播放速度播放所述视频信息;
所述连麦设备获取用户输入的第一媒体流,其中,所述第一媒体流的格式为原始格式;
所述连麦设备将所述第一媒体流通过所述RTC媒体服务器发送至所述主播设备进行互动;
所述连麦设备将所述第一媒体流通过所述RTC媒体服务器发送至所述转码服务器;
所述转码服务器将所述第一媒体流的格式从原始格式转换成预设格式,其中,所述预设格式为可被未连麦设备解析的格式;
所述转码服务器将预设格式的第一媒体流通过所述RTMP媒体服务器发送至所述未连麦设备进行播放。
4.根据权利要求3所述的方法,其特征在于,所述视频直播系统还包括:审核节点;所述转码服务器将所述第一媒体流的格式从原始格式转换成预设格式之后,还包括:
所述转码服务器将所述预设格式的第一媒体流发送至所述审核节点;
所述审核节点判断所述预设格式的第一媒体流是否符合预设规范。
5.一种连麦设备,其特征在于,包括:
第一获取模块,用于在接收到主播设备发送的允许连麦指令后,从RTMP媒体服务器拉取第二媒体流;
第二媒体流解析模块,用于解析所述第二媒体流,获得视频信息、第一时间戳以及第二时间戳,其中,所述视频信息与所述第一时间戳均由所述主播设备采集后再通过RTC媒体服务器、转码服务器依次发送至所述RTMP媒体服务器,所述第二时间戳为所述RTMP媒体服务器接收到所述视频信息与所述第一时间戳时的时间戳;
时间差计算模块,用于计算所述第一时间戳与所述第二时间戳之间的时间差;
播放模块,用于根据所述时间差得到所述视频信息的播放速度,并以所述播放速度播放所述视频信息;
第一获取模块,用于获取用户输入的第一媒体流,其中,所述第一媒体流的格式为原始格式;
第一互动模块,用于将所述第一媒体流通过RTC媒体服务器发送至所述主播设备进行互动;
第一播放模块,用于将所述第一媒体流通过所述RTC媒体服务器发送至转码服务器,指示所述转码服务器将所述第一媒体流的格式从原始格式转换成预设格式,并将预设格式的第一媒体流通过RTMP媒体服务器发送至未连麦设备进行播放,其中,所述预设格式为可被所述未连麦设备解析的格式。
6.一种视频直播系统,其特征在于,包括:连麦设备、主播设备、RTC媒体服务器、转码服务器、RTMP媒体服务器以及未连麦设备;
所述连麦设备,用于在接收到所述主播设备发送的允许连麦指令后,从RTMP媒体服务器拉取第二媒体流;
所述连麦设备,用于解析所述第二媒体流,获得视频信息、第一时间戳以及第二时间戳,其中,所述视频信息与所述第一时间戳均由所述主播设备采集后再通过所述RTC媒体服务器、所述转码服务器依次发送至所述RTMP媒体服务器,所述第二时间戳为所述RTMP媒体服务器接收到所述视频信息与所述第一时间戳时的时间戳;
所述连麦设备,用于计算所述第一时间戳与所述第二时间戳之间的时间差;
所述连麦设备,用于根据所述时间差得到所述视频信息的播放速度,并以所述播放速度播放所述视频信息;
所述连麦设备,用于获取用户输入的第一媒体流,其中,所述第一媒体流的格式为原始格式;
所述连麦设备,用于将所述第一媒体流通过所述RTC媒体服务器发送至所述主播设备进行互动;
所述连麦设备,用于将所述第一媒体流通过所述RTC媒体服务器发送至所述转码服务器;
所述转码服务器,用于将所述第一媒体流的格式从原始格式转换成预设格式,其中,所述预设格式为可被未连麦设备解析的格式;
所述转码服务器,用于将预设格式的第一媒体流通过所述RTMP媒体服务器发送至所述未连麦设备进行播放。
7.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011009197.7A CN112019927B (zh) | 2020-09-23 | 2020-09-23 | 视频直播方法、连麦设备、直播系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011009197.7A CN112019927B (zh) | 2020-09-23 | 2020-09-23 | 视频直播方法、连麦设备、直播系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112019927A CN112019927A (zh) | 2020-12-01 |
CN112019927B true CN112019927B (zh) | 2023-01-06 |
Family
ID=73522054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011009197.7A Active CN112019927B (zh) | 2020-09-23 | 2020-09-23 | 视频直播方法、连麦设备、直播系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112019927B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115484469B (zh) * | 2021-06-15 | 2024-01-09 | 北京字节跳动网络技术有限公司 | 一种连麦系统、方法、装置、设备及存储介质 |
CN115484468B (zh) * | 2021-06-15 | 2024-01-09 | 北京字节跳动网络技术有限公司 | 一种连麦系统、方法、装置、设备及存储介质 |
CN113382280B (zh) * | 2021-08-12 | 2021-11-09 | 北京微吼时代科技有限公司 | 用于互动直播系统的方法和装置、电子设备 |
CN113794942B (zh) * | 2021-09-09 | 2022-12-02 | 北京字节跳动网络技术有限公司 | 自由视角视频的视角切换方法、装置、系统、设备和介质 |
CN114125482B (zh) * | 2021-11-23 | 2024-06-28 | 腾讯音乐娱乐科技(深圳)有限公司 | 直播连麦处理方法、电子设备及存储介质 |
CN114297553A (zh) * | 2021-12-28 | 2022-04-08 | 上海绚显科技有限公司 | 一种推拉流格式转换方法、装置、电子设备及存储介质 |
CN114979692B (zh) * | 2022-05-23 | 2023-09-15 | 广州欢城文化传媒有限公司 | 音视频拉流模式的切换方法、装置、系统和存储介质 |
CN117294681A (zh) * | 2022-06-16 | 2023-12-26 | 抖音视界(北京)有限公司 | 连麦建立方法、装置、设备、存储介质及程序产品 |
WO2024087197A1 (zh) * | 2022-10-28 | 2024-05-02 | 广州酷狗计算机科技有限公司 | 直播流切换方法、装置、服务器、终端及程序产品 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110233844A (zh) * | 2019-06-13 | 2019-09-13 | 杭州雅顾科技有限公司 | 一种多媒体直播方法、装置、设备及介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431657B (zh) * | 2007-11-07 | 2011-11-02 | 华为技术有限公司 | 一种网络电视时移处理方法、系统和装置 |
CN108076349B (zh) * | 2016-11-11 | 2021-03-19 | 铂渊信息技术(上海)有限公司 | 网络互动直播方法、系统及电子设备 |
US10841660B2 (en) * | 2016-12-29 | 2020-11-17 | Dressbot Inc. | System and method for multi-user digital interactive experience |
CN106954100A (zh) * | 2017-03-13 | 2017-07-14 | 网宿科技股份有限公司 | 直播方法及系统、连麦管理服务器 |
CN108235136B (zh) * | 2018-03-15 | 2021-06-01 | 青岛海信传媒网络技术有限公司 | 一种数据播放方法及终端设备 |
CN108600239A (zh) * | 2018-05-01 | 2018-09-28 | 北京学易科技有限公司 | 数据合成方法及装置、客户端、服务器 |
CN108900906A (zh) * | 2018-06-19 | 2018-11-27 | 网宿科技股份有限公司 | 一种直播视频流的延时控制方法及装置 |
CN108848391A (zh) * | 2018-06-21 | 2018-11-20 | 深圳市思迪信息技术股份有限公司 | 视频直播多人连麦方法及装置 |
CN108900921A (zh) * | 2018-07-20 | 2018-11-27 | 广州酷狗计算机科技有限公司 | 连麦直播方法、装置及存储介质 |
CN111245846B (zh) * | 2020-01-15 | 2022-07-22 | 酷得少年(天津)文化传播有限公司 | 一种用于直播的信令传输系统及方法 |
CN111508294A (zh) * | 2020-05-25 | 2020-08-07 | 上海卓越睿新数码科技有限公司 | 一种低延时低带宽高稳定的在线直播教学方法及系统 |
CN111629223B (zh) * | 2020-06-11 | 2022-09-13 | 网易(杭州)网络有限公司 | 视频同步方法及装置、计算机可读存储介质以及电子设备 |
CN111669538A (zh) * | 2020-06-17 | 2020-09-15 | 上海维牛科技有限公司 | 一种实时音视频动态合流技术 |
-
2020
- 2020-09-23 CN CN202011009197.7A patent/CN112019927B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110233844A (zh) * | 2019-06-13 | 2019-09-13 | 杭州雅顾科技有限公司 | 一种多媒体直播方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112019927A (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112019927B (zh) | 视频直播方法、连麦设备、直播系统及存储介质 | |
CN107846633B (zh) | 一种直播方法及系统 | |
CN110798698B (zh) | 一种直播应用程序的多服务器推流方法、设备和存储介质 | |
CN101917391B (zh) | 一种网络视频的播放方法及一种网络视频播放系统 | |
US8817095B2 (en) | Locally originated IPTV programming | |
CN110267064B (zh) | 音频播放状态处理方法、装置、设备及存储介质 | |
CN108347622B (zh) | 多媒体数据推送方法、装置、存储介质及设备 | |
CN107027045A (zh) | 视频流推送控制方法、装置及视频流导播端 | |
CN117581552A (zh) | 在传输预创作视频帧和合成视频帧之间切换 | |
CN101309393B (zh) | 一种在交互式网络电视中插播视频监控的方法及系统 | |
CN110662114B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN112752115B (zh) | 直播数据传输方法、装置、设备及介质 | |
CN106507186B (zh) | 一种媒体信息的切换方法、服务器及存储介质 | |
US9473549B2 (en) | Method of playing internet video and related electronic device | |
US7619645B2 (en) | Audio visual media encoding system | |
CN111404882B (zh) | 媒体流处理方法及装置 | |
US20080271097A1 (en) | System And Method For Receiving And Playing Network Television Programs | |
CN103686219A (zh) | 一种视频会议录播的方法、设备及系统 | |
CN111447503A (zh) | 一种多视点视频的视点切换方法、服务器和系统 | |
CN102860022B (zh) | 一种节目切换的方法、装置和媒体服务器 | |
CN113766251A (zh) | 直播连麦的处理方法、系统、服务器及存储介质 | |
CN107547517B (zh) | 音视频节目录制方法和网络设备及计算机装置 | |
CN114554277A (zh) | 多媒体的处理方法、装置、服务器及计算机可读存储介质 | |
CN113301359A (zh) | 音视频处理方法、装置及电子设备 | |
CN102368721A (zh) | 一种ms集群系统的性能测试系统及测试方法 |
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 |