直播音频切换方法、流媒体服务器及客户端的制作方法
【技术领域】
[0001]本发明实施例涉及音视频技术领域,尤其涉及一种直播音频切换方法、流媒体服务器及客户端。
【背景技术】
[0002]网络直播中,节目提供方将事先配置好的直播音频信号或者直播音视频信号通过网络上传至服务器,并发布至网址供用户观看。现有网络直播节目中的直播音频和直播视频都是固定配置的而且是单一的,用户选择观看某网络直播节目后,只能被动地接收单一的直播音频,无法进行自主选择。
[0003]而,如果想找到与自己喜爱的直播音频,则需要在不同网络直播节目提供方之间切换选择,这样显然会造成用户体验大打折扣。
【发明内容】
[0004]本发明实施例提供一种直播音频切换方法、媒体服务器及客户端,用以解决现有技术中用户无法在同一直播中自主选择直播音频的问题。
[0005]本发明实施例提供一种直播音频切换方法,包括:
[0006]获取多路直播音频,并为每路直播音频分配相应的直播地址;
[0007]构建直播元数据,在直播元数据中添加每路直播音频的描述信息以及所述直播音频的描述信息与所述直播地址之间的对应关系;
[0008]将所述直播元数据发送至客户端,以及监听所述客户端返回的选择指令;
[0009]若在预定时间内接收到所述客户端返回的选择指令,则将所述选择指令所指向的直播音频的描述信息对应的直播地址设定为当前直播地址;
[0010]将当前直播地址对应的直播音频发送至所述客户端。
[0011]本发明实施例提供一种流媒体服务器,包括:
[0012]数据获取单元,用于获取多路直播音频,并为每路直播音频分配相应的直播地址;
[0013]元数据生成单元,用于构建直播元数据,在直播元数据中添加每路直播音频的描述信息以及所述直播音频的描述信息与所述直播地址的对应关系;
[0014]互动单元,用于将所述直播元数据发送至客户端,以及监听所述客户端返回的选择指令;
[0015]指令响应单元,若在预定时间内接收到所述客户端返回的选择指令,则将所述选择指令所指向的直播音频的描述信息对应的直播地址设定为当前直播地址;
[0016]数据发送单元,用于将当前直播地址对应的直播音频发送至所述客户端。
[0017]本发明实施例提供一种直播音频切换方法,包括:
[0018]向一流媒体服务器请求直播元数据,并展示所述直播元数据中包含的多路直播音频的描述信息;
[0019]监测是否有输入选择指令;
[0020]若在预定时间内监测到输入选择指令,则根据所述输入选择指令指向的直播音频的描述信息生成选择指令,并将所述选择指令通知到所述流媒体服务器;
[0021]连接所述流媒体服务器返回的所述选择指令对应的直播地址;
[0022]根据所述直播地址从所述流媒体服务器中获取对应的直播音频,并播放。
[0023]本发明实施例提供一种客户端,包括:
[0024]数据请求单元,用于向一流媒体服务器请求直播元数据,并展示所述直播元数据中包含的多路直播音频的描述信息;
[0025]指令监测单元,用于监测是否有输入选择指令;
[0026]指令传送单元,用于若在预定时间内监测到输入选择指令,则根据所述输入选择指令指向的直播音频的描述信息生成选择指令,并将所述选择指令通知到所述流媒体服务器;
[0027]数据连接单元,用于连接所述流媒体服务器返回的所述选择指令对应的直播地址;
[0028]数据展示单元,用于根据所述直播地址从所述流媒体服务器中获取对应的直播音频,并播放。
[0029]本发明实施例提供的音频切换方法、流媒体服务器及装置,通过流媒体服务器获取多路直播音频,并在直播元数据中添加直播音频的描述信息与直播地址的对应关系,用户可在客户端展示的直播音频的描述信息中自主选择自己喜爱的直播音频的描述信息,流媒体服务器会根据用户的选择将用户选择的直播音频的描述信息对应的直播地址设定为当前直播地址,当用户的选择行为发生在当前直播音频的播放过程中,客户端还会进行两路直播音频间的同步切换。流媒体服务器为客户端提供了多路直播音频,而客户端则与用户互动并从流媒体服务器中获取用户喜爱的直播音频,流媒体服务器和客户端共同实现了用户在同一直播中自主选择直播音频的技术效果。
【附图说明】
[0030]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0031]图1为本发明音频切换方法流程图;
[0032]图2为本发明音频切换方法实施例流程图;
[0033]图3为本发明流媒体服务器结构示意图;
[0034]图4为本发明音频切换方法流程图;
[0035]图5为本发明音频切换方法实施例流程图;
[0036]图6为本发明客户端结构示意图。
【具体实施方式】
[0037]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0038]本发明实施例提供一种直播音频切换方法、流媒体服务器及客户端,可应用于网络直播场景中,人们在观看网络直播节目时,尤其是体育赛事,所有的观众都只能在屏幕前共享同一个主播,然而,不同性别,不同年龄,不同地域的观众喜好各不相同,不同的观众对同一直播节目都有各自的立场,观众自然喜欢听到和自己立场一致的主播的解说。如果根据现有的解决方案,只能在不同网络直播提供方之间进行切换选择,不仅浪费时间和流量,且在切换缓冲过程中有可能错过精彩的比赛瞬间。本发明实施例提供直播音频切换方法、流媒体服务器及客户端,就是要解决统一直播节目中用户无法自主选择直播音频的问题,通过网络分布式的方式获取多路直播音频,并将多路直播音频通过CDN分发,根据客户端获取的选择指令或切换指令,将用户自主选择的直播音频发送至客户端并进行播放。这样,用户即可在同一直播节目中自主地进行直播音频的选择,且可实现直播音频的同步切换,用户体验大大提尚。
[0039]需要说明的是,本发明实施例提供的直播音频切换方法、流媒体服务器及客户端还可应用于其它场景,在此不作限定。
[0040]为使本发明的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本发明进行进一步的详细说明。
[0041]参考图1,本发明实施例提供一种直播音频切换方法,包括:
[0042]步骤101,获取多路直播音频,并为每路直播音频分配相应的直播地址;
[0043]步骤102,构建直播元数据,在直播元数据中添加每路直播音频的描述信息以及所述直播音频的描述信息与所述直播地址之间的对应关系;
[0044]步骤103,将所述直播元数据发送至客户端,以及监听所述客户端返回的选择指令;若在预定时间内接收到所述客户端返回的选择指令,则转至步骤104 ;
[0045]步骤104,将所述选择指令所指向的直播音频的描述信息对应的直播地址设定为当前直播地址;
[0046]步骤105,将当前直播地址对应的直播音频发送至所述客户端。
[0047]其中,步骤101中,多路直播音频可采用网络分布式方式进行采集,各主播可分布在同一位置或不同位置,由于各主播的音频采集不在同一设备上,因此步骤101中流媒体服务器需分别获取不同主播的直播音频,并将获取的每路直播音频发布至为其分配好的直播地址。
[0048]步骤102和步骤103中,直播元数据中包含有每路直播音频的描述信息,以及直播音频的描述信息与直播地址的对应关系。直播元数据将被发送至客户端,直播元数据中的每路直播音频的描述信息将在客户端中进行展示,用户可直观地看到每路直播音频的描述信息,例如,码率、采样率、编码器类型、主播介绍等,主播介绍进一步可包括:主播的头像、名称、简介、风格、受欢迎程度、所属类型等等用户关心的信息。用户可找到其喜爱的主播,对该主播的直播音频的描述信息进行点选,步骤103就会根据用户的选择以及该路直播音频的描述信息与直播地址的对应关系,找到相应的直播地址。
[0049]步骤103中直播元数据的发送是在接收到客户端的连接请求之后,由于流媒体服务器中包含有多路直播音频,因此,流媒体服务器和客户端建立连接后,两者均无法确定应该发送或播放哪路直播音频。
[0050]而确定建立连接后所发送或播放的直播音频的实现方式有多种:
[0051]例如可以是随机播放,也可以如步骤104,在预定时间内接收到所述客户端返回的选择指令,则将所述选择指令所指向的直播音频的描述信息对应的直播地址设定为当前直播地址。所述预定时间是为用户留出的反应时间,例如可以是5s或者其它时长,可在预定时间内播放广告。如果在预定时间内未收到客户端返回的选择指令,可以通过客户端向用户发起提示,也可以持续等待直到用户输入选择指令,本发明对此不作限定。所述选择指令可以是用户对直播音频的描述信息的点选或用户输入的其它方式的选择指令,在此不作限定。根据所述选择指令所指向的直播音频的描述信息,步骤104会将直播音频的描述信息对应的地址设定为当前直播地址,步骤105则会将直播音频发布至当前直播地址,而客户端也会连接至当前直播地址,用户即可听到其选择的直播音频。
[0052]参考图2,若步骤103之后,在预定时间内未收到所述客户端返回的选择指令,除了上文所述的处理方式,还可在步骤103之后转至步骤106 ;
[0053]步骤106,将默认的直播地址设定为当前直播地址,其中,所述默认的直播地址为预置且与所述直播元数据中的一路直播音频的描述信息相对应。
[0054]如上文所述,所述预定时间是为用户预留的反应时间,而如果长时间未获得返回的数据,则会让用户误以为连接失败,影响用户体验。因此,所述预定