直播方法及系统技术方案

技术编号:19598717 阅读:17 留言:0更新日期:2018-11-28 06:47
本申请公开了一种直播方法及系统,属于信息处理技术领域,该方法包括:当处于双流直播模式,且处于连麦状态时,第一终端可以将自身采集的第一视频帧和与其连麦的第三终端采集的第二视频帧进行合成,得到合成视频,将自身采集的第一音频帧和第三终端采集的第二音频帧进行混音,得到混音音频,将包含有合成视频和混音音频的第一数据包发送至第二终端和流媒体服务器,这样,第二终端就可以基于该第一数据包生成符合第二终端的显示屏的宽高比的处理视频,并将包含有处理视频的第二数据包发送至流媒体服务器,从而保证了双流直播模式下持有竖屏终端和横屏终端的观众用户均可以观看到主播与连麦者的合成视频。

【技术实现步骤摘要】
直播方法及系统
本申请涉及信息处理
,特别涉及一种直播方法及系统。
技术介绍
在目前的互联网直播中,主播可以进行双流直播,所谓双流直播是指主播对应有两个终端,两个终端分别采集两路视频,为了便于后续描述,将两个终端分别称为第一终端和第二终端。其中,第一终端为横屏终端,也即显示屏的宽高比大于1,因此,采集的视频为横屏分辨率的视频,第二终端为竖屏终端,也即显示屏的宽高比小于1,因此,采集的视频为竖屏分辨率的视频。之后,第一终端和第二终端可以分别发送各自采集的视频至流媒体服务器,流媒体服务器在接收到第一终端和第二终端分别发送的视频之后,可以向持有横屏终端的观众用户推送第一终端采集的视频,向持有竖屏终端的观众用户推送第二终端采集的视频。在上述直播方法中,当某个观众用户作为连麦者通过自身所使用的第三终端与主播的第一终端进行连麦时,第一终端可以接收第三终端采集的视频,并将第一终端采集的视频和第三终端采集的视频合成后发送至流媒体服务器。然而,由于第一终端采集的视频是横屏分辨率的视频,因此,合成视频也是横屏分辨率的,这样,流媒体服务器在接收到该合成视频之后,只能将该合成视频推送至持有横屏终端的其他观众用户。同理,若观众用户通过自身所使用的第三终端与主播的第二终端进行连麦,则第二终端根据自身采集的视频和第三终端采集的视频合成得到的合成视频将是竖屏分辨率的视频,这样,流媒体服务器在接收到该合成视频之后,只能将该合成视频推送至持有竖屏终端的其他观众用户。也即,相关技术中,观众用户的第三终端只能与主播的两个终端的任一终端进行连麦,这样,要么持有竖屏终端的观众用户将无法观看到合成视频,要么持有横屏终端的观众用户将无法观看到合成视频,换句话说,相关技术中的直播方法无法同时保证持有竖屏终端的观众用户和持有横屏终端的观众用户都观看到主播和连麦者的合成视频。基于此,亟需提供一种直播方法,以保证连麦时,持有竖屏终端和持有横屏终端的其他观众用户均能够观看主播和连麦者的合成视频。
技术实现思路
本申请实施例提供了一种直播方法及系统,可以用于在双流直播过程中,在连麦时同时为持有横屏终端和竖屏终端的观众用户提供符合各自终端的显示屏的宽高比的连麦视频。所述技术方案如下:第一方面,提供了一种直播方法,所述方法包括:第一终端检测当前是否处于双流直播模式,以及检测当前是否处于连麦状态;若当前处于双流直播模式,且当前处于连麦状态,则第一终端获取所述第一终端当前采集的第一视频帧和第一音频帧,并获取与所述第一终端连麦的第三终端当前采集的第二视频帧和第二音频帧;将所述第一视频帧和所述第二视频帧进行合成,得到合成视频,将所述第一音频帧和所述第二音频帧进行混音,得到混音音频,并向第二终端和流媒体服务器发送包含有所述合成视频和所述混音音频的第一数据包;当所述第二终端接收到所述第一数据包时,对所述第一数据包进行处理,得到符合所述第二终端的显示屏的宽高比的处理视频;所述第二终端显示所述处理视频,并向流媒体服务器发送包含有所述处理视频与所述混音音频的第二数据包。可选地,所述检测当前是否处于双流直播模式,以及检测当前是否处于连麦状态,包括:检测当前的双流直播变量是否为第一数值,以及检测当前的连麦变量是否为第二数值;若所述当前的双流直播变量为所述第一数值,且所述当前的连麦变量为所述第二数值,则确定当前处于双流直播模式且当前处于连麦状态。可选地,所述第一终端为横屏终端,所述将所述第一视频帧和所述第二视频帧进行合成,包括:确定与所述第一视频帧的高度方向平行的第一界线和第二界线,所述第一界线距离所述第一视频帧的第一边缘的距离与所述第二界线距离所述第一视频帧的第二边缘的距离相等,所述第一边缘与所述第二边缘均平行于所述第一视频帧的高度方向;从所述第一视频帧中截取位于所述第一界线和所述第二界线之间的第一视频画面,所述第一视频画面的宽度小于所述第一视频帧的宽度,所述第一视频画面的高度等于所述第一视频帧的高度;若所述第二视频帧的高度与所述第一视频帧的高度相同,则将所述第二视频帧拼接在所述第一视频画面的第一边缘或第二边缘的一侧。可选地,所述对所述第一数据包进行处理,包括:获取所述第一数据包中的合成视频,并缩小所述合成视频,以使所述合成视频的宽度等于所述第二终端的显示屏的宽度;按照所述第二终端的显示屏的高度在缩放后的视频的第一边缘所在的一侧拼接第一空白画面,在缩放后的视频的第二边缘所在的一侧拼接第二空白画面;其中,所述第一边缘与所述第二边缘平行于所述缩放后的视频的宽度方向,所述第一空白画面的高度与所述第二空白画面的高度相同,且所述第一空白画面的高度、所述第一空白画面的高度和所述缩放后的视频的高度的总和等于所述第二终端的显示屏的高度;在拼接得到的视频中的所述第一空白画面和所述第二空白画面中填充背景色,并将填充后的视频作为所述处理视频。可选地,所述合成视频和所述混音音频携带有相同的时间戳,且所述处理视频携带有所述合成视频的时间戳。可选地,所述显示所述处理视频,包括:从所述处理视频中提取时间戳;记录当前系统时间,并基于视频帧的帧间隔时间和所述当前系统时间,确定所述处理视频的显示时间;若所述显示时间晚于所述时间戳所指示的时间,则在当前时刻显示所述处理视频;若所述显示时间早于所述时间戳所指示的时间,则延迟显示所述处理视频。可选地,所述方法还包括:若检测到当前处于双流直播模式,且当前不处于连麦状态,则所述第一终端获取所述第一终端当前采集的第一视频帧和第一音频帧;所述第一终端向所述第二终端发送包含有所述第一音频帧的音频数据包,并向所述流媒体服务器发送包含有所述第一视频帧和所述第一音频帧的第三数据包,所述第一音频帧携带有第一时间戳;当所述第二终端接收到所述音频数据包时,所述第二终端获取所述音频数据包中的所述第一音频帧,并获取所述第二终端当前采集的第三视频帧,记录所述第三视频帧的获取时间;基于所述第三视频帧的获取时间以及所述第一终端的系统时间与所述第二终端的系统时间之间的时间偏差,确定所述第三视频帧的第二时间戳;基于所述第二时间戳显示所述第三视频帧;向所述流媒体服务器发送包含有所述第一音频帧和所述第三视频帧的第四数据包,所述第三视频帧携带有所述第二时间戳。可选地,所述方法还包括:所述第二终端向所述第一终端发送至少一个校时请求包,并将所述至少一个校时请求包中的每个校时请求包的请求包序号和发送时间对应存储,所述发送时间是指发送相应校时请求包时所述第二终端的系统时间,所述请求包序号用于对相应地校时请求包进行标识;每当所述第一终端接收到目标校时请求包时,向所述第二终端发送针对接收到的所述目标校时请求包的目标校时响应包,所述目标校时请求包是指所述至少一个校时请求包中的任一校时请求包,所述目标校时响应包携带有所述目标校时请求包的请求包序号以及所述第一终端当前的第一系统时间;当所述第二终端接收到所述目标校时响应包时,所述第二终端记录接收到所述目标校时响应包时所述第二终端的第二系统时间;所述第二终端基于所述目标校时响应包携带的请求包序号,从存储的对应关系中获取所述目标校时响应包携带的请求包序号对应的发送时间,得到第三系统时间;基于所述第一系统时间、所述第二系统时间和所述第三系统时间,确定所述第一终端的系统时间与所述本文档来自技高网
...

【技术保护点】
1.一种直播方法,其特征在于,所述方法包括:第一终端检测当前是否处于双流直播模式,以及检测当前是否处于连麦状态;若当前处于双流直播模式,且当前处于连麦状态,则第一终端获取所述第一终端当前采集的第一视频帧和第一音频帧,并获取与所述第一终端连麦的第三终端当前采集的第二视频帧和第二音频帧;所述第一终端将所述第一视频帧和所述第二视频帧进行合成,得到合成视频,将所述第一音频帧和所述第二音频帧进行混音,得到混音音频,并向第二终端和流媒体服务器发送包含有所述合成视频和所述混音音频的第一数据包;当所述第二终端接收到所述第一数据包时,对所述第一数据包进行处理,得到所述混音音频和符合所述第二终端的显示屏的宽高比的处理视频;所述第二终端显示所述处理视频,并向流媒体服务器发送包含有所述处理视频与所述混音音频的第二数据包。

【技术特征摘要】
1.一种直播方法,其特征在于,所述方法包括:第一终端检测当前是否处于双流直播模式,以及检测当前是否处于连麦状态;若当前处于双流直播模式,且当前处于连麦状态,则第一终端获取所述第一终端当前采集的第一视频帧和第一音频帧,并获取与所述第一终端连麦的第三终端当前采集的第二视频帧和第二音频帧;所述第一终端将所述第一视频帧和所述第二视频帧进行合成,得到合成视频,将所述第一音频帧和所述第二音频帧进行混音,得到混音音频,并向第二终端和流媒体服务器发送包含有所述合成视频和所述混音音频的第一数据包;当所述第二终端接收到所述第一数据包时,对所述第一数据包进行处理,得到所述混音音频和符合所述第二终端的显示屏的宽高比的处理视频;所述第二终端显示所述处理视频,并向流媒体服务器发送包含有所述处理视频与所述混音音频的第二数据包。2.根据权利要求1所述的方法,其特征在于,所述第一终端检测当前是否处于双流直播模式,以及检测当前是否处于连麦状态,包括:第一终端检测当前的双流直播变量是否为第一数值,以及检测当前的连麦变量是否为第二数值;若所述当前的双流直播变量为所述第一数值,且所述当前的连麦变量为所述第二数值,则确定当前处于双流直播模式且当前处于连麦状态。3.根据权利要求1所述的方法,其特征在于,所述第一终端为横屏终端,所述第一终端将所述第一视频帧和所述第二视频帧进行合成,包括:所述第一终端确定与所述第一视频帧的高度方向平行的第一界线和第二界线,所述第一界线距离所述第一视频帧的第一边缘的距离与所述第二界线距离所述第一视频帧的第二边缘的距离相等,所述第一边缘与所述第二边缘均平行于所述第一视频帧的高度方向;从所述第一视频帧中截取位于所述第一界线和所述第二界线之间的第一视频画面,所述第一视频画面的宽度小于所述第一视频帧的宽度,所述第一视频画面的高度等于所述第一视频帧的高度;若所述第二视频帧的高度与所述第一视频帧的高度相同,则将所述第二视频帧拼接在所述第一视频画面的第一边缘或第二边缘的一侧。4.根据权利要求1所述的方法,其特征在于,所述对所述第一数据包进行处理,包括:获取所述第一数据包中的混音音频和合成视频,并缩小所述合成视频,以使所述合成视频的宽度等于所述第二终端的显示屏的宽度;按照所述第二终端的显示屏的高度在缩放后的视频的第一边缘所在的一侧拼接第一空白画面,在缩放后的视频的第二边缘所在的一侧拼接第二空白画面;其中,所述第一边缘与所述第二边缘平行于所述缩放后的视频的宽度方向,所述第一空白画面的高度与所述第二空白画面的高度相同,且所述第一空白画面的高度、所述第一空白画面的高度和所述缩放后的视频的高度的总和等于所述第二终端的显示屏的高度;在拼接得到的视频中的所述第一空白画面和所述第二空白画面中填充背景色,并将填充后的视频作为所述处理视频。5.根据权利要求1所述的方法,其特征在于,所述合成视频和所述混音音频携带有相同的时间戳,且所述处理视频携带有所述合成视频的时间戳。6.根据权利要求5所述的方法,其特征在于,所述第二终端显示所述处理视频,包括:从所述处理视频中提取时间戳;记录当前系统时间,并基于视频帧的帧间隔时间和所述当前系统时间,确定所述处理视频的显示时间;若所述显示时间晚于所述时间戳所指示的时间,则在当前时刻显示所述处理视频;若所述显示时间早于所述时间戳所指示的时间,则延迟显示所述处理视频。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:若检测到当前处于双流直播模式,且当前不处于连麦状态,则所述第一终端获取所述第一终端当前采集的第一视频帧和第一音频帧;所述第一终端向所述第二终端发送包含有所述第一音频帧的音频数据包,并向所述流媒体服务器发送包含有所述第一视频帧和所述第一音频帧的第三数据包,所述第一音频帧携带有第一时间戳;当所述第二终端接收到所述音频数据包时,所述第二终端获取所述音频数据包中的所述第一音频帧,并获取所述第二终端当前采集的第三视频帧,记录所述第三视频帧的获取时间;基于所述第三视频帧的获取时间以及所述第一终端的系统时间与所述第二终端的系统时间之间的时间偏差,确定所述第三视频帧的第二时间戳;基于所述第二时间戳显示所述第三视...

【专利技术属性】
技术研发人员:吕现广
申请(专利权)人:广州酷狗计算机科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1