多媒体数据推送方法、装置、存储介质及设备与流程

文档序号:15062571发布日期:2018-07-31 22:07阅读:103来源:国知局

本发明涉及互联网技术领域,特别涉及一种多媒体数据推送方法、装置、存储介质及设备。



背景技术:

时下以音视频直播为主的多媒体数据直播已成为了人们展示自我以及进行娱乐休闲的重要途径之一。在一场直播中,如果想要保证链路上直播流的稳定性以提升用户的观看体验,则直播推流端的抗抖动性至关重要,仅有直播推流端稳定地向直播后台推送直播流,直播后台才能够持续输出高质量的直播流,进而将直播流呈现给观众用户。其中,直播推流端指代多媒体数据直播的发起端,即主播用户的终端。在大多数直播场景下,直播推流端一般采用移动网络或者wifi(wirelessfidelity,无线保真)网络向直播后台推送直播流。在推流过程中,常常存在因网络出现卡顿现象而需切换直播推流端的网络出口的问题,比如由wifi网络切换为移动网络,或者在双卡模式下由a运营商的4g网络切换为b运营商的4g网络。

相关技术在网络出口发生变化后,若直播推流端继续将直播流推送到直播后台中原有的接流节点,则直播推流端可能会出现跨运营商的网络传输问题(比如慢速或无法推送直播流),导致直播质量大幅度下降,进而在观众用户侧会出现直播卡顿或无法播放的现象。举例来说,假设直播推流端初始采用a运营商的4g网络将直播流推送给a运营商的接流节点,中间直播推流端切换到b运营商的wifi网络,这便会使得直播推流端在b运营商的wifi网络下跨运营商推送直播流给a运营商的接流节点,从而可能出现直播卡顿或无法播放的现象。

而在网络出口发生变化后,若直播推流端重新选取新的接流节点,那么原有链路上的诸如接流、转码以及转封装等任务便都将处于断流异常状态,在直播后台触发异常超时处理机制之前,直播后台无法拉取到新的直播流并推送给观看用户,那么在这段时间内对于观看用户来讲便会出现直播中断的情况,这无疑会严重影响用户的观看体验。

综上,在网络出口发生变化后上述两种解决方式均存在严重降低直播体验的缺陷。为此,如何在网络出口发生变化时进行多媒体数据推送,以保障用户的观看体验,成为了本领域技术人员关注的一个焦点。



技术实现要素:

本发明实施例提供了一种多媒体数据推送方法、装置、存储介质及设备,解决了相关技术存在的因直播推流端切换网络出口而导致的直播质量不佳的问题。所述技术方案如下:

一方面,提供了一种多媒体数据推送方法,应用于第一接流节点,所述第一接流节点由直播推流端在网络出口发生变化后确定,所述方法包括:

接收所述直播推流端发送的直播流;

向任务调度系统发送直播流接收消息;

接收所述任务调度系统下发的直播流转推任务,所述直播流转推任务是所述任务调度系统在接收到所述直播流接收消息后生成的,所述直播流转推任务中包含第二接流节点的地址信息,所述第二接流节点为所述直播推流端的网络出口发生变化之前用于接收直播流的节点;

根据所述第二接流节点的地址信息,将所述接收的直播流转推给所述第二接流节点。

另一方面,提供了一种多媒体数据推送方法,应用于任务调度系统,所述方法包括:

接收第一接流节点发送的直播流接收消息,所述第一接流节点由直播推流端在网络出口发生变化后确定,所述直播流接收消息由所述第一接流节点在接收到所述直播推流端发送的直播流后发送;

根据所述直播流接收消息生成直播流转推任务,所述直播流转推任务中包含第二接流节点的地址信息,所述第二接流节点为所述直播推流端的网络出口发生变化之前用于接收直播流的节点;

将所述直播流转推任务发送给所述第一接流节点,以使所述第一接流节点根据所述第二接流节点的地址信息,将所述接收到的直播流转推给所述第二接流节点。

另一方面,提供了一种多媒体数据推送方法,所述方法包括:

直播推流端向第二接流节点发送直播流;

当所述直播推流端的网络出口发生变化时,所述直播推流端确定第一接流节点,并切换为向所述第一接流节点发送直播流;

所述第一接流节点在接收所述直播推流端发送的直播流后,向任务调度系统发送直播流接收消息;

所述任务调度系统在接收到所述直播流接收消息后生成直播流转推任务,所述直播流转推任务中包含第二接流节点的地址信息;

所述第一接流节点接收所述任务调度系统下发的所述直播流转推任务;

所述第一接流节点根据所述第二接流节点的地址信息,将所述接收的直播流转推给所述第二接流节点。

另一方面,提供了一种多媒体数据推送装置,应用于第一接流节点,所述第一接流节点由直播推流端在网络出口发生变化后确定,所述装置包括:

第一接收模块,用于接收所述直播推流端发送的直播流;

第一发送模块,用于向任务调度系统发送直播流接收消息;

第二接收模块,用于接收所述任务调度系统下发的直播流转推任务,所述直播流转推任务是所述任务调度系统在接收到所述直播流接收消息后生成的,所述直播流转推任务中包含第二接流节点的地址信息,所述第二接流节点为所述直播推流端的网络出口发生变化之前用于接收直播流的节点;

第二发送模块,用于根据所述第二接流节点的地址信息,将所述接收的直播流转推给所述第二接流节点。

另一方面,提供了一种多媒体数据推送装置,应用于任务调度系统,所述装置包括:

接收模块,用于接收第一接流节点发送的直播流接收消息,所述第一接流节点由直播推流端在网络出口发生变化后确定,所述直播流接收消息由所述第一接流节点在接收到所述直播推流端发送的直播流后发送;

生成模块,用于根据所述直播流接收消息生成直播流转推任务,所述直播流转推任务中包含第二接流节点的地址信息,所述第二接流节点为所述直播推流端的网络出口发生变化之前用于接收直播流的节点;

发送模块,用于将所述直播流转推任务发送给所述第一接流节点,以使所述第一接流节点根据所述第二接流节点的地址信息,将所述接收到的直播流转推给所述第二接流节点。

另一方面,提供了一种存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述的多媒体数据推送方法。

另一方面,提供了一种用于多媒体数据推送的设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述的多媒体数据推送方法。

本发明实施例提供的技术方案带来的有益效果是:

在直播推流端的网络出口发生切换时,本发明实施例通过采取转推直播流的处理方式,能够有效地保障直播质量,不但降低了任务调度系统的负载,而且提升了直播服务的稳定性,确保了直播效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种多媒体数据推送方法所涉及的实施环境的架构图;

图2是本发明实施例提供的一种多媒体数据推送方法的直播流程示意图;

图3是本发明实施例提供的一种多媒体数据推送方法的直播流程示意图;

图4是本发明实施例提供的一种多媒体数据推送方法的流程图;

图5是本发明实施例提供的一种多媒体数据推送方法的直播流程示意图;

图6a是本发明实施例提供的一种用于展示直播流连续性的示意图;

图6b是本发明实施例提供的一种多媒体数据推送方法的流程图;

图7是本发明实施例提供的一种多媒体数据推送装置的结构示意图;

图8是本发明实施例提供的一种多媒体数据推送装置的结构示意图;

图9是本发明实施例提供的一种用于多媒体数据推送的设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

在对本发明实施例进行详细地解释说明之前,先对本发明实施例涉及到的一些名词进行解释说明。

直播流:指代主播用户在发起直播时,由主播用户的终端实时采集并编码的多媒体数据。

其中,主播用户的终端在本发明实施例中也称之为直播推流端。

直播后台:如图1所示,直播后台主要包括5个部分,分别为接入层、流处理层、接流中转层、任务调度系统以及流分发层。

接流服务:指代直播后台中一种用于接收直播流的服务,能够完成接收和转发直播流的功能。其中,接流服务对应于图1中的接入层。即,接入层包括多个接流节点,这多个接流节点用于接收直播推流端发送的直播流。

直播推流服务:指代直播推流端采用移动网络或者wifi网络将直播流推送到直播后台的接流节点的服务。

其中,移动网络包括但不限于4g(the4thgenerationmobilecommunicationtechnology,第四代移动通信技术)、3g(3rd-generationmobilecommunicationtechnology,第三代移动通信技术)等。

接流中转服务:指代一种介于接流节点的下游和流分发层的上游的服务,接流中转服务能够被动接收或者被动拉取直播流,也能够通过信令下发的方式主动拉取接流节点上缓存的直播流。其中,接流中转服务对应于图1中的接流中转层。即,接流中转层包括多个接流中转节点,这多个接流中转节点用于执行接流中转服务。

转码:指代流处理层对直播流进行流处理的一种方式。转码处理能够将直播流由原始分辨率和原始码率转换成多种不同分辨率以及多种不同码率。

转封装:指代流处理层对直播流进行流处理的另一种方式。转封装处理能够将直播流由原始的格式转换为指定的新格式。

cdn(contentdeliverynetwork,内容分发网络):能够实时地根据网络流量和各个服务节点的连接、负载状况、到用户的距离以及响应时间等综合信息,将用户发起的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,以解决网络拥挤的状况,提高用户访问网站的响应速度。

在本发明实施例中,cdn出现在直播后台的流分发层。

flv(flashvideo,流媒体格式)数据块:指代一种通用的音视频数据封装格式下的数据流。

其中,每一个flv数据块至少包括两部分,分为头部(head)和主体(body),头部包含主体部分的相关索引信息,比如包含数据块的pts(presentationtimestamp,显示时间戳),主体中包含多媒体数据,比如音视频数据。

下面对本发明实施例提供的视频直播方法所涉及的实施环境进行简单介绍。如图1所示,一场直播的顺利进行还需前端和直播后台合作完成。

针对前端,主播用户通常还需在直播推流端安装具有直播功能的app(application,应用);且在主播用户开始直播之前,直播推流端的接入调度服务会根据诸如当前的网络带宽、运营商以及地域等信息,来进行动态地接流节点选择,以选择出当前链路质量最优的接流节点。这样在直播开始后,直播推流端通过app便可将直播流实时推送到这一接流节点。比如在图1中,通过步骤①实现采用a运营商的wifi网络向接流节点a进行直播流的推送。

针对直播后台,接入层包括多个接流节点,用于接收不同的直播推流端发送的直播流;而接入层的接流节点在收到直播推流端的直播流后,会向任务调度系统上报直播流接收消息,任务调度系统则会根据接流节点上报的直播流接收信息,依次触发直播后台中的流处理层执行流处理任务、接流中转层执行接流中转服务。

其中,直播流接收消息中包括直播流的相关信息,比如接流节点的地址信息、主播用户的标识信息等,本发明实施例对此不进行具体限定。

在本发明实施例中,流处理任务包括但不限于对接流节点接收到的直播流进行转码和转封装,以实现将存储在接流节点上的原始直播流转换成多种分辨率或多种格式的直播流。而接流中转任务,可实现将经过流处理后的直播流存储在接流中转层的接流中转节点上。

基于以上描述,当观众用户观看这场直播时,便可由位于流分发层的cdn进行直播流的回源,即cdn拉取在接流中转节点上存储的对应格式与对应分辨率的直播流,并将这一直播流推送给观众用户。

需要说明的是,上述提及到的节点可为一个服务器,即接流节点也可称之为接流服务器,接流中转节点也可称之为接流中转服务器,本发明实施例对此不进行具体限定。

在另一个实施例中,如图2所示,在直播推流端的网络出口发生变化,即直播推流端的网络发生切换时(比如由a运营商的wifi网络切换为b运营商的4g网络),相关技术的一种处理方式为直播推流端不重新从接入调度服务那里获取新的接流节点,而是继续向初始的接流节点a继续推送直播流,即对应图2中的步骤①。换一种表达方式,该种处理方式为在直播推流端切换网络后还继续采用初始的接流节点继续推送直播流。

针对该种方式,直播推流端在网络出口发生改变后,若不根据运营商、网络带宽以及地域等信息重新选取当前链路质量最优的接流节点,而是仍旧将直播流推送到初始的接流节点,则会出现接入链路不是最优以及跨运营商的网络传输问题。另外,若直播推流端仍然采取原有的码率进行直播流推送,则将会出现严重的上行丢包和网络阻塞,最终导致整个链路异常,出现直播卡顿的现象。在另一个实施例中,若直播推流端在不改变接流节点的前提下,重新进行推流测速,再根据新的测速结果去匹配推流的码率,则还是会存在由于跨运营商的网络传输问题,导致直播推流端匹配到的最优推流码率远远小于同一运营商下的推流码率,那么该种处理方式还是会影响到直播质量,从而降低了用户的观看体验。

在另一个实施例中,如图3所示,在直播推流端的网络出口发生变化时,若直播推流端重新选择新的接流节点进行推流,比如在图3中直播推流端将直播流推送到新的接流节点b上。而接流节点b在上报直播流接收消息给任务调度系统后,任务调度系统会重新下发转码、转封装和接流中转任务。整个流程如图3中黑色加粗部分所示。对于与初始的接流节点a对应的转码、转封装以及接流中转任务(黑色虚线部分),则将进入断流状态,等待最大超时时间后自动触发删除。而在观众用户侧,播放端将进入播放黑屏状态,且播放端会尝试进行重新连接,直至整个直播后台的链路上的任务全部启动。

针对上述处理方式,在重新获取新的接流节点并在经过上行带宽测速后,选用新的推流码率向新的接流节点重新进行推流,虽然能够确保上行质量最优,并且也避免了跨运营商的网络传输问题,但是由于重新选取了接流节点,初始接流节点将会进入断流状态,链路上对应的转码服务、转封装服务、接流中转服务以及cdn都将会进入到等待重试流程中,直至最大超时时间后自动触发删除。这对于观看直播的观看用户来讲,在直播后台重新下发启动任务之前,将会出现播放黑屏的现象,这无疑会严重影响用户的观看体验。

针对上述两种处理方式的存在的问题,本发明实施例提出了一种在接流节点(也可称之为直播上行接入点)变更后的全链路质量保障技术。本发明实施例实现了在直播推流端的网络出口发生变化时,能够重新动态地选取新的接流节点,以保证直播推流端的推流质量,同时本发明实施例还采用了新的接流节点在接流后再内部转推给初始的接流节点的方法,实现将重新推送的直播流与原有链路上的直播流续接,降低整个直播后台的资源重复消耗,最终提供给观看用户稳定流畅的观看体验。

换一种表达方式,在直播推流端的网络出口发生变化后,本发明实施例采取了动态接入探测以及内部接流转推相结合的方法,实现了在保障直播推流端的推流质量情况下,同时能够确保整个直播后台的链路完整性、连续性以及服务稳定性,最终提供给观看用户良好的观看体验。

图4是本发明实施例提供的一种视频直播方法的流程图。以第一接流节点指代图5中的接流节点b,第二接流节点指代图5中的接流节点a为例,参见图4,本发明实施例提供的方法流程包括:

401、直播推流端确定接收直播流的接流节点a。

如图5所示,直播推流端主要包括两个部分,一部分为app,另一部分为接入调度服务。其中,直播推流端具体是通过app向直播后台的接入层进行推流,而接入调度服务负责确定具体应该向接入层的哪一个接流节点进行推流。

在一场直播开始之前,直播推流端中的app可向接入调度服务发送用于获取接流节点的请求,而接入调度服务在接收到这一请求后,可根据当前的网络带宽、运营商以及地域等信息,来综合进行接流节点选择,以选择出当前链路质量最优的接流节点,以供直播推流端进行直播流推送。比如在图5中,直播推流端当前连接了a运营商的wifi网络,那么确定出来的接流节点a也是a运营商接入的,以保证不出现跨网络传输的问题。

在本发明实施例中,接入调度服务确定出来的初始接流节点可称之为接流节点a。而接入调度服务返回的接流节点信息中至少包括接流节点a的地址信息,比如ip(internetprotocol,网络地址)地址和端口号。

需要说明的是,直播推流端推送的直播流本质上是由多个数据块,比如直播推流端在采集到音视频数据后,会编码封装成多个flv数据块。其中,每一个数据块包括头部和主体,头部包含本数据块的相关索引信息,比如包含本数据块的pts,主体中包含多媒体数据,比如音视频数据,本发明实施例对此不进行具体限定。

402、直播开始后,直播推流端向接流节点a发送直播流。

由于直播推流端已经获取到接流节点a的地址信息,因此在直播开始后,直播推流端根据该地址信息便可实现持续向接流节点a进行推流。

而接流节点a在接收到推送的直播流后,可将该直播流缓存在内存中,本发明实施例对此不进行具体限定。

403、接流节点a在第一次接收到直播推流端发送的直播流后,向任务调度系统发送第一直播流接收消息。

在本发实施例中,接流节点a在首次接收到直播推流端推送的直播流后,可通过信令方式将该直播流的相关信息发送给任务调度系统,以便于任务调度系统进行相关调度。其中,该直播流的相关信息在本发明实施例中称之为第一直播流接收消息,第一直播流接收消息中可包括接流节点a的地址信息、主播用户的标识信息等,本发明实施例对此不进行具体限定。

需要说明的第一点是,在直播开始后且直播推流端进行网络切换之前,直播推流端会持续向接流节点a进行推流。

需要说明的第二点是,在直播推流端持续的推流过程中,接流节点a接收到的多个数据块中包含的pts的序列号呈连续递增趋势。以图6a为例,接流节点a接收到的第一个数据块的pts的序列号为pts0,接收到的第二个数据块的pts的序列号为pts1,……,接收到的第n个数据块的pts的序列号为ptsn,依此类推。

需要说明的第三点是,由于在首次接收到直播流后已经向任务调度系统进行上报,所以后续过程在接收到直播流时接流节点a无需再次进行上报,以避免重复上报。

404、任务调度系统根据第一直播流接收消息向流处理层下发流处理任务,以及向接流中转层下发接流中转任务。

在本发明实施例中,任务调度系统在接收到上述第一直播流接收消息后,可以根据接流节点a所在的地域或直播流格式等信息,依次调度起直播后台中的流处理任务以及接流中转任务,实现对缓存在接流节点a的内存中直播流进行处理。

其中,流处理任务至少包括转码任务和转封装任务,本发明实施例对此不进行具体限定。

405、流处理层对接流节点a接收到的直播流进行流处理,接流中转层对经过流处理层处理后的直播流进行存储。

在本发明实施例中,通常先执行转码任务再执行转封装任务。其中,转码任务可将存储在接流节点a上的原始视频流转换为不同的清晰度或分辨率,以适应于不同的用户观看需求。比如,原始视频流的清晰度或分辨率为高清,则可将其转码为流畅、正常、高清、超清、蓝光灯不同的级别,本发明实施例对此不进行具体限定。而转封装任务可实现对原始视频流的格式转换,比如由flv格式转换为ts(transportstream,传输流)格式。

406、cdn接收观看用户发起的请求,从接流中转层的接流中转节点上拉取直播流返回给播放端。

在本发明实施例中,存储在接流节点a上的直播流在依次进过流处理层以及接流中转层的处理后,会回源到流分发层cdn上,以实现cdn根据观众用户的请求,就近分发直播流并提供给观看用户。

407、在网络出口发生变化后,直播推流端确定接收直播流的接流节点b。

当网络发生异常时,如图5中黑色加粗部分所示,直播推流端进行网切换络,由a运营商的wifi网络切换为b运营商的4g网络。

进一步地,在网络发生切换后,直播推流端按照上述步骤401所示的方式重新匹配到新的质量最优的接流节点b,继续进行推流,即对应图5中的步骤①。

408、直播推流端向接流节点b发送直播流。

由于已经切换了接流节点,所以直播推流端会根据接流节点b的地址信息,转换为开始向接流节点b进行推流。

409、接流节点b在接收到直播推流端发送的直播流后,向任务调度系统发送第二直播流接收消息。

在本发明实施例中,接流节点b在接收到直播推流端的直播流后,同样会将该直播流的相关信息,通过信令方式同步到任务调度系统,即对应图5中的步骤②。其中,接流节点b上报的该直播流的相关信息可称之为第二直播流接收消息,第二直播流接收消息中可包括接流节点b的地址信息、主播用户的标识信息等,本发明实施例对此不进行具体限定。

410、任务调度系统在接收到第二直播流接收消息后生成直播流转推任务,该直播流转推任务中包含接流节点a的地址信息。

任务调度系统在接收到接流节点b的第二直播流接收消息后,此时任务调度系统中已经存在着接流节点a的相关任务,表明之前直播流是存在于接流节点a中的,因此任务调度系统会下发直播转推任务给接流节点b。

其中,接流节点a的地址信息包括但不限于接流节点a的ip地址和端口号。

411、接流节点b接收任务调度系统下发的直播流转推任务,并根据接流节点a的地址信息,将接收到的直播流转推给接流节点a。

在本发明实施例中,接流节点b在接收到任务调度系统下发的直播转推任务后,会根据接流节点a的ip地址和端口号,将直播推流端推送的直播流进行内部转推,即转发给接流节点a,以确保接流节点a不会出现直播断流,即对应图5中的步骤③。

针对该种方式,由于此时在接流节点a下游的针对直播流的转码任务、转封装任务以及接流中转任务可持续进行,因此无需针对接流服务节点b重新下发转码、转封装以及接流中转任务,所以整个流程仅需执行①②③三个步骤。而在接流节点b转推直播流给接流节点a后,便可继续先前的诸如步骤405和步骤406的处理,进而实现向观众用户进行视频直播。

在另一个实施例中,在直播推流端的网络切换过程中,本发明实施例还需确保直播流的连续性,即持续发送的多个数据块的pts的序号还需是连续递增的,具体过程如图6a所示。

在图6a中,直播推流端在未进行网络切换之前,采集到音视频数据并编码后,可封装成多个flv格式的数据块,这些数据块便组成了直播流。其中,如图6a所示,接流节点a接收到的多个数据块中的pts的序列号是呈连续递增趋势的。即,按照pts0、pts1、……、ptsn的顺序,接流节点a先后接收到数据块。

在t时刻直播推流端发生网络切换,此时接流节点a最后发送的一个数据块的pts的序列号为n,而直播推流端在重新切换网络并确定新的接流节点b后,会将第n+1个数据块作为第一个数据块发送给新的接流节点b,以保证直播流的连续性。

换一种表达方式,若接流节点b接收到的第一个数据块的pts的序列号为n+1,则直播推流端向接流节点a发送的最后一个数据块的pts的序列号为n,其中,n的取值为正整数。

而接流节点b会再将接收到的直播流转推给初始的接流节点a。由于整个流程持续在内部转推,全链路上的时间戳序列不会出现回退,从而保证了播放端能够连续平稳的进行播放。

针对播放端而言,由于cdn到接流中转层的链接处于有效状态,因此在直播推流端切换网络重新推流到接流节点b以及接流节点b转推直播流到接流节点a的这段时间内,接流中转层的节点上仍然缓存着一部分的直播流以提供给播放端进行播放,所以不会出现断流。即,当接流节点b将接收到的直播流转推到接流节点a后,整个直播链路将会与原流程一致,播放端不会受到直播推流端的网络切换影响,确保了用户的观看体验。

本发明实施例提供的方法,在直播推流端的网络出口发生切换时,本发明实施例通过采取转推直播流的处理方式,能够有效地保障直播质量,不但降低了任务调度系统的负载,而且提升了直播服务的稳定性,确保了直播效果。

另外,在直播推流端发生网络出口切换时,本发明实施例使得直播流在整个直播链路上更为平滑,极大地降低了因切换网络导致的播放卡顿以及黑屏问题,大幅提升了直播观看体验与直播质量。

综上所述,重新确定的接流节点在接收到直播推流端发送的直播流后,通过将接收到的直播流转推给用于接收直播流的初始的接流节点,确保了推流质量,进而确保了直播质量。如图6b所示,以重新确定的接流节点为第一接流节点为例,则第一接流节点执行的操作可归纳总结为下述步骤:

601、第一接流节点接收直播推流端发送的直播流。

602、第一接流节点向任务调度系统发送直播流接收消息。

603、第一接流节点接收任务调度系统下发的直播流转推任务,该直播流转推任务是任务调度系统在接收到直播流接收消息后生成的,该直播流转推任务中包含第二接流节点的地址信息,第二接流节点为直播推流端的网络出口发生变化之前用于接收直播流的节点。

604、第一接流节点根据第二接流节点的地址信息,将接收的直播流转推给第二接流节点。

即,在直播推流端的网络出口发生切换时,本发明实施例通过采取转推直播流的处理方式,能够有效地保障直播质量,不但降低了任务调度系统的负载,而且提升了直播服务的稳定性,确保了直播效果。

图7是本发明实施例提供的一种多媒体数据推送装置的结构示意图。该装置应用于第一接流节点,所述第一接流节点由直播推流端在网络出口发生变化后确定,参见图7,该装置包括:

第一接收模块701,用于接收所述直播推流端发送的直播流;

第一发送模块702,用于向任务调度系统发送直播流接收消息;

第二接收模块703,用于接收任务调度系统下发的直播流转推任务,所述直播流转推任务是所述任务调度系统在接收到所述直播流接收消息后生成的,所述直播流转推任务中包含第二接流节点的地址信息,所述第二接流节点为所述直播推流端的网络出口发生变化之前用于接收直播流的节点;

第二发送模块704,用于根据所述第二接流节点的地址信息,将所述接收的直播流转推给所述第二接流节点。

本发明实施例提供的装置,在直播推流端的网络出口发生切换时,本发明实施例通过采取转推直播流的处理方式,能够有效地保障直播质量,不但降低了任务调度系统的负载,而且提升了直播服务的稳定性,确保了直播效果。

在另一个实施例中,所述直播流包括多个数据块,每一个数据块包括头部和主体,所述头部包含所述数据块的pts,所述主体包含多媒体数据;

第一接收模块,还用于接收所述直播推流端持续发送的多个数据块,所述多个数据块的pts的序列号呈连续递增趋势。

在另一个实施例中,若所述直播推流端向所述第二接流节点发送的最后一个数据块的pts的序列号为n,则所述第一接流节点接收到的第一个数据块的pts的序列号为n+1,n的取值为正整数。

在另一个实施例中,所述数据块为flv数据块。

上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。

图8是本发明实施例提供的一种多媒体数据推送装置的结构示意图。该装置应用于任务调度系统,参见图8,该装置包括:

接收模块801,用于接收第一接流节点发送的直播流接收消息,所述第一接流节点由直播推流端在网络出口发生变化后确定,所述直播流接收消息由所述第一接流节点在接收到所述直播推流端发送的直播流后发送;

生成模块802,用于根据所述直播流接收消息生成直播流转推任务,所述直播流转推任务中包含第二接流节点的地址信息,所述第二接流节点为所述直播推流端的网络出口发生变化之前用于接收直播流的节点;

发送模块803,用于将所述直播流转推任务发送给所述第一接流节点,以使所述第一接流节点根据所述第二接流节点的地址信息,将所述接收到的直播流转推给所述第二接流节点。

本发明实施例提供的装置,在直播推流端的网络出口发生切换时,本发明实施例通过采取转推直播流的处理方式,能够有效地保障直播质量,不但降低了任务调度系统的负载,而且提升了直播服务的稳定性,确保了直播效果。

在另一个实施例中,该装置还包括:

处理模块,用于向流处理层下发流处理任务,以使所述流处理层对所述第二接流节点接收到的直播流进行流处理。

在另一个实施例中,处理模块,还用于向接流中转层下发接流中转任务,以通过所述接流中转层对经过所述流处理层处理后的直播流进行存储。

在另一个实施例中,所述流处理任务至少包括转码任务和转封装任务。

上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。

需要说明的是:上述实施例提供的多媒体数据推送装置在进行多媒体数据推送时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的多媒体数据推送装置与多媒体数据推送方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图9是本发明实施例提供的一种用于多媒体数据推送的设备的结构示意图,该设备900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)901和一个或一个以上的存储器902,其中,所述存储器902中存储有至少一条指令,所述至少一条指令由所述处理器901加载并执行以实现上述各个方法实施例提供的多媒体数据推送方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。

在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述实施例中的多媒体数据推送方法。例如,所述计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

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

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