发明内容
本发明实施例所要解决的技术问题在于,提供一种媒体流的控制方法、装置和系统。可解析现有技术中媒体流切换操作繁琐和会造成用户流失的问题。
为了解决上述技术问题,本发明实施例提供了一种媒体流的控制方法,包括:
当检测到观众客户端进入直播频道时,查询所述直播频道对应的N路媒体流,N≥2且为整数;
将所述默认媒体流推送至所述观众客户端,并将所述N路媒体流各自对应的媒体流标签推送至所述观众客户端;其中,所述默认媒体流为所述N路媒体流中的任意一个;
当接收到所述观众客户端发送的针对目标媒体流标签的切换指令时,获取所述目标媒体流标签对应的目标媒体流,以及控制所述观众客户端所属的频道保持不变;
停止推送所述默认媒体流,并将所述目标媒体流推送至所述观众客户端。
相应地,本发明实施例还提供了一种媒体流的控制装置,包括:
查询模块,用于当检测到观众客户端进入直播频道时,查询所述直播频道对应的N路媒体流,N≥2且为整数;
推送模块,用于将所述默认媒体流推送至所述观众客户端,并将所述N路媒体流各自对应的媒体流标签推送至所述观众客户端;其中,所述默认媒体流为所述N路媒体流中的任意一个;
获取模块,用于当接收到所述观众客户端发送的针对目标媒体流标签的切换指令时,获取所述目标媒体流标签对应的目标媒体流,以及控制所述观众客户端所属的频道保持不变;
切换模块,用于停止推送所述默认媒体流,并将所述目标媒体流推送至所述观众客户端。
相应的,本发明实施例还提供了一种媒体流播放系统,包括服务器和观众客户端,其中,所述观众客户端进入直播频道;
所述服务器查询所述直播频道对应的N路媒体流;N≥2且为整数
所述服务器将所述默认媒体流推送至所述观众客户端,并将所述N路媒体流各自对应的媒体流标签推送至所述观众客户端;其中,所述默认媒体流为所述N路媒体流中的任意一个;
所述观众客户端显示所述默认媒体流,并显示所述N路媒体流各自对应的媒体流标签;
所述客户端接收到目标媒体流标签上发生的触发操作时,生成切换指令,并向所述服务器发送所述切换指令‘
所述服务器接收到所述切换指令时,获取所述目标媒体流标签对应的目标媒体流,以及控制所述观众客户端所属的频道保持不变;
停止推送所述默认媒体流,并将所述目标媒体流推送至所述观众客户端;
所述观众客户端显示所述目标媒体流。
实施本发明实施例,具有如下有益效果:
向观众客户端推送多个媒体流各自对应的媒体流标签,以使观众客户端推送的媒体流和媒体流标签,接收到观众客户端针对目标媒体流标签发送的切换指令时,将当前推送的媒体流替换为媒体流标签对应的目标媒体流,观众客户端在直播频道内便捷的切换媒体流,切换操作简单快捷,增加频道内播放媒体流播灵活性,同时,观众客户端不需要切换频道,避免直播频道内的用户流失,增加了用户粘性。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好理解本发明实施例公开的一种媒体流的控制方法及系统、相关设备,下面先对本发明实施例适用的直播网络构架进行描述。请参阅图1,图1是本发明实施例公开的一种直播网络构架示意图。如图1所示,该直播网络构架可以包括服务设备以及多个客户端,其中,服务设备也被称后台服务器、组件服务器等,服务设备可以通过互联网与多个客户端进行通信连接。
在图1所示的直播网络构架中,多个客户端中的部分客户端可以作为主播客户端,而其余客户端可以作为观众客户端。本发明实施例中,频道简单来讲就是服务设备创建的一种虚拟空间(或虚拟房间),位于该虚拟空间内的观众客户端可以不仅观看主播客户端的直播内容,还可以和主播客户端进行语音或文字的交互。主播客户端对接入其频道内的其余观众客户端不仅具有接入、踢出控制权,还具有直播主动权。本发明实施例中,主播客户端、观众客户端可以实现包括集合群聊、视频直播、频道K歌、在线游戏、在线影视等多种功能。在图1所示的直播网络构架中,主播客户端、观众客户端可以运行在包括但不限于移动电话、移动电脑、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、媒体播放器、智能电视、智能手表、智能眼镜、智能手环等用户设备上。
参见图2,为本发明第一实施例提供的一种媒体流的控制方法的流程示意图,在本发明实施例中,所述方法包括:
S101、当检测到观众客户端进入直播频道时,查询所述直播频道对应的N路媒体流,N≥2且为整数。
具体的,每个观众客户端对应一个用户账号,观众客户端通过用户账号登录服务器,服务器将观众客户端对应的用户账号加入直播频道的账号列表后,则确定观众客户端进入直播频道,服务器查询直播频道对应的N路媒体流,N为大于或等于2的整数,N路媒体流的内容可以相同也可以不相同(相同的情况是完全相同吗?)。在内容相同的情况下,N路媒体流分别具有不同的视角。例如,针对同一场体育赛事直播,现场设置有N台摄像机,N台摄像机采集不同视角的N路媒体流;或者针对同一场游戏直播,游戏中有N个控制角色,游戏摄像机跟随不同的控制角色生成N路媒体流。
可以理解的是,N路媒体流可以由各自对应的主播客户端分别实时上传至服务器,多个主播客户端可以位于同一直播频道或者分别位于不同的直播频道。
S102、将所述默认媒体流推送至所述观众客户端,并将所述N路媒体流各自对应的媒体流标签推送至所述观众客户端;其中,所述默认媒体流为所述N路媒体流中的任意一个。
具体的,服务器将N路媒体流中的默认媒体流推送至观众客户端,观众客户端对媒体流进行解析和显示,同时将多路媒体流各自对应的媒体流标签推送至观众客户端,媒体流标签表示对应媒体流的访问入口,用户可以通过观众客户端上显示的媒体流标签从服务器上拉取对应的媒体流。默认媒体流为N路媒体流中的一个,指定N路媒体流中的哪一路媒体流为默认媒体流可以由观众客户端进行设置,也可以由服务器进行设置。
S103、当接收到所述观众客户端发送的针对目标媒体流标签的切换指令时,获取所述目标媒体流标签对应的目标媒体流,以及控制所述观众客户端所属的频道保持不变。
具体的,目标媒体流为N路媒体流中除默认媒体流之外的媒体流,用户触发观众客户端上显示的目标媒体流对应的目标媒体流标签后,观众客户端向服务器发送切换指令,切换指令中携带目标媒体流的标识信息,服务器根据标识信息获取目标媒体流对应的目标媒体流。服务器控制观众客户端所属的频道保持不变,观众客户端仍然位于直播频道内。
S104、停止推送所述默认媒体流,并将所述目标媒体流推送至所述观众客户端。
具体的,媒体流可以为音频流和/或视频流,服务器将当前推送的默认媒体流替换为目标媒体流,观众客户端解析目标媒体流并输出设备进行输出,例如观众客户端通过扬声器和/或显示器输出解析得到的媒体流。
实施本发明的实施例,检测到观众客户端进入直播频道时,查询直播频道对应的多个媒体流,并向观众客户端推送多个媒体流中的任意一个,并推送多个媒体流各自对应的媒体流标签,以使观众客户端推送的媒体流和媒体流标签,接收到观众客户端针对目标媒体流标签发送的切换指令时,将当前推送的媒体流替换为媒体流标签对应的目标媒体流,观众客户端在直播频道内便捷的切换媒体流,切换操作简单快捷,同时,观众客户端不需要切换频道,避免直播频道内的用户流失,增加了用户粘性。
参加图3,为本发明第二实施例提供的一种媒体流的控制方法的流程示意图,在本发明实施例中,所述方法包括:
S201、获取N个主播客户端各自上传的1路媒体流,并将N路媒体流与所述直播频道进行关联。
具体的,在直播场景中,每个主播客户端实时向服务器上传1路媒体流,N个主播客户端同时向服务器上传N路媒体流,服务器将N路媒体流与主播播频道进行关联的方法可以是:服务器将N路媒体流的媒体流标识与直播频道的频道号进行绑定进行关联,并将绑定后的媒体流标识和频道号保存至服务器中。
需要说明的是,本发明实施例的所述的N个主播客户端可以位于同一直播频道内,也可以分别位于不同的N个直播频道内。
示例性的,假设N=4,直播频道为频道12345,主播客户端A实时上传媒体流1至服务器,主播客户端B实时上传媒体流2至服务器,主播客户端C实时上传媒体流3至服务器,主播客户端D实时上传媒体流4至服务器,服务器将上述4个主播客户端上传的4个媒体流与频道12345关联,并将关联关系保存至服务器中,例如,将4个媒体流的媒体流标识和直播频道的频道号绑定后保存至服务器中。其中,主播客户端A、主播客户端B、主播客户端C和主播客户端D可以均位于频道12345中,即上述4个主播客户端对应的用户账号在频道12345的账号列表中;主播客户端A、主播客户端B、主播客户端C和主播客户端D可以分别位于4个不同的频道内,且上述4个主播客户端中至少有有一个主播客户端位于关联的直播频道内,例如,主播客户端A位于频道12345中,主播客户端B、C、D分别位于3个不同于频道12345的频道中。
S202、当检测到观众客户端进入直播频道时,查询所述直播频道对应的N路媒体流,N≥2且为整数。
具体的,每个观众客户端对应一个用户账号,观众客户端通过用户账号登录服务器,服务器将观众客户端对应的用户账号加入直播频道的账号列表后,则确定观众客户端进入直播频道,服务器根据预先保存的关联关系查询直播频道对应的N路媒体流,N为大于或等于2的整数,N路媒体流的内容可以相同也可以不相同。
可选的,N路媒体流为相同内容的直播节目对应的N种不同视角的媒体流。例如,N=4,针对赛事直播,直播现场设置有4台不同位置的摄像机,4个摄像机采集的媒体流为4个不同视角的媒体流,将摄像机1采集的媒体流作为媒体流1,将摄像机2采集的媒体流作为媒体流2,将摄像机3采集的媒体流作为媒体流4,将摄像机4采集的媒体流作为媒体流4,并将这4个媒体流与直播频道进行关联;或者,针对游戏直播,游戏中有4个玩家,分别控制4个角色,游戏摄像机分别跟随4个角色采集到的4路媒体流与直播频道进行关联。
观众客户端1进入直播频道12345后,服务器根据预设关联关系查询频道12345关联有4个媒体流,分别为媒体流1、媒体流2、媒体流3和媒体流4。
需要说明的是,N路媒体流可以由各自对应的主播客户端分别实时上传至服务器,多个主播客户端可以位于同一直播频道或者分别位于不同的直播频道。
S203、获取所述N个主播客户端的等级,并将等级最高的主播客户端对应的媒体流作为所述默认媒体流。
具体的,在本发明实施例中,主播客户端的等级指通过主播客户端登录服务器的用户账号的等级,服务器可以根据现有技术中的方法控制主播客户端的等级,例如根据在线时长或经验值等参数控制主播客户端的等级,服务器获取N个主播客户端中每个主播客户端的等级,确定N个主播客户端中等级最高的主播客户端,将等级最高的主播客户端对应的媒体流作为默认媒体流。可以理解的是,默认媒体流的设置也可以由观众客户端完成,例如,观众客户端向服务器发送请求,请求中携带默认媒体流的媒体流标识,服务器根据媒体流标识确定默认媒体流。
示例性的,主播客户端A的等级为10级、主播客户端B的等级为9级、主播客户端C的等级为8级,主播客户端D的等级为7级,服务器获取上述4个主播客户端的等级,确定主播客户端A的等级最高,主播客户端A对应媒体流1,服务器将媒体流1作为默认媒体流。
S204、将所述默认媒体流推送至所述观众客户端,并将所述N路媒体流各自对应的媒体流标签推送至所述观众客户端。
具体的,服务器将N路媒体流中的默认媒体流推送至观众客户端,观众客户端对媒体流进行解析和显示,同时将N路媒体流各自对应的媒体流标签推送至观众客户端,媒体流标签表示对应媒体流的访问入口,用户可以通过观众客户端上显示的媒体流标签从服务器上拉取对应的媒体流。
示例性的,媒体流为视频流,默认媒体流为频道12345对应的4路媒体流中的媒体流1,服务器将媒体流1推送至观众客户端,观众客户端接收和解析媒体流1,在观众客户端的用户界面上显示解析得到视频图像,同时在用户界面的指定位置显示4路媒体流分别对应的媒体流标签,媒体流1对应视频流标签1,媒体流2对应媒体流标签2,媒体流3对应媒体流标签3,媒体流4对应媒体流标签4,观众客户端当前推送的媒体流对应的媒体流标签与其他媒体流标签的显示效果不相同,例如媒体流1的媒体流标签显示效果为高亮效果,用于和其他媒体流标签区分。
S205、当接收到所述观众客户端发送的针对所述目标媒体流标签的切换指令时,获取所述目标媒体流标签对应的目标媒体流,以及控制所述观众客户端所属的频道保持不变。
具体的,目标媒体流为N路媒体流中除默认媒体流之外的媒体流,用户触发观众客户端上显示的目标媒体流对应的目标媒体流标签后,观众客户端向服务器发送切换指令,媒体流标签表示媒体流的访问入口,例如媒体流的网络地址,切换指令中携带目标媒体流的网络地址,服务器根据网络地址获取目标媒体流对应的目标媒体流。
示例性的,服务器向观众客户端当前推送媒体流1,媒体流1对应的媒体流标签1显示效果为高亮状态,用户点击观众客户端的用户界面上显示的媒体流标签2,观众客户端检测到媒体流标签2上发生的点击操作后,生成切换指令,切换指令中携带媒体流标签2对应的媒体流2的网络地址,观众客户端向服务器发送切换指令,服务器根据切换指令中的媒体流2的网络地址或媒体流2。
S206、停止推送所述默认媒体流,获取所述默认媒体流的质量参数,并将所述质量参数应用于所述目标媒体流,以及将所述目标媒体流推送至所述观众客户端。
具体的,媒体流的质量参数包括分辨率、码率或帧率,服务器获取默认媒体流的质量参数,将默认媒体流的指令参数应用于目标媒体流的质量参数,使目标媒体流的质量参数和默认媒体流的质量参数一致,服务器停止向观众客户端推送默认媒体流,将目标媒体流推送至观众客户端,观众客户端对目标媒体流进行解析和输出,同时,在观众客户端的用户界面上更改目标媒体流对应的目标媒体流标签的显示效果发生改变,例如显示为高亮状态,与其他媒体流标签区别开来。
S207、接收所述观众客户端发送的操作请求,判断所述操作请求是否满足所述直播频道的频道权限条件,若为是,向所述直播频道内的所有观众客户端返回所述操作响应。
具体的,观众客户端发生的操作请求包括发送聊天消息、赠送虚拟物品等,观众客户端在直播频道内发送操作请求时,服务器判断操作请求是否满足直播频道的频道权限条件;其中所述频道权限条件包括聊天消息发送的权限条件或虚拟物品赠送的权限条件。频道权限条件可以由主播客户端设置也可以由服务进行设置,若满足,服务器向直播频道内的所有观众客户端返回操作响应。
示例性的,在直播频道内,主播客户端设置了观众客户端禁止发言的权限条件,该观众客户端在直播频道内发送聊天消息时,服务器根据主播客户端预先设置的频道权限条件不会在直播频道内广播聊天消息,而会向直播频道内广播表示观众客户端已禁言的提示消息。
实施本发明的实施例,检测到观众客户端进入直播频道时,查询直播频道对应的多个媒体流,并向观众客户端推送多个媒体流中的任意一个,并推送多个媒体流各自对应的媒体流标签,以使观众客户端推送的媒体流和媒体流标签,接收到观众客户端针对目标媒体流标签发送的切换指令时,将当前推送的媒体流替换为媒体流标签对应的目标媒体流,观众客户端在直播频道内便捷的切换媒体流,切换操作简单快捷,同时,观众客户端不需要切换频道,避免直播频道内的用户流失,增加了用户粘性。
参见图4,为本发明实施例提供的一种观众客户端的用户界面的示意图,在本发明实施例中,直播频道内正在进行游戏直播,游戏中有4个玩家,4个玩家的游戏直播画面对应4个媒体流,分别为媒体流1、媒体流2、媒体流3和媒体流4,默认媒体流为媒体流1。当服务器检测到观众客户端进入直播频道时,向观众客户端推送媒体流1并且向观众客户端推送4个媒体流各自对应的媒体流标签,观众客户端的用户界面如图3所示,用户界面显示4个媒体流标签,从左往右分别为媒体流1的媒体流标签、媒体流2的媒体流标签、媒体流3的媒体流标签和媒体流4的媒体流标签,观众客户端的用户界面当前显示媒体流1,第1个媒体流标签的显示效果为高亮效果,其他3个媒体流标签为正常状态。如果上传4个媒体流的4个主播客户端位于直播频道,则用户界面的主播资料显示区域显示4个主播客户端的主播资料;如果每个频道只允许存在1个主播客户端,那么主播资料显示区域只呈现当前频道的主播客户端的主播资料。
当观众客户端检测到第2个媒体流标签上发生的点击动作时,生成切换指令,第2个媒体流标签对应媒体流2的访问入口,观众客户端生成的切换指令中可包括媒体流2的网络地址,观众客户端向服务器发送切换指令,服务器根据网络地址获取媒体流2,并向观众客户端推送媒体流2,观众客户端接收媒体流2,对媒体流2进行解析和输出,观众客户端将用户界面上的第1个媒体流标签显示为正常状态,将第2个媒体流标签显示为高亮状态。用户在观众客户端的用户界面的聊天消息输入框中输入聊天消息,服务器判断观众客户端是否满足直播频道的频道权限条件,若为是,将聊天消息进行封装处理,例如添加发送时间和观众客户端的用户账号等封装处理,将处理后的聊天消息发送至直播频道内所有的观众客户端;或者观众客户端选择虚拟物品,向主播客户端赠送虚拟物品,服务器判断观众客户端是否有权限赠送选择的虚拟物品,若为是,向直播频道内的所有的观众客户端和主播客户端显示赠送成功的消息。
参见图5,为本发明第三实施例提供的一种媒体流的控制方法的交互示意图,在本发明实施例中,N个主播客户端分别向服务器上传1路媒体流,N路媒体流与直播频道具有关联关系,服务器接收到N个主播客户端上传的N路媒体流之后,执行以下操作:
S1、观众客户端1向服务器2发送进入直播频道的请求,服务器2将观众客户端1对应的用户账号加入直播频道的用户账号列表中。
S2、服务器2查询直播频道对应的N路媒体流。
S3、服务器2获取直播频道对应的N路媒体流,以及获取N路媒体流各自对应的媒体流标签。
S4、服务器2向观众客户端1推送默认媒体流,并推送N路媒体流各自对应的媒体流标签。默认媒体流为N路媒体流中任意一个媒体流。
S5、观众客户端1播放默认媒体流,并显示N路媒体流各自对应的媒体流标签。
S6、观众客户端1检测到目标媒体流标签上发生的触发操作时,生成切换指令。目标媒体流标签不同于默认媒体流对应的媒体流标签,触发操作可以为双击触发操作、单击触发操作或按键触发操作等,目标媒体流标签为目标媒体流的访问入口。
S7、观众客户端1向服务器2发送切换指令。
S8、服务器2获取目标媒体流,停止推送默认媒体流。
S9、服务器2向观众客户端1推送目标媒体流。
S10、观众客户端1显示目标媒体流。
可选的,在本发明实施例中,N路媒体流可以预先存储在服务器上,当观众客户端进入直播频道时,向观众客户端推送N路媒体流中的默认媒体流。N路媒体流可以是N个主播客户端分别实时向服务器上传的,本发明不作限制。
参加图6,为本发明实施例一提供的一种媒体流的控制装置的结构示意图,在本发明实施例中,所述装置包括:查询模块10、推送模块11、获取模块12和切换模块13。
查询模块10,用于当检测到观众客户端进入直播频道时,查询所述直播频道对应的N路媒体流,N≥2且为整数;
推送模块11,用于将所述默认媒体流推送至所述观众客户端,并将所述N路媒体流各自对应的媒体流标签推送至所述观众客户端;其中,所述默认媒体流为所述N路媒体流中的任意一个;
获取模块12,用于当接收到所述观众客户端发送的针对目标媒体流标签的切换指令时,获取所述目标媒体流标签对应的目标媒体流,以及控制所述观众客户端所属的频道保持不变;
切换模块13,用于停止推送所述默认媒体流,并将所述目标媒体流推送至所述观众客户端。
实施本发明的实施例,检测到观众客户端进入直播频道时,查询直播频道对应的多个媒体流,并向观众客户端推送多个媒体流中的任意一个,并推送多个媒体流各自对应的媒体流标签,以使观众客户端推送的媒体流和媒体流标签,接收到观众客户端针对目标媒体流标签发送的切换指令时,将当前推送的媒体流替换为媒体流标签对应的目标媒体流,观众客户端在直播频道内便捷的切换媒体流,切换操作简单快捷,同时,观众客户端不需要切换频道,避免直播频道内的用户流失,增加了用户粘性。
需要说明的是,上述实施例提供的频道控制的装置在处理媒体流的切换时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成描述的全部或部分功能。另外,上述实施例提供的频道控制的装置方法实施例一属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
参加图7,为本发明第二实施例提供的一种媒体流的控制装置的结构示意图,在本发明实施例中,所述装置除包括查询模块10、推送模块11、获取模块12和切换模块13之外,还包括:关联模块14和响应返回模块15。
关联模块14,用于获取N个主播客户端各自上传的1路媒体流,并将N路媒体流与所述直播频道进行关联;
其中,所述N个主播客户端均位于所述直播频道中或者所述N个主播客户端分别位于不同的N个频道中且所述N个主播客户端中至少一个主播客户端位于所述直播频道中。
响应返回模块15,用于接收所述观众客户端发送的操作请求,判断所述操作请求是否满足所述直播频道的频道权限条件,若为是,向所述直播频道内的所有观众客户端返回操作响应;其中所述频道权限条件包括聊天消息发送的权限条件或虚拟物品赠送的权限条件。
可选的,推送模块11用于获取所述N个主播客户端的等级,并将等级最高的主播客户端对应的媒体流作为默认媒体流;停止向观众客户端推送默认媒体流,将目媒体流推送至观众客户端。
可选的,推送模块11还用于获取所述默认媒体流的质量参数,将所述默认媒体流的质量参数应用于所述目标媒体流。
上述实施例提供的频道控制的装置方法实施例二属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。