发明内容
本发明实施例所要解决的技术问题在于,提供一种基于IPTV系统的卡拉OK业务的实现方法、终端、服务器端及IPTV系统,可实现远程卡拉OK互动(如:合唱等),解决现有IPTV系统的卡拉OK业务的空间问题,提升用户的使用体验,提高业务竞争力。
为了解决上述技术问题,本发明实施例提供了一种基于IPTV系统的卡拉OK业务的实现方法,所述IPTV系统包括:服务器端和至少两个终端,包括:
当第一终端与第二终端建立卡拉OK连接后,所述服务器端根据所述第一终端和/或所述第二终端选择的歌曲创建播放列表,并向所述第一终端和所述第二终端下发所述播放列表;
当所述第一终端和/或所述第二终端启动所述播放列表时,所述服务器端向所述第一终端和所述第二终端同步发送所述播放列表中的歌曲的媒体流;
所述第一终端实时采集本端用户唱歌的第一音频流,将所述第一音频流与所述服务器端下发的媒体流进行混音播放,并将所述第一音频流传送至所述第二终端,使所述第二终端将所述第一音频流与所述服务器端下发的媒体流进行混音播放;
所述第二终端实时采集本端用户唱歌的第二音频流,将所述第二音频流与所述服务器端下发的媒体流进行混音播放,并将所述第二音频流传送至所述第一终端,使所述第一终端将所述第二音频流与所述服务器端下发的媒体流进行混音播放。
其中,所述第一终端与第二终端建立卡拉OK连接,包括:
第一终端登录所述服务器端,通过所述服务器端将第二终端添加为好友,所述服务器端为所述第一终端和所述第二终端设置好友标识;
所述第一终端向所述服务器端发送卡拉OK邀请消息,所述卡拉OK邀请消息中携带所述好友标识;
所述服务器端根据所述卡拉OK邀请消息中的好友标识,检测所述第二终端是否在线,若检测结果为是,则将所述卡拉OK邀请消息转发至所述第二终端,当接收到所述第二终端在预定时间内返回的确认邀请消息时,所述服务器端向所述第一终端返回邀请成功信息,并使所述第一终端和所述第二终端建立卡拉OK连接;当接收到所述第二终端在预定时间内返回的拒绝邀请消息时,或者在预定时间内未接收到所述第二终端返回的确认邀请消息或拒绝邀请消息时,所述服务器端向所述第一终端返回邀请失败信息;
若检测结果为否,所述服务器端向所述第一终端返回邀请失败信息。
其中,所述当接收到所述第二终端在预定时间内返回的确认邀请消息之后,所述服务器端向所述第一终端返回邀请成功信息之前,还包括:
所述服务器端对所述第一终端和所述第二终端的业务权限进行认证,若认证成功,则向所述第一终端返回邀请成功信息;若认证失败,则向所述第一终端返回邀请失败信息。
其中,所述服务器端根据所述第一终端和/或所述第二终端选择的歌曲创建播放列表,并向所述第一终端和所述第二终端下发所述播放列表,包括:
所述服务器端为所述第一终端和所述第二终端提供可供选择的歌曲列表,并接收所述第一终端和/或所述第二终端对所述歌曲列表中的歌曲的选择;
所述服务器端根据所述第一终端和/或所述第二终端选择的歌曲,创建播放列表;
所述服务器端向所述第一终端和所述第二终端下发所述播放列表,所述播放列表中包含各首歌曲的播放链接。
其中,所述当所述第一终端和/或所述第二终端启动所述播放列表时,所述服务器端向所述第一终端和所述第二终端同步发送所述播放列表中的歌曲的媒体流,包括:
所述第一终端和/或所述第二终端依次获取所述播放列表中各首歌曲的链接,并向所述服务器端发送链接请求,以启动所述播放列表;
所述服务器端响应所述第一终端和/或所述第二终端的链接请求,向所述第一终端和所述第二终端同步发送所请求的歌曲的媒体流。
其中,所述第一终端实时采集本端用户唱歌的第一音频流,将所述第一音频流与所述服务器端下发的媒体流进行混音播放,并将所述第一音频流传送至所述第二终端,使所述第二终端将所述第一音频流与所述服务器端下发的媒体流进行混音播放,包括:
所述第一终端实时采集本端用户唱歌的第一音频流;
所述第一终端将本端的STC(System Time Clock,系统时序时钟)与所述服务器端当前下发的歌曲的媒体流的PTS(Presentation Time Stamp,显示时间标签)进行校准,作为所述第一音频流的时间戳;
所述第一终端根据所述时间戳,将所述第一音频流与所述服务器端当前下发的歌曲的媒体流进行混音播放;
所述第一终端基于P2P(Peer-to-Peer,点对点)协议对所述实时采集的第一音频流进行编码,并将编码后的第一音频流传送至所述第二终端;
所述第二终端基于P2P协议对所述第一音频流进行解码,并将解码后的所述第一音频流与所述服务器端当前下发的歌曲的媒体流进行混音播放。
其中,所述第二终端实时采集本端用户唱歌的第二音频流,将所述第二音频流与所述服务器端下发的媒体流进行混音播放,并将所述第二音频流传送至所述第一终端,使所述第一终端将所述第二音频流与所述服务器端下发的媒体流进行混音播放,包括:
所述第二终端实时采集本端用户唱歌的第二音频流;
所述第二终端将本端的STC与所述服务器端当前下发的歌曲的媒体流的PTS进行校准,作为所述第二音频流的时间戳;
所述第二终端根据所述时间戳,将所述第二音频流与所述服务器端当前下发的歌曲的媒体流进行混音播放;
所述第二终端基于P2P协议对所述实时采集的第二音频流进行编码,并将编码后的第二音频流传送至所述第一终端;
所述第一终端基于P2P协议对所述第二音频流进行解码,并将解码后的所述第二音频流与所述服务器端当前下发的歌曲的媒体流进行混音播放。
相应地,本发明实施例还提供了一种终端,包括:
卡拉OK连接模块,用于与除本端以外的另一终端建立卡拉OK连接;
交互模块,用于在所述卡拉OK连接模块建立卡拉OK连接后,接收所述服务器端下发的播放列表,以及接收所述服务器端下发的所述播放列表中的歌曲的媒体流;
第一处理模块,用于实时采集本端用户唱歌的第一音频流,并将所述第一音频流与所述交互模块接收到的所述服务器端下发的媒体流进行混音播放,并将所述第一音频流传送至所述另一终端,使所述另一终端将所述本端用户唱歌的音频流与所述服务器端下发的媒体流进行混音播放;
第二处理模块,用于接收所述另一终端传送的另一终端用户唱歌的第二音频流,将所述第二音频流与所述交互模块接收到的所述服务器端下发的媒体流进行混音播放。
其中,所述第一处理模块包括:
采集单元,用于实时采集本端用户唱歌的第一音频流;
校准单元,用于将本端的STC与所述服务器端下发的媒体流的PTS进行校准,作为所述采集单元采集到的所述第一音频流的时间戳;
播放处理单元,用于根据所述校准单元得到的时间戳,将所述第一音频流与所述服务器端当前下发的歌曲的媒体流进行混音播放;
发送处理单元,用于基于P2P协议对所述采集单元采集的第一音频流进行编码,并将编码后的第一音频流传送至所述另一终端,使所述另一终端将所述本端用户唱歌的音频流与所述服务器端下发的媒体流进行混音播放。
其中,所述第二处理模块包括:
接收单元,用于接收所述另一终端传送的另一终端用户唱歌的第二音频流;
解码单元,用于基于P2P协议对所述接收单元接收到的第二音频流进行解码;
处理单元,用于将所述解码单元解码后的第二音频流与所述服务器端下发的媒体流进行混音播放。
相应地,本发明实施例还提供了一种服务器端,包括:
应用服务器,用于管理所述第一终端和所述第二终端的各种应用,所述应用包括登录、好友添加和卡拉OK连接中的任一种或多种;
EPG(Electronic Program Guide,电视节目指南)服务器,用于当所述第一终端通过所述应用服务器与所述第二终端建立卡拉OK连接后,为所述第一终端和所述第二终端提供可供选择的歌曲列表,并接收所述第一终端和/或所述第二终端对所述歌曲列表中的歌曲的选择,根据所述第一终端和/或所述第二终端选择的歌曲创建播放列表,并将所述播放列表下发至所述第一终端和所述第二终端;
流媒体服务器,用于当所述第一终端和/或所述第二终端启动所述EPG服务器下发的播放列表时,向所述第一终端和所述第二终端同步发送所述播放列表中的歌曲的媒体流。
其中,所述服务器端还包括:
认证服务器,用于对所述第一终端和所述第二终端的业务权限进行认证,若认证成功,则通知所述应用服务器向所述第一终端返回邀请成功信息;若认证失败,则通知所述应用服务器向所述第一终端返回邀请失败信息。
相应地,本发明实施例还提供了一种IPTV系统,包括服务器端和至少两个终端,
所述服务器端,用于当第一终端与第二终端建立卡拉OK连接后,根据所述第一终端和/或所述第二终端选择的歌曲创建播放列表,并向所述第一终端和所述第二终端下发所述播放列表;当所述第一终端和/或所述第二终端启动所述播放列表时,向所述第一终端和所述第二终端同步发送所述播放列表中的歌曲的媒体流;
所述第一终端,用于实时采集本端用户唱歌的第一音频流,将所述第一音频流与所述服务器端下发的媒体流进行混音播放,并将所述第一音频流传送至所述第二终端,使所述第二终端将所述第一音频流与所述服务器端下发的媒体流进行混音播放;
所述第二终端,用于实时采集本端用户唱歌的第二音频流,将所述第二音频流与所述服务器端下发的媒体流进行混音播放,并将所述第二音频流传送至所述第一终端,使所述第一终端将所述第二音频流与所述服务器端下发的媒体流进行混音播放。
实施本发明实施例,具有如下有益效果:
本发明实施例的第一终端和第二终端通过服务器端建立卡拉OK连接后,服务器端根据第一终端和/或第二终端对歌曲的选择确定播放列表,并向第一终端和第二终端同步下发所述播放列表中的歌曲的媒体流,通过第一终端与第二终端的交互,实现了第一终端和第二终端的卡拉OK同步播放,第一终端用户可同步听到好友(第二终端用户)唱歌的声音,第二终端用户也可同步听到好友(第一终端用户)唱歌的声音,实现了远程卡拉OK互动(如第一终端用户与第二终端用户可进行合唱),解决了现有IPTV系统的卡拉OK业务的空间问题,提升了终端用户的使用体验,提高了业务竞争力。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,为本发明的IPTV系统的实施例的结构示意图;所述IPTV系统包括:服务器端20和至少两个终端10(图中示出了三个,实际应用中不限于三个)。
所述服务器端20,用于当第一终端与第二终端建立卡拉OK连接后,根据所述第一终端和/或所述第二终端选择的歌曲创建播放列表,并向所述第一终端和所述第二终端下发所述播放列表;当所述第一终端和/或所述第二终端启动所述播放列表时,向所述第一终端和所述第二终端同步发送所述播放列表中的歌曲的媒体流。
具体实现中,所述服务器端20为IPTV系统的前端服务系统,其还承担着IPTV系统的基本业务功能,包括向终端10提供视听内容为主的视频内容服务,如直播、点播、轮播、时移等服务功能,该基本业务功能与现有技术相同,在此不赘述。
所述第一终端,用于实时采集本端用户唱歌的第一音频流,将所述第一音频流与所述服务器端下发的媒体流进行混音播放,并将所述第一音频流传送至所述第二终端,使所述第二终端将所述第一音频流与所述服务器端下发的媒体流进行混音播放。
所述第二终端,用于实时采集本端用户唱歌的第二音频流,将所述第二音频流与所述服务器端下发的媒体流进行混音播放,并将所述第二音频流传送至所述第一终端,使所述第一终端将所述第二音频流与所述服务器端下发的媒体流进行混音播放。
具体实现中,所述IPTV系统中的终端10可以为机顶盒(Set Top Box,STB)、网络电视、电视手机、数字电视一体机等具有接收数字电视功能的终端。所述第一终端为所述IPTV系统中的任一终端10,所述第二终端为所述IPTV系统中除所述第一终端以外的任一终端10。
本发明实施例可实现远程卡拉OK互动(如:合唱等),解决了现有IPTV系统的卡拉OK业务的空间问题,提升了用户的使用体验,提高了业务竞争力。
为了更清楚地说明本发明,下面将对本发明的IPTV系统中的终端进行详细介绍。
请参见图2,为本发明的终端的实施例的结构示意图;本实施例的终端为所述IPTV系统中的任一终端10,其可以为图1所示实施例中的第一终端,也可以为图1所示实施例中的第二终端。本实施例以所述终端为图1所示实施例中的第一终端为例进行说明。所述终端10包括:
卡拉OK连接模块101,用于与除本端以外的另一终端建立卡拉OK连接。
具体实现中,第一终端登录至所述服务器端,登录成功后在所述服务器端上添加好友,如:输入第二终端(除本端以外的另一终端)的ID(Identity,身份标识)号码,将所述第二终端添加为好友,所述服务器端则为所述第一终端和所述第二终端设置好友标识。所述卡拉OK连接模块101可远程邀请好友(所述第二终端)参与卡拉OK,所述卡拉OK连接模块101向所述服务器端发送卡拉OK邀请消息,所述卡拉OK邀请消息中携带所述好友标识,当接收到所述服务器端返回的邀请成功信息时,所述卡拉OK连接模块101通过所述服务器端与所述第二终端建立卡拉OK连接。
交互模块102,用于在所述卡拉OK连接模块101建立卡拉OK连接后,接收所述服务器端下发的播放列表,以及接收所述服务器端下发的所述播放列表中的歌曲的媒体流。
具体实现中,所述交互模块102承担了所述第一终端与所述服务器端之间的所有信息交互。需要说明的是,所述交互模块102接收到所述服务器端下发的播放列表后,可以自行启动所述播放列表,触发所述服务器端下发所述播放列表中的歌曲的媒体流;也可以由第二终端启动所述播放列表,接收所述服务器端同步下发所述播放列表中的歌曲的媒体流。
第一处理模块103,用于实时采集本端用户唱歌的第一音频流,并将所述第一音频流与所述交互模块102接收到的所述服务器端下发的媒体流进行混音播放,并将所述第一音频流传送至所述另一终端,使所述另一终端将所述本端用户唱歌的音频流与所述服务器端下发的媒体流进行混音播放。
具体实现中,请一并参见图3,为图2所示的第一处理模块的实施例的结构示意图;所述第一处理模块103包括:
采集单元311,用于实时采集本端用户唱歌的第一音频流。
校准单元312,用于将本端的STC与所述服务器端下发的媒体流的PTS进行校准,作为所述采集单元311采集到的所述第一音频流的时间戳。
播放处理单元313,用于根据所述校准单元312得到的时间戳,将所述第一音频流与所述服务器端当前下发的歌曲的媒体流进行混音播放。
发送处理单元314,用于基于P2P协议对所述采集单元311采集的第一音频流进行编码,并将编码后的第一音频流传送至所述另一终端,使所述另一终端将所述本端用户唱歌的音频流与所述服务器端下发的媒体流进行混音播放。
第二处理模块104,用于接收所述另一终端传送的另一终端用户唱歌的第二音频流,将所述第二音频流与所述交互模块102接收到的所述服务器端下发的媒体流进行混音播放。
具体实现中,请一并参见图4,为图2所示的第二处理模块的实施例的结构示意图;所述第二处理模块104包括:
接收单元411,用于接收所述另一终端传送的另一终端用户唱歌的第二音频流。
解码单元412,用于基于P2P协议对所述接收单元411接收到的第二音频流进行解码。
处理单元413,用于将所述解码单元412解码后的第二音频流与所述服务器端下发的媒体流进行混音播放。
需要说明的是,本实施例的所述终端10为图1所示实施例中的第一终端仅为举例,当所述终端10为图1所示实施例中的第二终端时可类似分析,在此不赘述。
本实施例中,所述第一终端和所述第二终端(除第一终端以外的另一终端)基于P2P技术进行音频流的传输,可减少传输时延。所述第一终端和所述第二终端均通过服务器端下发的歌曲的媒体流的PTS进行音频流的校准,使所述第一终端与所述第二终端可同步播放对端用户唱歌的音频数据,即第一终端用户可同步听到第二终端用户唱歌的声音,第二终端用户也可同步听到第一终端用户唱歌的声音,实现了第一终端用户与第二终端用户的卡拉OK互动(如:合唱等)。
本发明实施例可实现远程卡拉OK互动(如:合唱等),解决了现有IPTV系统的卡拉OK业务的空间问题,提升了用户的使用体验,提高了业务竞争力。
为了更清楚地说明本发明,下面将对本发明的IPTV系统中的服务器端进行详细介绍。
请参见图5,为本发明的服务器端的第一实施例的结构示意图;所述服务器端包括:应用服务器201、EPG服务器202和流媒体服务器203。
所述应用服务器201,用于管理所述第一终端和所述第二终端的各种应用。
所述应用服务器201管理的应用包括但不限于:登录、好友添加和卡拉OK连接中的任一种或多种。具体实现中,所述第一终端登录至所述应用服务器201,所述应用服务器201将所述第一终端连接至IPTV系统中,完成对登录应用的管理。登录成功后的所述第一终端在所述应用服务器201上添加好友,如:输入第二终端的ID号码,将所述第二终端添加为好友,所述应用服务器201则为所述第一终端和所述第二终端设置好友标识,通过上述过程,所述应用服务器201完成了好友添加应用的管理。将所述第二终端添加成为好友后,所述第一终端可远程与好友(所述第二终端)进行卡拉OK互动,所述第一终端向所述应用服务器201发送卡拉OK邀请消息,所述卡拉OK邀请消息中携带所述好友标识,所述应用服务器201根据所述第一终端发送的卡拉OK邀请消息中的好友标识,检测具备所述好友标识的所述第二终端是否在线(即检测所述第二终端是否已成功连接至所述应用服务器201),若检测结果为是,则将所述卡拉OK邀请消息转发至所述第二终端,当接收到所述第二终端在预定时间内返回的确认邀请消息时,所述应用服务器201向所述第一终端返回邀请成功信息,并使所述第一终端和所述第二终端之间建立卡拉OK连接,通过上述过程,所述应用服务器201完成了对卡拉OK连接应用的管理;当接收到所述第二终端在预定时间内返回的拒绝邀请消息时,或者在预定时间内未接收到所述第二终端返回的确认邀请消息或拒绝邀请消息时,所述应用服务器201向所述第一终端返回邀请失败信息;若检测结果为否,所述应用服务器201向所述第一终端返回邀请失败信息,此处,所述应用服务器201向所述第一终端返回的邀请失败信息中可以包含失败原因的提示信息,比如:所述应用服务器201向所述第一终端返回“第二终端离线,邀请失败”的提示信息,或者“第二终端无权限,邀请失败”等等。可以理解的是,上述预定的时间可以根据实际需要进行设定,该设定过程与现有技术相同;另外,本发明实施例采用第一终端作为邀请端仅为举例,当所述第一终端添加所述第二终端为好友后,所述第二终端也作为邀请端,向所述第一终端发送卡拉OK邀请,此时的处理过程类似,在此不赘述。
所述EPG服务器202,用于当所述第一终端通过所述应用服务器201与所述第二终端建立卡拉OK连接后,为所述第一终端和所述第二终端提供可供选择的歌曲列表,并接收所述第一终端和/或所述第二终端对所述歌曲列表中的歌曲的选择,根据所述第一终端和/或所述第二终端选择的歌曲创建播放列表,并将所述播放列表下发至所述第一终端和所述第二终端。
所述EPG服务器202为各终端10提供卡拉OK业务索引及导航等功能,具体实现中,所述EPG服务器202为各终端10提供各种类型的歌曲列表,终端用户可在终端10中进行歌曲查找和歌曲选择操作,各终端10根据终端用户的操作,向所述EPG服务器202发送相应的歌曲查找请求和歌曲选择请求,所述EPG服务器202则向各终端10返回所请求的歌曲列表以及相应的播放列表。本实施例中,所述第一终端通过所述应用服务器201与所述第二终端建立卡拉OK连接后,所述EPG服务器202为所述第一终端和所述第二终端提供可供选择的歌曲列表,当第一终端用户通过所述第一终端,和/或第二终端用户通过所述第二终端分别选择歌曲后,所述第一终端和/或所述第二终端分别向所述EPG服务器202发送歌曲选择请求,所述EPG服务器202接收所述第一终端和/或所述第二终端发送的歌曲选择请求,根据所述第一终端和/或所述第二终端选择的歌曲创建播放列表,并将该播放列表下发至所述第一终端和所述第二终端,其中,该播放列表中包含了第一终端用户通过第一终端选择的歌曲名称、播放链接,以及第二终端用户通过第二终端选择的歌曲名称、播放链接。
所述流媒体服务器203,用于当所述第一终端和/或所述第二终端启动所述EPG服务器202下发的播放列表时,向所述第一终端和所述第二终端同步发送所述播放列表中的歌曲的媒体流。
具体实现中,当所述第一终端和/或所述第二终端启动所述EPG服务器202下发的播放列表时,所述流媒体服务器203响应所述第一终端和/或所述第二终端的链接请求,以单播流媒体下发方式,向所述第一终端和所述第二终端同步发送所述播放列表中的歌曲的媒体流。
本发明实施例可实现远程卡拉OK互动(如:合唱等),解决了现有IPTV系统的卡拉OK业务的空间问题,提升了用户的使用体验,提高了业务竞争力。
请参见图6,为本发明的服务器端的第二实施例的结构示意图;与上一实施例相同,所述服务器端包括:应用服务器201、EPG服务器202和流媒体服务器203。本实施例中,所述服务器端还包括:认证服务器204。
所述认证服务器204,用于对所述第一终端和所述第二终端的业务权限进行认证,若认证成功,则通知所述应用服务器201向所述第一终端返回邀请成功信息;若认证失败,则通知所述应用服务器201向所述第一终端返回邀请失败信息。
具体实现中,所述认证服务器204可以为OSS(Operation Support System,运营支撑系统),用于对所述第一终端和所述第二终端的业务权限进行认证,当第一终端和所述第二终端均开通了卡拉OK业务,则认证成功,二者可进行本实施例的远程邀请卡拉OK业务,否则,认证失败,二者不能进行本实施例的远程邀请卡拉OK业务。
本发明实施例可实现远程卡拉OK互动(如:合唱等),解决了现有IPTV系统的卡拉OK业务的空间问题,提升了用户的使用体验,提高了业务竞争力。
为了更清楚地说明本发明,下面将对本发明的基于IPTV系统的卡拉OK业务的实现方法进行详细介绍。
请参见图7,为本发明的基于IPTV系统的卡拉OK业务的实现方法的第一实施例的流程图;所述方法包括:
S101,第一终端与第二终端建立卡拉OK连接。
具体实现中,请一并参见图8,为图7所示的步骤S101的具体流程图;所述步骤S101包括:
S201,第一终端登录服务器端,通过所述服务器端将第二终端添加为好友,所述服务器端为所述第一终端和所述第二终端设置好友标识;
S202,所述第一终端向所述服务器端发送卡拉OK邀请消息,所述卡拉OK邀请消息中携带所述好友标识;
S203,所述服务器端根据所述卡拉OK邀请消息中的好友标识,检测所述第二终端是否在线,若检测结果为是,则转入S204;否则,转入S206;
具体实现中,所述S203检测所述第二终端是否在线的具体过程为:检测所述第二终端是否成功登录至应用服务器,如果检测结果为是,则判定所述第二终端在线,转入执行步骤S204;否则,判定所述第二终端离线,转入执行步骤S206;
S204,所述服务器端将所述卡拉OK邀请消息转发至所述第二终端;
S205,所述服务器端判断预定时间内是否接收到所述第二终端返回的确认邀请消息,如果判断结果为否,则转入S206;如果判断结果为是,转入S207;
具体实现中,所述S205中,当所述服务器端判断预定时间内接收到所述第二终端返回的确认邀请消息时,则转入执行S207;当所述服务器端判断预定时间内接收到所述第二终端返回的拒绝邀请消息时,或者所述服务器端在预定时间内未接收到所述第二终端返回的确认邀请消息或拒绝邀请消息时,转入执行S206;
S206,所述服务器端向所述第一终端返回邀请失败信息,之后,结束;
S207,所述服务器端对所述第一终端和所述第二终端的业务权限进行认证;
S208,判断所述第一终端和所述第二终端的业务权限是否认证成功,如果判断结果为是,则转入S209; 否则,转入S206;
S209,所述服务器端向所述第一终端返回邀请成功信息;
S210,所述服务器端使所述第一终端和所述第二终端之间建立卡拉OK连接,之后,结束;
上述图8所示的S201-S210为本实施例的S101具体细化步骤。
S102,所述服务器端根据所述第一终端和/或所述第二终端选择歌曲创建播放列表。
具体实现中,请一并参见图9,为图7所示的步骤S102的具体流程图;所述步骤S102包括:
S301,服务器端为所述第一终端和所述第二终端提供可供选择的歌曲列表,并接收所述第一终端和/或所述第二终端对所述歌曲列表中的歌曲的选择;
S302,所述服务器端根据所述第一终端和/或所述第二终端选择的歌曲,创建播放列表;
S303,所述服务器端向所述第一终端和所述第二终端下发所述播放列表,所述播放列表中包含各首歌曲的播放链接;
上述图9所示的S301-S303为本实施例的S102具体细化步骤。
S103,所述服务器端向所述第一终端和所述第二终端下发所述播放列表。
S104,当所述第一终端和/或所述第二终端启动所述播放列表时,所述服务器端向所述第一终端和所述第二终端同步发送所述播放列表中的歌曲的媒体流。
具体实现中,请一并参见图10,为图7所示的步骤S104的具体流程图;所述步骤S104包括:
S401,所述第一终端和/或所述第二终端依次获取所述播放列表中各首歌曲的链接;
S402,所述第一终端和/或所述第二终端向所述服务器端发送链接请求,以启动所述播放列表;
S403,所述服务器端响应所述第一终端和/或所述第二终端的链接请求,向所述第一终端和所述第二终端同步发送所请求的歌曲的媒体流;
上述图10所示的S401-S403为本实施例的S104具体细化步骤。
S105,所述第一终端实时采集本端用户唱歌的第一音频流,将所述第一音频流与所述服务器端下发的媒体流进行混音播放,并将所述第一音频流传送至所述第二终端,使所述第二终端将所述第一音频流与所述服务器端下发的媒体流进行混音播放。
具体实现中,请一并参见图11,为图7所示的步骤S105的具体流程图;所述步骤S105包括:
S501,所述第一终端实时采集本端用户唱歌的第一音频流;
S502,所述第一终端将本端的系统时序时钟STC与所述服务器端当前下发的歌曲的媒体流的显示时间标签PTS进行校准,作为所述第一音频流的时间戳;
S503,所述第一终端根据所述时间戳,将所述第一音频流与所述服务器端当前下发的歌曲的媒体流进行混音播放;
S504,所述第一终端基于P2P协议对所述实时采集的第一音频流进行编码,并将编码后的第一音频流传送至所述第二终端;
S505,所述第二终端基于P2P协议对所述第一音频流进行解码,并将解码后的所述第一音频流与所述服务器端当前下发的歌曲的媒体流进行混音播放;
上述图11所示的S501-S505为本实施例的S105具体细化步骤。
S106,所述第二终端实时采集本端用户唱歌的第二音频流,将所述第二音频流与所述服务器端下发的媒体流进行混音播放,并将所述第二音频流传送至所述第一终端,使所述第一终端将所述第二音频流与所述服务器端下发的媒体流进行混音播放。
具体实现中,请一并参见图12,为图7所示的步骤S106的具体流程图;所述步骤S106包括:
S601,所述第二终端实时采集本端用户唱歌的第二音频流;
S602,所述第二终端将本端的STC与所述服务器端当前下发的歌曲的媒体流的PTS进行校准,作为所述第二音频流的时间戳;
S603,所述第二终端根据所述时间戳,将所述第二音频流与所述服务器端当前下发的歌曲的媒体流进行混音播放;
S604,所述第二终端基于P2P协议对所述实时采集的第二音频流进行编码,并将编码后的第二音频流传送至所述第一终端;
S605,所述第一终端基于P2P协议对所述第二音频流进行解码,并将解码后的所述第二音频流与所述服务器端当前下发的歌曲的媒体流进行混音播放;
上述图12所示的S601-S605为本实施例的S106具体细化步骤。
本实施例中,S105和S106的时序不分先后,同时进行。本实施例中,所述第一终端和所述第二终端基于P2P技术进行音频流的传输,可减少传输时延。本实施例中,所述第一终端和所述第二终端均通过服务器端下发的歌曲的媒体流的PTS进行音频流的校准,使所述第一终端与所述第二终端可同步播放对端用户唱歌的音频数据,即第一终端用户可同步听到第二终端用户唱歌的声音,第二终端用户也可同步听到第一终端用户唱歌的声音,实现了第一终端用户与第二终端用户的卡拉OK互动(如:合唱等)。
需要说明的是,本发明实施例的基于IPTV系统的卡拉OK业务的实现方案适用于网络通信质量满足一定要求的情况,比如:假设第一终端播放第二终端用户唱歌的声音的时延,以及第二终端播放第一终端用户唱歌的声音的时延均在时间T内时,不影响用户的体验效果;同时设定服务器端下发媒体流至第一终端的时延为t1,服务器端下发媒体流至第二终端的时延为t2,第一终端将第一音频流传送至第二终端的时延为t3,第二终端将第二音频流传送至第一终端的时延为t4;为了保证第一终端用户的体验效果,则网络通信质量必须满足|t1+t3-t2|<T;为了保证第二终端用户的体验效果,则网络通信质量必须满足|t4+t2-t2|<T。其中,上述的T、t1、t2、t3、t4的具体数值可根据实际需要确定,各种数值情况下可类似分析,在此不赘述。
本发明实施例可实现远程卡拉OK互动(如:合唱等),解决了现有IPTV系统的卡拉OK业务的空间问题,提升了用户的使用体验,提高了业务竞争力。
请参见图13,为本发明的基于IPTV系统的卡拉OK业务的实现方法的第二实施例的流程图;所述方法包括:
第一终端登录至应用服务器,在应用服务器上输入第二终端的ID号码,将第二终端添加为好友,所述应用服务器则为所述第一终端和所述第二终端设置好友标识。添加了好友后,所述第一终端可远程邀请好友参与卡拉OK,所述第一终端向所述应用服务器发送卡拉OK邀请消息,所述卡拉OK邀请消息中携带所述好友标识。所述应用服务器检测具备所述好友标识的所述第二终端在线,则将所述卡拉OK邀请消息转发至所述第二终端;当接收到所述第二终端在预定时间内返回的确认邀请消息时,所述应用服务器请求认证服务器验证所述第一终端和所述第二终端的业务权限,当接收到所述认证服务器返回的验证成功消息时,向所述第一终端返回邀请成功信息,并使所述第一终端和所述第二终端之间建立卡拉OK连接。
EPG服务器为所述第一终端和所述第二终端提供可供选择的歌曲列表,当第一终端用户通过所述第一终端,和/或第二终端用户通过所述第二终端分别选择歌曲后,所述第一终端和/或所述第二终端分别向所述EPG服务器发送歌曲选择请求,所述EPG服务器接收所述第一终端和/或所述第二终端发送的歌曲选择请求,根据所述第一终端和/或所述第二终端选择的歌曲,创建播放列表并下发至所述第一终端和所述第二终端,其中,该播放列表中包含了第一终端用户通过第一终端选择的歌曲名称、播放链接,以及第二终端用户通过第二终端选择的歌曲名称、播放链接。
所述第一终端依次获取所述播放列表中各首歌曲的链接,向流媒体服务器发送链接请求,以启动所述播放列表,所述流媒体服务器响应所述第一终端的链接请求,向所述第一终端和所述第二终端同步发送所请求的歌曲的媒体流。
所述第一终端实时采集本端用户唱歌的第一音频流,将所述第一音频流与所述服务器端下发的媒体流进行混音播放,并将所述第一音频流传送至所述第二终端,使所述第二终端将所述第一音频流与所述服务器端下发的媒体流进行混音播放。
所述第二终端实时采集本端用户唱歌的第二音频流,将所述第二音频流与所述服务器端下发的媒体流进行混音播放,并将所述第二音频流传送至所述第一终端,使所述第一终端将所述第二音频流与所述服务器端下发的媒体流进行混音播放。
需要说明的是,本实施例的基于IPTV系统的卡拉OK业务的实现方案同样适用于网络通信质量满足一定要求的情况,该情况与上一实施例的情况相同,在此不赘述。
本发明实施例可实现远程卡拉OK互动(如:合唱等),解决了现有IPTV系统的卡拉OK业务的空间问题,提升了用户的使用体验,提高了业务竞争力。
通过上述实施例的描述,本发明实施例的第一终端和第二终端通过服务器端建立卡拉OK连接后,服务器端根据第一终端和/或第二终端对歌曲的选择确定播放列表,并向第一终端和第二终端同步下发所述播放列表中的歌曲的媒体流,通过第一终端与第二终端的交互,实现了第一终端和第二终端的卡拉OK同步播放,第一终端用户可同步听到好友(第二终端用户)唱歌的声音,第二终端用户也可同步听到好友(第一终端用户)唱歌的声音,实现了远程卡拉OK互动(如第一终端用户与第二终端用户可进行合唱),解决了现有IPTV系统的卡拉OK业务的空间问题,提升了终端用户的使用体验,提高了业务竞争力。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。