一种网络直播重连方法及系统与流程

文档序号:11254362阅读:800来源:国知局
一种网络直播重连方法及系统与流程

本发明涉及网络传输技术领域,更具体地,涉及一种网络直播重连方法及系统。



背景技术:

目前,网络视频直播平台是一种多媒体网络平台,是将音视频信号采集成数字信号,并经过网络传输的一种流媒体应用。随着intnet技术的不断发展,网络已成为发展速度最快而且越来越占据主要地位的媒体。真正意义上的“网络直播”为在现场架设独立的信号采集设备(音频+视频)导入导播端(导播设备或平台),再通过网络上传至服务器,发布至网址供人观看。当视频直播发生异常断线的时候,用户终端需要和服务器进行重连。

目前网络视频直播平台为了实现平台的快速用户相应,都会有多个服务器,例如php服务器、c++服务器。当直播视频发生断线情况下,需要重新连接服务器,一个直播间需要重连服务器的地方有很多,找出合理的连接服务器的方案进行快速的服务器重连。

然而,上述现有技术中的直播中,视频信息及用户弹幕信息都存储于服务器端,重连服务器后虽然可以恢复视频信息的连续播放,但通常导致了直播视频中某些客户个性化的消费信息,尤其是付费的特殊弹幕信息参数及房间的数据信息的丢失和不能及时恢复,使用户特别是消费用户不能继续享受到先前直播房间给予其带来的愉悦感受,十分不利于直播平台的客户体验。



技术实现要素:

本发明为克服上述问题或者至少部分地解决上述问题,提供一种网络直播重连方法及系统,解决了视频直播服务器断线重连后弹幕等信息数据恢复的问题。

根据本发明的一个方面,提供一种网络直播重连方法,包括:

步骤1,将断线直播视频内的弹幕信息参数和所述断线直播视频所在直播房间的数据信息存储在客户终端;确认存在至少两个所述断线直播视频能够连接的服务器;

步骤2,确认所述直播视频断线故障已经排除;断开所述断线直播视频的所有服务器连接;

步骤3,利用服务器选择规则从所述断线直播视频能够连接的服务器中获取至少一个服务器并连接;

步骤4,将所述存储在客户终端的断线直播视频内的弹幕信息参数和所述断线直播视频所在直播房间的数据信息恢复到重连后的直播视频中。

根据本发明另一个方面,提供一种网络直播重连系统,包括保存模块、确认模块、选择模块和恢复模块:

所述保存模块,与所述确认模块相连,用于将断线直播视频内的弹幕信息参数和所述断线直播视频所在直播房间的数据信息存储在客户终端;确认存在至少两个所述断线直播视频能够连接的服务器;

所述确认模块,分别与所述保存模块和选择模块相连,用于确认所述直播视频断线故障已经排除;断开所述断线直播视频的所有服务器连接;

所述选择模块,分别与所述确认模块和恢复模块相连,用于利用服务器选择规则从所述断线直播视频能够连接的服务器中获取至少一个服务器并连接;

所述恢复模块,与所述选择模块相连,用于将所述存储在客户终端的断线直播视频内的弹幕信息参数和所述断线直播视频所在直播房间的数据信息恢复到重连后的直播视频中。

本申请提出一种网络直播重连方法及系统,所述方法在直播视频断线后将断线直播视频内的弹幕信息参数和所述断线直播视频所在直播房间的数据信息存储在客户终端,确认存在至少两个所述断线直播视频存在可以连接的服务器,选择至少一个服务器进行连接,将先前存储的弹幕信息参数和所述断线直播视频所在直播房间的数据信息恢复到重连后的直播视频中。本发明技术方案解决了现有技术中,直播视频断线重连后弹幕信息等客户个性化参数信息及房间数据信息不能及时恢复的技术问题,从而带来有效提高直播视频平台的用户体验的有益效果。

附图说明

图1为根据本发明实施例一种网络直播重连方法的整体流程示意图;

图2为根据本发明实施例一种网络直播重连系统的整体框架示意图;

图3为根据本发明实施例一种网络直播重连方法的装置整体框架示意图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

目前,网络视频直播平台是一种多媒体网络平台,是将音视频信号采集成数字信号,并经过网络传输的一种流媒体应用。随着intnet技术的不断发展,网络已成为发展速度最快而且越来越占据主要地位的媒体。真正意义上的“网络直播”为在现场架设独立的信号采集设备(音频+视频)导入导播端(导播设备或平台),再通过网络上传至服务器,发布至网址供人观看。当视频直播发生异常断线的时候,用户终端需要和服务器进行重连。目前网络视频直播平台为了实现平台的快速用户相应,都会有多个服务器,例如php服务器、c++服务器。当直播视频发生断线情况下,需要重新连接服务器,一个直播间需要重连服务器的地方有很多,找出合理的连接服务器的方案进行快速的服务器重连。

然而,上述现有技术中的直播中,视频信息及用户弹幕信息都存储于服务器端,重连服务器后虽然可以恢复视频信息的连续播放,但通常导致了直播视频中某些客户个性化的消费信息,尤其是付费的特殊弹幕信息参数及房间的数据信息的丢失和不能及时恢复,使用户特别是消费用户不能继续享受到先前直播房间给予其带来的愉悦感受,十分不利于直播平台的客户体验。

步骤1,将断线直播视频内的弹幕信息参数和所述断线直播视频所在直播房间的数据信息存储在客户终端;确认存在至少两个所述断线直播视频能够连接的服务器;

步骤2,确认所述直播视频断线故障已经排除;断开所述断线直播视频的所有服务器连接;

步骤3,利用服务器选择规则从所述断线直播视频能够连接的服务器中获取至少一个服务器并连接;

步骤4,将所述存储在客户终端的断线直播视频内的弹幕信息参数和所述断线直播视频所在直播房间的数据信息恢复到重连后的直播视频中。

本具体实施例中的直播视频内弹幕信息参数可以为弹幕的颜色、字体、大小,所述上述信息能够和弹幕相应的价格信息关联。本发明上述具体实施例所述整体技术方案解决了现有技术中,直播视频断线重连后弹幕信息参数和所在直播房间的数据信息等个性化参数信息不能及时恢复的技术问题,从而带来有效提高直播视频平台的用户体验的有益效果。

上述具体实施的保存能够通过以下方式实现,其中直播屏幕可以为全屏或半屏:

使用函数self.playerportraitinputbar.nameofsort2th=self.roominfo.game_name;保存半屏直播间二级分类的名字;

使用函数self.playerview.nameofsort2th=self.roominfo.game_name;保存全屏直播间二级分类的名字;

使用函数[selfupdatecolordanmuprice];将彩色弹幕卡的价格保存起来。

在本发明另一个具体实施例中,一种网络直播重连方法,所述步骤1前还包括:将断线直播视频内弹幕输入框进行初始化。

上述具体实施的保存能够通过以下方式实现:

使用函数[self.playerportraitinputbarreset];重新设置半屏直播间的弹幕输入框的状态;

使用函数语句[self.playerviewresetinputbar];重置全屏直播间的输入框的状态。

在本发明另一个具体实施例中,一种网络直播重连方法,所述步骤2前还包括:在断线直播视频的视频框内向用户告知服务器正在连接的信息。

上述具体实施的保存能够通过以下方式实现:使用函数语句if(self.islandscape)判断当前的屏幕是不是横屏,如果是横屏使用函数语句[selfshowmsglab:@"服务器连接中..."];告诉用户服务器连接中。

在本发明另一个具体实施例中,一种网络直播重连方法,所述步骤3还包括:获取socket管理对象,将所述socket管理对象的代理设置为当前直播视频所属的应用程序。

上述具体实施的保存能够通过以下方式实现:

使用函数dysocketmanager*instance=[dysocketmanagersharedinstance]获得dysocketmanager的对象instance;

设置instance的代理为当前连接弹幕的控制器,设置语句是instance.delegate=self。

在本发明另一个具体实施例中,一种网络直播重连方法,所述步骤3中服务器选择规则为:按照时延由小到大的顺序,将所述能够连接的服务器进行1至n的优先级排序,每个服务器被选择的概率为1/n,其中n为所述能够连接的服务器的优先级别。

在上述本发明具体实施例中,所述服务器选择规则具体实施步骤为:首先依次连接各个所有能够连接的服务器并记录所述断线直播房间与各个服务器的时延值,按照各个能够连接服务器各自实验值由小到大的顺序将所述能够连接的服务器按照优先级别由高到低1至n的排序,其中n为所述能够连接服务器的数量。每个服务器被选择的概率为1/n,其中n为所述能够连接的服务器的优先级别。例如:存在5能够连接的服务器,那么优先级排第1的服务器被选择连接的概率是100%(1/1),优先级排第2的服务器路被选择的概率是50%(1/2),优先级排第3的被选择的概率是33.33%(1/3),依照这样的规则第n条线路的概率为1/n。这里通过上述服务器选择算法可以保证每个服务器被选择的概率为1/n。这样断线直播房间返回至少两个服务器并连接完成,提高服务器的利用效率,同时用随机算法,每个服务器被选择的概率均衡合理,保证了服务器的负载均衡,避免某个服务器承载的负荷过大。

上述具体实施的保存能够通过以下方式实现:使用随机数获得self.roominfo.servers数组中的随便一个服务器模型对象dyserversmodel*server。

在本发明另一个具体实施例中,一种网络直播重连方法,所述断线直播视频内的弹幕信息参数为所述断线直播视频内弹幕颜色和字体信息,所述断线直播视频所在直播房间的数据信息为所述直播房间的等级分类信息。

上述具体实施的保存能够通过以下方式实现:在本发明另一个具体实施例中,一种网络直播重连方法,所述确认存在至少两个所述断线直播视频能够连接的服务器还包括:确认存在至少两个所述断线直播视频所属房间的数据信息内是否包含可用服务器;确认所述可用服务器是否存在;确认所述可用服务器数量大于0。进行连接服务器之前,判断服务器地址是否存在,roominfo接口数据是否存在等这些必须的条件是否满足,这些条件满足了才去连接服务器,有效的避免出现bug。

上述具体实施的保存能够通过以下方式实现:

使用函数if(self.roominfo&&self.roominfo.servers&&self.roominfo.servers.count)判断loadroom接口返回的数据roominfo是否有数据,且roominfo的服务器的是否存在,roominfo的服务器的个数大于0,这些条件都具备了,才能执行重连服务器的操作。

在本发明另一个具体实施例中,一种网络直播重连方法,所述步骤4进一步包括:

当检测到重连后的直播视频中存在弹幕信息时,确认所述弹幕信息有存在于用户终端中的对应弹幕信息参数,将所述弹幕信息参数赋值到所述弹幕信息中;

将所述断线直播视频所在直播房间的数据信息赋值到所述重连后的直播视频所在的房间中。

在本具体实施例中,上述弹幕信息参数与所述所述断线直播视频所在直播房间的数据信息赋值的两个步骤没有现有时序的限制。

在本发明另一个具体实施例中,一种网络直播重连方法,所述服务器为php和/或c++服务器。

在本发明另一个具体实施例中,一种网络直播重连方法,所述步骤断开所述断线直播视频的所有服务器连接,能够通过以下方式实现:使用语句[instancedisconnect]让服务器先断开,再连接,这个函数底层会判断,是否存在连接的服务器,如果存在连接的服务器,就先将服务器断开。连接服务器之前,先断开连接,避免建立多个服务器连接,浪费资源。

在本发明另一个具体实施例中,一种网络直播重连方法,所述步骤连接服务器通过以下具体步骤实现:使用函数[instancelogintohostwithip:server.ipport:[server.portintvalue]roomid:self.roominfo.room_iddanmutype:dydanmutypelive];对服务器进行重连。

在本发明另一个具体实施例中,一种网络直播重连系统,包括保存模块a1、确认模块a2、选择模块a3和恢复模块a4:

所述保存模块a1,与所述确认模块a2相连,用于将断线直播视频内的弹幕信息参数和所述断线直播视频所在直播房间的数据信息存储在客户终端;确认存在至少两个所述断线直播视频能够连接的服务器;

所述确认模块a2,分别与所述保存模块a1和选择模块a3相连,用于确认所述直播视频断线故障已经排除;断开所述断线直播视频的所有服务器连接;

所述选择模块a3,分别与所述确认模块a2和恢复模块a4相连,用于利用服务器选择规则从所述断线直播视频能够连接的服务器中获取至少一个服务器并连接;

所述恢复模块a4,与所述选择模块a3相连,用于将所述存储在客户终端的断线直播视频内的弹幕信息参数和所述断线直播视频所在直播房间的数据信息恢复到重连后的直播视频中。

本发明上述具体实施例所述整体技术方案解决了现有技术中,直播视频断线重连后弹幕信息等客户个性化参数信息不能及时恢复的技术问题,从而带来有效提高直播视频平台的用户体验的有益效果。

在本发明另一个具体实施例中,一种网络直播重连系统,所述断线直播视频内的数据信息包括所述直播视频内弹幕信息参数和所述直播视频所在直播房间的数据信息。本具体实施例中的直播视频内弹幕信息参数可以为弹幕的颜色、字体、大小,所述上述信息能够和弹幕相应的价格信息关联。

在本发明另一个具体实施例中,一种网络直播重连系统,所述保存模块还用于将断线直播视频内弹幕输入框进行初始化。

在本发明另一个具体实施例中,一种网络直播重连系统,所述确认模块还用于在断线直播视频的视频框内向用户告知服务器正在连接的信息。

在本发明另一个具体实施例中,一种网络直播重连系统,所述选择模块还用于获取socket管理对象,将所述socket管理对象的代理设置为当前直播视频所属的应用程序。

在本发明另一个具体实施例中,一种网络直播重连系统,所述服务器选择规则为随机获取至少一个服务器或选择待选服务器中当前负载值最低的一个服务器。所有的异常处理完毕之后,从服务器的地址模型中随机获取一个地址重连,让几个服务器的负载均衡,对于直播高并发的情况,因为有很多服务器地址,使用本实施例中的两个选择规则连接一个,保证多个服务器随机的,比较平均的被连接。

在本发明另一个具体实施例中,一种网络直播重连系统,所述直播视频内弹幕信息参数为所述直播视频内弹幕颜色和字体信息,所述直播视频所在直播房间的数据信息为所述直播房间的等级分类信息。

在本发明另一个具体实施例中,一种网络直播重连系统,所述所述服务器为php和/或c++服务器。

图3是示出本申请实施例的直播重连方法的测试设备的结构框图。

参照图3,所述直播重连方法的设备,包括:处理器(processor)301、存储器(memory)302、通信接口(communicationsinterface)303和总线304;

其中,

所述处理器301、存储器302、通信接口303通过所述总线304完成相互间的通信;

所述通信接口303用于该测试设备与直播重连方法的通信设备之间的信息传输;

所述处理器301用于调用所述存储器302中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:将断线直播视频内的弹幕信息参数和所述断线直播视频所在直播房间的数据信息存储在客户终端;确认存在至少两个所述断线直播视频能够连接的服务器;确认所述直播视频断线故障已经排除;断开所述断线直播视频的所有服务器连接;利用服务器选择规则从所述断线直播视频能够连接的服务器中获取至少一个服务器并连接;将所述存储在客户终端的断线直播视频内的弹幕信息参数和所述断线直播视频所在直播房间的数据信息恢复到重连后的直播视频中。

本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:将断线直播视频内的弹幕信息参数和所述断线直播视频所在直播房间的数据信息存储在客户终端;确认存在至少两个所述断线直播视频能够连接的服务器;确认所述直播视频断线故障已经排除;断开所述断线直播视频的所有服务器连接;利用服务器选择规则从所述断线直播视频能够连接的服务器中获取至少一个服务器并连接;将所述存储在客户终端的断线直播视频内的弹幕信息参数和所述断线直播视频所在直播房间的数据信息恢复到重连后的直播视频中。

本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:将断线直播视频内的弹幕信息参数和所述断线直播视频所在直播房间的数据信息存储在客户终端;确认存在至少两个所述断线直播视频能够连接的服务器;确认所述直播视频断线故障已经排除;断开所述断线直播视频的所有服务器连接;利用服务器选择规则从所述断线直播视频能够连接的服务器中获取至少一个服务器并连接;将所述存储在客户终端的断线直播视频内的弹幕信息参数和所述断线直播视频所在直播房间的数据信息恢复到重连后的直播视频中。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上所描述的直播重连方法的设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1