(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 CN 105376075 A (43)申请公布日 2016.03.02
(21)申请号 201510657130.7(22)申请日 2015.10.13
(71)申请人贵阳朗玛信息技术股份有限公司
地址550022 贵州省贵阳市高新区金阳科技
产业园创业大厦130室(72)发明人王恒 陈正超 周平(51)Int.Cl.
H04L 12/18(2006.01)H04L 29/08(2006.01)
权利要求书2页 说明书4页 附图2页
(54)发明名称
基于web的聊天室语音直播系统及语音直播方法(57)摘要
本发明公开了一种基于web的聊天室语音直播系统及语音直播方法。该系统包括:聊天室管理服务器,用于接收有用户需要收听聊天室语音直播的web请求,发送聊天室语音直播通知;聊天室语音服务器,用于接收聊天室语音直播通知,开放语音通道,允许直播管理服务器通过语音通道来请求聊天室语音数据;直播管理服务器,用于接收聊天室语音直播通知,向聊天室语音服务器请求聊天室语音数据,创建与HLS服务器的连接,将请求得到的聊天室语音数据进行编码并通过连接发送至HLS服务器;HLS服务器,用于接收来自于直播管理服务器编码后的语音数据并保存为多个文件以使得web下载播放。上述技术方案,提高了用户体验。 C N 1 0 5 3 7 6 0 7 5 A CN 105376075 A
权 利 要 求 书
1/2页
1.一种基于web的聊天室语音直播系统,其特征在于,包括:
聊天室管理服务器,用于接收有用户需要收听聊天室语音直播的web请求,并向直播管理服务器和聊天室语音服务器发送聊天室语音直播通知;
聊天室语音服务器,与所述聊天室管理服务器相连接,用于接收来自于所述聊天室管理服务器的所述聊天室语音直播通知,开放语音通道,允许直播管理服务器通过所述语音通道来请求聊天室语音数据;
所述直播管理服务器,分别与所述聊天室管理服务器以及所述聊天室语音服务器相连接,用于接收来自于所述聊天室管理服务器的所述聊天室语音直播通知,向所述聊天室语音服务器请求聊天室语音数据,创建与基于HTTP的流媒体网络传输协议HLS服务器的连接,将请求得到的聊天室语音数据进行编码并通过所述连接发送至所述HLS服务器;
所述HLS服务器,与所述直播管理服务器相连接,用于接收来自于所述直播管理服务器编码后的语音数据并保存为多个文件以使得web下载播放。
2.根据权利要求1所述的系统,其特征在于,所述直播管理服务器,还用于在聊天室语音直播结束后,销毁与所述HLS服务器的连接。
3.根据权利要求1所述的系统,其特征在于,所述HLS服务器包括:Nginx实时消息传输协议模块,用于将所述编码后的数据保存为多个传输流ts文件;Nginx模块,存储有配置文件,其中,所述配置文件中包括每个所述ts文件所保存音频数据的时间长度以及该ts文件的有效时间。
4.根据权利要求3所述的系统,其特征在于,Nginx实时消息传输协议模块,还用于当所述有效时间超时时,将该有效时间对应的ts文件进行删除。
5.根据权利要求1所述的系统,其特征在于,所述直播管理服务器创建的与HLS服务器的连接为实时消息传输协议RTMP连接,所述编码后的语音数据为高级音频编码AAC语音数据。
6.一种根据所述权利要求1至5中任一项所述的聊天室语音直播系统的语音直播方法,其特征在于,包括:
聊天室管理服务器接收有用户需要收听聊天室语音直播的web请求,并向直播管理服务器和聊天室语音服务器发送聊天室语音直播通知;
聊天室语音服务器接收来自于所述聊天室管理服务器的所述聊天室语音直播通知,开放语音通道,允许直播管理服务器通过所述语音通道来请求聊天室语音数据;
所述直播管理服务器接收来自于所述聊天室管理服务器的所述聊天室语音直播通知,向所述聊天室语音服务器请求聊天室语音数据,创建与基于HTTP的流媒体网络传输协议HLS服务器的连接,将请求得到的聊天室语音数据进行编码并通过所述连接发送至所述HLS服务器;
所述HLS服务器接收来自于所述直播管理服务器编码后的语音数据并保存为多个文件以使得web下载播放。
7.根据权利要求6所述的方法,其特征在于,在所述直播管理服务器创建与所述HLS服务器的连接之后,还包括:
所述直播管理服务器在聊天室语音直播结束后,销毁与所述HLS服务器的连接。
2
CN 105376075 A
权 利 要 求 书
2/2页
8.根据权利要求6所述的方法,其特征在于,所述HLS服务器接收来自于所述直播管理服务器编码后的语音数据并保存为多个文件包括:
所述HLS服务器的Nginx实时消息传输协议模块将所述编码后的数据保存为多个传输流ts文件;
所述HLS服务器的Nginx模块存储有配置文件,其中,所述配置文件中包括每个所述ts文件所保存音频数据的时间长度以及该ts文件的有效时间。
9.根据权利要求8所述的方法,其特征在于,还包括:Nginx实时消息传输协议模块在所述有效时间超时时,将该有效时间对应的ts文件进行删除。
10.根据权利要求6所述的方法,其特征在于,所述连接为实时消息传输协议RTMP连接,所述编码后的语音数据为高级音频编码AAC语音数据。
3
CN 105376075 A
说 明 书
基于web的聊天室语音直播系统及语音直播方法
1/4页
技术领域
本发明涉及通信领域,具体而言,涉及一种基于web的聊天室语音直播系统及语音直播方法。
[0001]
背景技术
随着越来越多的人使用语音聊天软件,聊天室的聊天内容变得更加多样化,大众
感兴趣的话题会越来越多。
[0003] 传统的语音聊天室直播需要用户安装客户端软件,并且注册成为会员后,进入该聊天室收听聊天内容。在聊天室中,用户想给朋友分享内容,而听众可能会因为设备等原因不能或不想安装该聊天室软件,于是需要提出一种方便快捷的语音聊天室直播方案,采用该方案,听众可以不安装客户端软件,不注册会员,不加入聊天室中,在浏览器(微信及QQ自带浏览器也行)中打开好友分享的链接即可收听。
[0002]
发明内容
本发明的主要目的在于公开了一种基于web的聊天室语音直播系统及语音直播
方法,以至少解决相关技术中用户需要安装客户端软件,注册成为会员后,才可进入该聊天室收听聊天内容,导致用户体验降低的问题。[0005] 根据本发明的一个方面,提供了一种基于web的聊天室语音直播系统。[0006] 根据本发明的web的聊天室语音直播系统包括:聊天室管理服务器,用于接收有用户需要收听聊天室语音直播的web请求,并向直播管理服务器和聊天室语音服务器发送聊天室语音直播通知;聊天室语音服务器,与上述聊天室管理服务器相连接,用于接收来自于上述聊天室管理服务器的上述聊天室语音直播通知,开放语音通道,允许直播管理服务器通过上述语音通道来请求聊天室语音数据;上述直播管理服务器,分别与上述聊天室管理服务器以及上述聊天室语音服务器相连接,用于接收来自于上述聊天室管理服务器的上述聊天室语音直播通知,向上述聊天室语音服务器请求聊天室语音数据,创建与基于HTTP的流媒体网络传输协议(HLS)服务器的连接,将请求得到的聊天室语音数据进行编码并通过上述连接发送至上述HLS服务器;上述HLS服务器,与上述直播管理服务器相连接,用于接收来自于上述直播管理服务器编码后的语音数据并保存为多个文件以使得web下载播放。
[0007] 根据本发明的另一方面,提供了一种基于web的聊天室语音直播方法。[0008] 根据本发明的基于web的聊天室语音直播方法包括:聊天室管理服务器接收有用户需要收听聊天室语音直播的web请求,并向直播管理服务器和聊天室语音服务器发送聊天室语音直播通知;聊天室语音服务器接收来自于上述聊天室管理服务器的上述聊天室语音直播通知,开放语音通道,允许直播管理服务器通过上述语音通道来请求聊天室语音数据;上述直播管理服务器接收来自于上述聊天室管理服务器的上述聊天室语音直播通知,向上述聊天室语音服务器请求聊天室语音数据,创建与HLS服务器的连接,将请求得到的
[0004]
4
CN 105376075 A
说 明 书
2/4页
聊天室语音数据进行编码并通过上述连接发送至上述HLS服务器;上述HLS服务器接收来自于上述直播管理服务器编码后的语音数据并保存为多个文件以使得web下载播放。[0009] 通过本发明,基于web实现了实时播放聊天室语音的方案,在聊天室中,用户想给听众分享内容,听众可以不安装客户端软件,不注册会员,不加入聊天室中,在浏览器(微信及QQ自带浏览器也行)中打开好友分享的链接即可收听,有效地提高了用户体验。附图说明
图1是根据本发明实施例的基于web的聊天室语音直播系统的结构框图;[0011] 图2是根据本发明优选实施例的基于web的聊天室语音直播系统的结构框图;[0012] 图3是根据本发明实施例的基于web的聊天室语音直播方法的流程图。
[0010]
具体实施方式
[0013] 下面结合说明书附图对本发明的具体实现方式做一详细描述。
[0014] 图1是根据本发明实施例的基于web的聊天室语音直播系统的结构框图。如图1所示,该基于web的聊天室语音直播系统包括:[0015] 聊天室管理服务器(PCMS)10,用于接收有用户需要收听聊天室语音直播的web请求,并向直播管理服务器和聊天室语音服务器发送聊天室语音直播通知;[0016] 聊天室语音服务器(PCS)12,与上述聊天室管理服务器相连接,用于接收来自于上述聊天室管理服务器的上述聊天室语音直播通知,开放语音通道,允许直播管理服务器通过上述语音通道来请求聊天室语音数据;[0017] 上述直播管理服务器(PCBS)14,分别与上述聊天室管理服务器以及上述聊天室语音服务器相连接,用于接收来自于上述聊天室管理服务器的上述聊天室语音直播通知,向上述聊天室语音服务器请求聊天室语音数据,创建与基于HTTP的流媒体网络传输协议(HLS)服务器的连接,将请求得到的聊天室语音数据进行编码并通过上述连接发送至上述HLS服务器;
[0018] 上述HLS服务器16,与上述直播管理服务器相连接,用于接收来自于上述直播管理服务器编码后的语音数据并保存为多个文件以使得web下载播放。[0019] 相关技术中,语音聊天室直播需要用户安装客户端软件,并且注册成为会员后,进入该聊天室收听聊天内容。采用图1所示的基于web的聊天室语音直播系统,在聊天室中,用户想给听众分享内容,听众可以不安装客户端软件,不注册会员,不加入聊天室中,在浏览器(微信及QQ自带浏览器也行)中打开好友分享的链接即可收听,有效地提高了用户体验。
[0020] 在优选实施过程中,聊天室管理服务器(PCMS)10在该直播功能中的作用是管理聊天室,当接收到web请求需要收听聊天室直播时,通知语音管理服务器转发该聊天室的语音数据,且通知直播管理服务器开始聊天室语音直播。
[0021] 在优选实施过程中,该服务器负责混合及分发聊天室的语音数据,当服务器接收到聊天室管理服务器发来的开始聊天室直播通知时,开放一个语音通道,允许直播管理服务器通过这个通道来请求聊天室的语音数据。[0022] 其中,直播管理服务器14创建的与HLS服务器的连接可以为实时消息传输协议
5
CN 105376075 A
说 明 书
3/4页
(RTMP)连接,上述编码后的语音数据可以为高级音频编码(AAC)语音数据。[0023] 优选地,上述直播管理服务器14,还用于在聊天室语音直播结束后,销毁与上述HLS服务器的连接。
[0024] 优选实施过程中,直播管理服务器主要负责直播通道(即上述连接)的建立及销毁,直播数据的格式转换。当接收到聊天室管理服务器的直播通知时,到聊天室语音服务器(PCS)请求聊天室语音数据,将接收到的语音数据编码成HLS服务器可接收的AAC编码语音数据。创建一个与HLS服务器的RTMP连接,通过这个连接将AAC语音数据发送到HLS服务器。
[0025] 优选地,如图2所示,上述HLS服务器16可以进一步包括:Nginx实时消息传输协议模块(nginx-rtmp-module)160,用于将上述编码后的数据保存为多个传输流ts文件;Nginx模块162,存储有配置文件,其中,上述配置文件中包括每个上述ts文件所保存音频数据的时间长度以及该ts文件的有效时间。[0026] 优选地,如图2所示,Nginx实时消息传输协议模块160,还用于当上述有效时间超时时,将该有效时间对应的ts文件进行删除。[0027] 在优选实施过程中,HLS服务器使用的是开源的nginx(一款轻量级的Web服务器)以及nginx-rtmp-module模块,nginx-rtmp-module模块的功能是将从直播管理服务器(PCBS)发送来的AAC音频数据保存为多个ts文件,每个ts文件所保存的音频数据的时间长度在nginx服务器的配置文件中配置。每个ts文件的有效时间也由nginx服务器的配置文件配置,当文件过了有效时间后,nginx-rtmp-module模块负责将过期文件删除。[0028] 把整个流分成一个个基于HTTP的文件,web每次只下载一些。在开始一个流媒体会话时,客户端会下载一个包含元数据的extended M3U(m3u8)playlist文件,用于寻找可用的媒体流。HLS只请求基本的HTTP报文,可以穿过任何允许HTTP数据通过的防火墙或者代理服务器。
[0029] 图3是根据本发明实施例的基于web的聊天室语音直播方法的流程图。如图3所示,该基于web的聊天室语音直播方法包括:[0030] 步骤S301:聊天室管理服务器接收有用户需要收听聊天室语音直播的web请求,并向直播管理服务器和聊天室语音服务器发送聊天室语音直播通知;[0031] 步骤S303:聊天室语音服务器接收来自于上述聊天室管理服务器的上述聊天室语音直播通知,开放语音通道,允许直播管理服务器通过上述语音通道来请求聊天室语音数据;
[0032] 步骤S305:上述直播管理服务器接收来自于上述聊天室管理服务器的上述聊天室语音直播通知,向上述聊天室语音服务器请求聊天室语音数据,创建与基于HTTP的流媒体网络传输协议HLS服务器的连接,将请求得到的聊天室语音数据进行编码并通过上述连接发送至上述HLS服务器;[0033] 步骤S307:上述HLS服务器接收来自于上述直播管理服务器编码后的语音数据并保存为多个文件以使得web下载播放。
聊天室中的用户分享聊天室链接给听众(可以是朋友圈或者QQ空间),听众打开
该链接后,所链接的web通知聊天室管理服务器(PCMS)有人来收听该聊天室聊天内容了,之后各服务器就会根据图3所示的方法的完成各服务器的职能,之后web可到HLS服务器
[0034]
6
CN 105376075 A
说 明 书
4/4页
下载语音文件进行播放了。
[0035] 采用图3所示的基于web的聊天室语音直播方法,在聊天室中,用户想给听众分享内容,听众可以不安装客户端软件,不注册会员,不加入聊天室中,在浏览器(微信及QQ自带浏览器也行)中打开好友分享的链接即可收听,有效地提高了用户体验。[0036] 其中,直播管理服务器14创建的与HLS服务器的连接可以为实时消息传输协议(RTMP)连接,上述编码后的语音数据可以为高级音频编码(AAC)语音数据。[0037] 优选地,在步骤S305中直播管理服务器创建与上述HLS服务器的连接之后,还可以包括以下处理:上述直播管理服务器在聊天室语音直播结束后,销毁与上述HLS服务器的连接。
[0038] 优选地,步骤S307中,上述HLS服务器接收来自于上述直播管理服务器编码后的语音数据并保存为多个文件可以进一步包括:上述HLS服务器的Nginx实时消息传输协议模块将上述编码后的数据保存为多个传输流ts文件;上述HLS服务器的Nginx模块存储有配置文件,其中,上述配置文件中包括每个上述ts文件所保存音频数据的时间长度以及该ts文件的有效时间。[0039] 优选地,Nginx实时消息传输协议模块在上述有效时间超时时,将该有效时间对应的ts文件进行删除。[0040] 综上所述,借助本发明提供的上述实施例,通过web进行语音聊天室直播,听众可以不安装客户端软件,可以不注册会员,可以不加入聊天室中,在浏览器(微信及QQ自带浏览器也行)中打开好友分享的链接即可收听。上述操作方便快捷,有效提高了用户体验。[0041] 以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
7
CN 105376075 A
说 明 书 附 图
1/2页
图1
图2
8
CN 105376075 A
说 明 书 附 图
2/2页
图3
9