视频直播方法及装置与流程

文档序号:12499388阅读:218来源:国知局
视频直播方法及装置与流程

本申请涉及网络直播领域,尤其涉及视频直播方法及装置。



背景技术:

网络直播技术是一种服务端将主播用户的直播视频数据广播至多个观众用户进行观看的互联网技术。观众用户进入主播用户创建的直播频道后,可以观看主播用户上传的视频。目前,每个直播频道内可以播放该直播频道内主播用户上传的数据,不能播放其他直播频道内主播用户上传的数据。在某些应用场景下,不同主播用户会直播完全相同或部分相同的直播内容。例如,当平台内多个主播用户进行比赛时,每个主播用户对应的直播客户端会采集视频数据,并将视频数据发送至服务端,通过服务端转发至观众用户,观众用户是进入该主播用户创建的直播频道的用户。可见,不同主播直播的是同一场比赛,而每个主播均需采集比赛相关数据,造成资源浪费。同时,不同主播播放直播数据时,可能由于主播设置的延迟时间不一致,导致不同主播不能同步播放同一视频。



技术实现要素:

本申请提供视频直播方法及装置,以解决现有技术资源浪费、视频不同步的问题。

根据本申请实施例的第一方面,提供一种视频直播方法,所述方法包括:

接收目标直播频道中直播客户端发送的视频数据;

确定与所述目标直播频道关联的关联直播频道;

在所述目标直播频道和所述关联直播频道中播放所述视频数据。

可选的,所述视频数据携带有共享状态标识,所述确定与所述目标直播频道关联的关联直播频道之前,还包括:

接收到所述视频数据时,根据所述共享状态标识判定所述视频数据为允许共享的数据;

所述确定与所述目标直播频道关联的关联直播频道,包括:

从预存对应关系中查询与目标直播频道标识对应的关联直播频道标识;

其中,所述预存对应关系基于所述目标直播频道中主播客户端发送的目标直播频道标识和关联直播频道标识获得,或所述预存对应关系基于所述关联直播频道中主播客户端发送的转播请求获得,所述转播请求是转播所述目标直播频道中视频数据的请求。

可选的,在所述关联直播频道中播放所述视频数据,包括:

将所述视频数据直接发送至所述关联直播频道内的所有直播客户端进行播放。

可选的,所述视频数据中携带有原视频参数,在所述关联直播频道中播放所述视频数据,包括:

获取关联直播频道中主播客户端设置的转码视频参数;

根据所述转码视频参数以及所述原视频参数对所述视频数据进行转码处理;

将处理后的视频数据,发送至所述关联直播频道内的主播客户端,并通过所述关联直播频道内的主播客户端进行转播。

可选的,所述通过所述关联直播频道内的主播客户端进行转播,包括:

接收所述关联直播频道内的主播客户端发送的更新视频数据,所述更新视频数据是所述关联直播频道内的主播客户端将所述视频数据中的图像数据以及麦克风采集的声音数据编码后的数据;

将所述更新视频数据发送至所述关联直播频道中的观众客户端进行播放。

可选的,所述原视频参数包括视频数据的分辨率、码率、帧率中的一种或多种。

可选的,所述方法还包括:

将转播通知发送至关联直播频道中的主播客户端;

根据所述关联直播频道中的主播客户端返回的响应信息,判定创建所述关联直播频道的主播同意转播。

根据本申请实施例的第二方面,提供一种视频直播装置,所述装置包括:

数据接收模块,用于接收目标直播频道中直播客户端发送的视频数据;

频道确定模块,用于确定与所述目标直播频道关联的关联直播频道;

视频播放模块,用于在所述目标直播频道和所述关联直播频道中播放所述视频数据。

可选的,所述视频数据携带有共享状态标识,所述装置还包括状态判断模块,用于在接收到所述视频数据时,根据所述共享状态标识判定所述视频数据为允许共享的数据;

所述频道确定模块,具体用于:从预存对应关系中查询与目标直播频道标识对应的关联直播频道标识;

其中,所述预存对应关系基于所述目标直播频道中主播客户端发送的目标直播频道标识和关联直播频道标识获得,或所述预存对应关系基于所述关联直播频道中主播客户端发送的转播请求获得,所述转播请求是转播所述目标直播频道中视频数据的请求。

可选的,所述视频播放模块,具体用于:将所述视频数据直接发送至所述关联直播频道内的所有直播客户端进行播放。

可选的,所述视频数据中携带有原视频参数,所述视频播放模块,包括:

参数获取子模块,用于获取关联直播频道中主播客户端设置的转码视频参数;

数据处理子模块,用于根据所述转码视频参数以及所述原视频参数对所述视频数据进行转码处理;

视频转播子模块,用于将处理后的视频数据,发送至所述关联直播频道内的主播客户端,并通过所述关联直播频道内的主播客户端进行转播。

可选的,所述视频转播子模块,具体用于:

接收所述关联直播频道内的主播客户端发送的更新视频数据,所述更新视频数据是:所述关联直播频道内的主播客户端,将所述视频数据中的图像数据以及麦克风采集的声音数据编码后的数据;

将所述更新视频数据发送至所述关联直播频道中的观众客户端进行播放。

应用本申请方案,接收目标直播频道中直播客户端发送的视频数据,并在目标直播频道和关联直播频道中播放所述该视频数据,从而实现同一平台内跨频道直播同一视频数据,避免每个主播对应的直播客户端均采集视频数据,从而节约了资源,并且能实现不同频道同步播放视频。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1是本申请根据一示例性实施例示出的一种直播网络架构示意图。

图2A是本申请根据一示例性实施例示出的一种视频直播方法的流程图。

图2B是本申请根据一示例性实施例示出的一种应用场景图。

图3是本申请根据一示例性实施例示出的一种视频直播装置的框图。

图4是本申请根据一示例性实施例示出的一种用于视频直播装置400的一结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

为了更好理解本发明所公开的视频直播方法及装置,先对直播网络架构进行说明。如图1所示,图1是本申请根据一示例性实施例示出的一种直播网络架构示意图。该直播网络架构可以包括服务端及多个终端。其中,服务端用于提供网络直播的后台服务。服务端可以包括服务器、服务器集群或者云平台等。终端可以是具有网络直播功能的智能终端,例如,智能终端可以是计算机、智能手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、多媒体播放器、可穿戴设备等等。

图1中,可以在终端中安装直播客户端,服务端向各直播客户端提供直播服务。例如,用户可以使用终端安装直播客户端应用,通过该直播客户端应用获得服务端所提供的直播服务,也可以使用终端安装浏览器客户端应用,通过浏览器客户端应用登录服务器所提供的直播页面,获得直播服务。将这种应用理解为网页版直播客户端。通常,直播过程中涉及两类用户,一类用户为主播用户,另一类用户为观众用户,基于此,可以将终端分为主播端和观众端。直播客户端可以提供有主播直播功能和直播收看功能,主播用户可以使用直播客户端提供的主播直播功能进行视频直播,观众用户可以使用直播客户端提供的直播收看功能收看视频内容。基于直播过程中用户角色不同,可以分为主播客户端和观众客户端。主播客户端是主播用户所使用的直播客户端,观众客户端是观众用户所使用的直播客户端。例如,安装有主播客户端的主播端可以开启主播端的视频拍摄模块,通过视频拍摄模块实时采集视频数据,并发送给服务端,服务端将所接收的视频数据广播给安装有观众客户端的观众端,而观众用户可以使用观众客户端提供的收看功能观看主播用户的直播内容。

相关技术中,每个直播频道内可以播放该直播频道内主播用户上传的数据,不能播放其他直播频道内主播用户上传的数据,进入直播频道的观众才能观看该直播频道播放的视频。在某些应用场景下,不同主播用户会直播完全相同或部分相同的直播内容。可见,不同频道直播的是相同直播内容,而每个主播对应的直播客户端均需采集视频数据,造成资源浪费。

为了避免相关技术中资源浪费的缺陷,本申请提供一种视频直播方法,通过在平台内的多个直播频道直播同一视频数据,避免每个主播对应的直播客户端均采集视频数据,从而节约了资源。以下对本申请所提供的方案进行详细说明。

如图2A所示,图2A是本申请根据一示例性实施例示出的一种视频直播方法的流程图,所述方法可以应用在服务端中,所述方法包括步骤201至步骤203:

在步骤201中,接收目标直播频道中直播客户端发送的视频数据。

在步骤202中,确定与所述目标直播频道关联的关联直播频道。

在步骤203中,在所述目标直播频道和所述关联直播频道中播放所述视频数据。

本申请实施例中,为了描述同一平台内不同直播频道直播同一视频数据,将不同直播频道分为目标直播频道、以及与目标直播频道关联的关联直播频道,目标直播频道和关联直播频道为同一平台内的直播频道。目标直播频道是提供直播数据的频道,目标直播频道可以是运营商提供的官方直播频道,例如YY直播中的体育频道、娱乐频道、财经频道等,也可以是由主播用户创建的直播频道。关联直播频道是可以共享目标直播频道的视频数据的频道,关联直播频道可以是运营商提供的官方直播频道,也可以是由主播用户创建的直播频道。

直播频道中直播客户端是进入直播频道的直播客户端。

当目标直播频道是运营商提供的官方直播频道时,目标直播频道中直播客户端可以是运营商上传视频数据的客户端。当目标直播频道是由主播用户创建的直播频道时,目标直播频道中直播客户端可以是主播客户端,也可以是观众客户端。直播数据一般情况下由主播上传,当主播与观众互动时,观众也可以上传数据。

其中,视频数据可以包括图像数据和/或音频数据。

在接收到视频数据时,在一个例子中,可以直接确定与目标直播频道关联的关联直播频道。在另一个例子中,由于不是所有视频数据都需要进行共享,因此,可以在视频数据中携带共享状态标识,接收到视频数据时,根据所述共享状态标识判断所述视频数据是否为允许共享的数据,如果判定所述视频数据为允许共享的数据,则确定与所述目标直播频道关联的关联直播频道。如果判定所述视频数据为不允许共享的数据,则直接将视频数据在目标直播频道中进行播放。

可见,通过共享状态标识可以判断是否允许共享视频数据,从而避免转发不允许共享的视频数据,避免给提供共享视频的用户造成损失。

在确定与所述目标直播频道关联的关联直播频道时,可以从预存对应关系中查询与目标直播频道标识对应的关联直播频道标识,从而确定关联直播频道。目标直播频道标识是用于标识目标直播频道的标识,例如,可以是直播频道号,也可以是数字、字符串、符号等的任意组合,只要能唯一标识目标直播频道即可。关联直播频道标识是用于标识关联直播频道的标识,例如,可以是直播频道号,也可以是数字、字符串、符号等的任意组合,只要能唯一标识关联直播频道即可。

在一个例子中,所述预存对应关系可以基于所述目标直播频道中主播客户端发送的目标直播频道标识和关联直播频道标识获得。

在该实施例中,目标直播频道中的主播用户可以通过主播客户端设置关联直播频道标识,并将目标直播频道标识和关联直播频道标识发送至服务端,服务端存储目标直播频道标识和关联直播频道标识的对应关系,从而生成预存对应关系。例如,在文件ETSetForwardCopyStreamCfg中设置需要转发的频道号。基于此,可以从预存对应关系中查询与目标直播频道标识对应的关联直播频道标识,从而确定目标直播频道。

可见,本实施例通过目标直播频道中的主播用户设置关联直播频道标识,可以提高主播用户对关联直播频道的可控性。

进一步的,目标直播频道中的主播用户还可以通过主播客户端删除已设置的关联直播频道标识,删除后直接终止该关联直播频道转发视频数据,进一步提高关联直播频道的可控性。

进一步的,由于关联直播频道标识通过目标直播频道中的主播用户设置,在某些场景中,例如,当目标直播频道为官方直播频道、且关联直播频道为同一平台内的其他官方直播频道时,由于是同一平台内,因此其他官方直播频道可以默认同意转播。

在另一种场景中,如果目标直播频道为官方直播频道、且关联直播频道为主播创建的直播频道,或者目标直播频道为主播创建的直播频道、且关联直播频道为其他主播创建的直播频道等场景中,关联直播频道中的主播不一定同意转播,则服务端需要通知关联直播频道中的主播。

具体的,将转播通知发送至关联直播频道中的主播客户端,根据所述关联直播频道中的主播客户端返回的响应信息,判断创建关联直播频道的主播是否同意转播,若判定创建关联直播频道的主播同意转播,则在关联直播频道中播放视频数据,若判定创建关联直播频道的主播不同意转播,则不在关联直播频道中播放视频数据。

可以理解的是,为了尽量实现同步直播,判断创建关联直播频道的主播是否同意转播的过程可以预先执行,并将判断结果记录在服务端,以便后续接收到视频数据后直接根据判断结果进行相应的处理。

在另一个例子中,所述预存对应关系可以基于所述关联直播频道中主播客户端发送的转播请求获得,所述转播请求是转播所述目标直播频道中视频数据的请求。

在该实施例中,目标直播频道中主播用户并不知道,或并不完全知道将视频数据共享给哪些直播频道合适,因此,可以通过其他直播频道请求的方式确定关联直播频道。例如,某类目标直播频道中播放的视频数据完全对外公开,则其他直播频道中主播客户端向服务端发送转播请求,只要转播请求中携带有目标直播频道的标识码,即可将其他直播频道确定为与目标直播频道关联的关联直播频道,存储对应关系。

又如,某类目标直播频道中播放的视频数据具有转发权限,则目标直播频道内主播客户端可以将允许转发的直播频道标识上传至服务端,当服务端接收到其他直播频道中主播客户端发送的转播请求时,由于转播请求中携带有其他直播频道的直播标识,则服务端根据允许转发的直播频道标识以及转播请求中的直播标识判断该直播频道是否为与目标直播频道关联的关联直播频道,并根据判断结果存储对应关系。

又如,某类目标直播频道中播放的视频数据具有转发权限,当服务端接收到其他直播频道中主播客户端发送的转播请求时,由于转播请求中携带有其他直播频道的直播标识,则服务端将转播请求中的直播标识发送至目标直播频道的主播客户端中,服务端通过主播客户端返回的响应信息判断该直播频道是否为与目标直播频道关联的关联直播频道,并根据判断结果存储对应关系。

可见,该实施例通过关联直播频道中主播客户端发送转播请求的方式确定对应关系,可以增加对应关系生成方式的灵活性,增强平台内其他频道主播的参与性。

关于步骤203,针对在所述目标直播频道中播放所述视频数据,与相关技术中的手段相同,在此不做限定。

针对在所述关联直播频道中播放所述视频数据,在一个可选的实现方式中,可以将所述视频数据直接发送至所述关联直播频道内的所有直播客户端进行播放。所述直播客户端是用于直播视频数据的客户端。关联直播频道内的所有直播客户端是进入关联直播频道(直播间)的所有直播客户端。

该实施例是视频流直接转发的情况,目标直播频道中的主播用户点击开始直播后,服务端可以直接将接收到的视频数据转发至关联直播频道内的所有直播客户端,实现在关联直播频道中播放所述视频数据。

例如,目标直播频道为官方直播频道、且关联直播频道为同一平台内其他官方直播频道,则服务端可以直接将接收到的视频数据转发至关联直播频道内的所有直播客户端。

又如,在目标直播频道为官方直播频道、且关联直播频道为主播创建的直播频道,或者目标直播频道为主播创建的直播频道、且关联直播频道为其他主播创建的直播频道,或者目标直播频道为主播创建的直播频道、且关联直播频道为官方直播频道等场景中,如果关联直播频道同意转播,则服务端可以直接将接收到的视频数据转发至关联直播频道内的所有直播客户端。

由上述实施例可见,关联直播频道中的主播用户无需利用主播终端进行编码,服务端直接转发目标直播频道中的视频数据,避免主播终端采集视频数据、处理视频数据、编码视频数据、上传视频数据等造成的资源浪费。并且,用户不用拥挤到同一个直播频道(直播间)观看同一直播内容,大大降低了服务器的压力。同时,由于共享的是同一份视频数据,且由服务端直接转发,因此能实现不同频道同步播放视频。

为了减轻服务器压力,可以利用视频复制服务器对视频数据进行100%的完全复制,并将复制的数据下发至频道管理服务器,通过频道管理服务器下发至关联直播频道内的所有直播客户端进行视频播放。可见,通过视频复制服务器和频道管理服务器进行分步执行,可以减轻服务器压力。

在一个例子中,在转发视频数据时,还可以将该关联直播频道内的相关信息发送至直播客户端,例如,弹幕信息、公屏聊天信息等。

在一个例子中,为了让主播推上来的视频流数据适配各个终端各种不同协议,需要在服务端做一些流处理工作,比如转码成不同格式支持不同协议,如RTMP(Real Time Messaging Protocol实时消息传输协议)、HLS(HTTP Live Streaming)和FLV(FLASH VIDEO)等,一路转多路流来适配各种不同的网络状况和不同分辨率的终端设备。基于此,服务端还可以设置视频数据的转码视频参数。转码视频参数可以包括分辨率、码率、帧率等视频参数。接收到视频数据时,按照转码视频参数和视频数据的原视频参数将视频数据进行转码,将转码后的数据发送至所述关联直播频道内的所有直播客户端进行播放,并且发送至目标直播频道内的所有直播客户端进行播放。

以下列举一个具体应用实例进行说明。如图2B所示,图2B是本申请根据一示例性实施例示出的一种应用场景图。该示意图中,终端A是主播用户A开播时所使用的终端,终端C是用户C观看直播频道b的直播时所使用的终端,终端D是用户D观看娱乐频道的直播时所使用的终端,终端E是用户E观看游戏频道的直播时所使用的终端。

假设主播用户A和主播用户B在进行象棋比赛。主播用户A创建有直播频道a,主播用户B创建有直播频道b,主播用户A和主播用户B不用同时开播,其中一个主播开播即可。例如,主播用户A通过终端A进行开播,终端A将采集的视频数据上传至服务端。服务端确定与直播频道a关联的直播频道有直播频道b、官方直播频道中的娱乐频道和游戏频道,则服务端将视频数据直接发送至直播频道b下的终端B,娱乐频道下的终端D以及游戏频道下的终端E。

可见,通过将直播频道a中的视频数据共享至直播频道b、娱乐频道和游戏频道,实现同一平台内跨频道直播同一视频流,对于主播B创建的直播频道b而言,主播B不用自己的机器编码即可实现视频直播,避免采集视频数据、编码视频数据、上传视频数据等造成的资源浪费。并且,看同一场比赛时,用户不用拥挤到同一个直播频道(直播间)进行观看,给用户带来了便利,同时大大降低了服务器的压力。同时,可以避免游戏比赛时,各个直播频道主播播放不同步的缺陷。

在另一个可选的实现方式中,有些场景下关联直播频道内的主播用户想和观众互动,则关联直播频道内的主播用户需要开播,并利用服务端共享的视频数据进行转播。

由于不同主播用户的终端设备、网络环境不同,导致对视频质量要求不同,即对视频参数要求不同,因此需要对视频数据进行转码处理。具体的,所述视频数据中携带有原视频参数,在所述关联直播频道中播放所述视频数据,包括:

获取关联直播频道中主播客户端设置的转码视频参数;

根据所述转码视频参数以及所述原视频参数对所述视频数据进行转码处理;

将处理后的视频数据,发送至所述关联直播频道内的主播客户端,并通过所述关联直播频道内的主播客户端进行转播。

本实施例中,将视频数据进行转码处理是为了适应关联直播频道中主播用户的终端设备和网络环境的需求。原视频参数和转码视频参数均是视频参数。原视频参数是视频数据的视频参数,转码视频参数是预转码的视频参数。视频参数可以包括分辨率、码率、帧率等参数。

例如,在文件ETSetCustomForwardCfg里存储视频数据的视频参数,例如分辨率,码率,帧率等等。目标直播频道中直播客户端上传的视频数据又可以称为原画,当关联直播频道中主播客户不需要原画时,参数m_targetChannelId可以填-1,用于标识关联直播频道中主播客户不需要原画。在文件ETSetForwardTranscodeCfg中可以设置关联直播频道的转码视频参数,例如需要转高清、超清、标清以及对应档位的码率,分辨率等。

利用文件ETSetForwardCopyStreamCfg设置转发频道的拷贝,即设置需要转发的频道号。文件ETDeleteForwardConfig也支持删除自定义的频道配置,即配置删除频道号。

在服务端中,为了分担服务器压力,可以利用视频复制服务器对视频数据进行100%的完全复制,并将复制的多个视频流数据下发至转码服务器,转码服务器获取关联直播频道中主播客户端设置的转码视频参数;根据转码视频参数以及原视频参数对视频数据进行转码处理,例如转码成高清视频数据、超清视频数据、标清视频数据等。转码成功后的视频集合进入频道管理服务器,通过频道管理服务器下发至关联直播频道内的主播客户端,通过主播客户端对视频进行转播。可见,通过视频复制服务器、转码服务器和频道管理服务器进行分步执行,可以减轻服务器压力。

在通过关联直播频道内的主播客户端进行转播时,主播客户端需要对视频数据重新进行编码等处理。

在一个例子中,所述关联直播频道内的主播客户端将所述视频数据中的图像数据以及麦克风采集的声音数据进行重新编码获得更新视频数据。所述麦克风是指主播客户端采集声音数据的麦克风。

例如,关联直播频道内的主播客户端接收到视频数据后,可以将视频数据中的音频数据关闭,并通过麦克风采集主播用户解说,将所述视频数据中的图像数据以及麦克风采集的声音数据进行重新编码获得更新视频数据,并将所述更新视频数据发送至服务端。

在服务端中,接收所述关联直播频道内的主播客户端发送的更新视频数据,所述更新视频数据是所述关联直播频道内的主播客户端将所述视频数据中的图像数据以及麦克风采集的声音数据编码后的数据;将所述更新视频数据发送至所述关联直播频道中的观众客户端进行播放。

可见,关联直播频道中的主播可以利用共享视频数据中的图像数据结合自己麦克风采集的声音数据重新编码生成更新视频数据,无需主播端采集图像数据,节约了资源,且能结合自己麦克风采集的声音数据,提高了设备的智能化水平,给用户带来了便利。并且,用户不用拥挤到同一个直播频道(直播间)观看同一直播内容,大大降低了服务器的压力。由于共享的是同一份视频数据,关联直播频道的主播无法对共享的视频数据设置延时,因此能实现不同频道同步播放视频。

以上实施方式中的各种技术特征可以任意进行组合,只要特征之间的组合不存在冲突或矛盾,但是限于篇幅,未进行一一描述,因此上述实施方式中的各种技术特征的任意进行组合也属于本说明书公开的范围。

与前述视频直播方法的实施例相对应,本申请还提供了视频直播装置及其所应用的服务端的实施例。

如图3所示,图3是本申请根据一示例性实施例示出的一种视频直播装置的框图,所述装置包括:

数据接收模块310,用于接收目标直播频道中直播客户端发送的视频数据。

频道确定模块320,用于确定与所述目标直播频道关联的关联直播频道。

视频播放模块330,用于在所述目标直播频道和所述关联直播频道中播放所述视频数据。

在一个可选的实现方式中,所述视频数据携带有共享状态标识,所述装置还包括状态判断模块(图3未示出),用于:在接收到所述视频数据时,根据所述共享状态标识判定所述视频数据为允许共享的数据。

所述频道确定模块320,具体用于:根据状态判断模块的判断结果,从预存对应关系中查询与目标直播频道标识对应的关联直播频道标识。

其中,所述预存对应关系基于所述目标直播频道中主播客户端发送的目标直播频道标识和关联直播频道标识获得,或所述预存对应关系基于所述关联直播频道中主播客户端发送的转播请求获得,所述转播请求是转播所述目标直播频道中视频数据的请求。

在一个可选的实现方式中,所述视频播放模块330,具体用于:将所述视频数据直接发送至所述关联直播频道内的所有直播客户端进行播放。

在一个可选的实现方式中,所述视频数据中携带有原视频参数,所述视频播放模块330(图3未示出),包括:

参数获取子模块,用于获取关联直播频道中主播客户端设置的转码视频参数。

数据处理子模块,用于根据所述转码视频参数以及所述原视频参数对所述视频数据进行转码处理。

视频转播子模块,用于将处理后的视频数据,发送至所述关联直播频道内的主播客户端,并通过所述关联直播频道内的主播客户端进行转播。

在一个可选的实现方式中,所述视频转播子模块,具体用于:

接收所述关联直播频道内的主播客户端发送的更新视频数据,所述更新视频数据是:所述关联直播频道内的主播客户端,将所述视频数据中的图像数据以及麦克风采集的声音数据编码后的数据。

将所述更新视频数据发送至所述关联直播频道中的观众客户端进行播放。

在一个可选的实现方式中,所述原视频参数包括视频数据的分辨率、码率、帧率中的一种或多种。

在一个可选的实现方式中,所述装置还包括:

通知模块,用于将转播通知发送至关联直播频道中的主播客户端。

转播判断模块,用于根据所述关联直播频道中的主播客户端返回的响应信息,判定创建所述关联直播频道的主播同意转播。

上述装置中各个模块的功能和作用的实现过程具体详情见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

如图4所示,图4是本申请根据一示例性实施例示出的一种用于视频直播装置400的一结构示意图。例如,装置400可以被提供为服务器设备。参照图4,装置400包括处理组件422,其进一步包括一个或多个处理器,以及由存储器432所代表的存储器资源,用于存储可由处理部件422的执行的指令,例如应用程序。存储器432中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件422被配置为执行指令,以执行上述视频直播方法。

装置400还可以包括一个电源组件426被配置为执行装置400的电源管理,一个有线或无线网络接口450被配置为将装置400连接到网络,和一个输入输出(I/O)接口458。装置400可以操作基于存储在存储器432的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

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