一种实现服务端数据缓冲式延迟转发装置的制作方法

文档序号:13390546阅读:172来源:国知局

本实用新型涉及涉及数据转发技术领域,具体涉及一种实现服务端数据缓冲式延迟转发装置。



背景技术:

随着国内直播应用的越来越火,各类音视频应用越来越多,而在音视频应用中,常见的问题就是延迟同步控制。在服务器转发音视频流过程中,常常有延迟的需求,如要求音频流在视频流的多久之后转发,这个要求在服务器端实现一种延迟转发装置。该装置能够缓存流数据,并且在指定时间后开始转发。音视频流数据有一个特点,每个数据帧是有一个固定的时间间隔,如典型的音频流数据帧间隔2.5ms,5ms,10ms,20ms,40ms,60ms。如果音频转发速率和原有速率不匹配,很有可能造成接收端抖动,从而影响音质。因此需要一个相匹配的转发速率,处理相对复杂。

现有技术中,音频流转发简单地通过定时器和缓存池控制,如通过定时器扫描缓存区,根据时间发送。

由于音频转发速率需要和音频源的音频流数据帧的时间间隔相匹配,不然会造成接收端数据抖动,影响最终效果,现有技术中通过定时器扫描缓存区的方案,实现效果不佳,并且在多路直播需要处理时,性能不佳,效率低下。



技术实现要素:

有鉴于此,本实用新型的目的在于克服现有技术的不足,提供一种实现服务端数据缓冲式延迟转发装置,结合缓存池和定时器实现对直播平台数据流进行延迟转发控制。

为实现以上目的,本实用新型采用如下技术方案:

一种实现服务端数据缓冲式延迟转发装置,包括:

数据接收模块、数据封装模块、缓存模块、速率检测模块、定时器,延迟时间设定模块和转发模块,其中,

所述数据接收模块用于接收直播平台发送的音频流数据帧;所述数据封装模块用于封装所述数据接收模块发送的音频流数据帧,并将封装后的音频流数据帧顺序存储到所述缓存模块中;

所述速率检测模块用于检测所述数据接收模块接收到的音频流数据帧时间间隔,并将所述音频流数据帧时间间隔发送给所述延迟时间设定模块,以使所述延迟时间设定模块计算出所述缓存模块能够存储的最大音频流数据帧容量;

所述转发模块电连接所述缓存模块、延迟时间设定模块和定时器,所述转发模块用于在所述缓存模块中存储的数据达到所述最大音频流数据帧容量时顺序转发所述音频流数据帧,还用于在所述缓存模块未达到所述最大音频流数据帧容量但定时器达到预设延迟时间时顺序转发所述音频流数据帧。

优选地,所述数据封装模块通过串行总线与所述数据接收模块电连接。

优选地,所述缓存模块为多个,分别用于存储不同直播平台的数据。

优选地,所述缓存模块通过并行总线与所述数据封装模块电连接。

优选地,所述转发模块为多个,分别用于转发不同缓存模块中存储的直播平台的数据。

优选地,多个所述转发模块与多个所述缓存模块一一对应设置。

优选地,所述缓存模块为3个。

优选地,所述转发模块为3个。

优选地,所述实现服务端数据缓冲式延迟转发装置,还包括外壳,所述数据接收模块、数据封装模块、缓存模块、速率检测模块、定时器,延迟时间设定模块和转发模块皆设置在所述外壳内。

优选地,所述外壳由防水防尘材料制成。

本实用新型采用以上技术方案,至少具备以下有益效果:

由上述技术方案可知,本实用新型提供的这种实现服务端数据缓冲式延迟转发装置,速率检测模块能够检测数据接收模块接收到的音频流数据帧时间间隔,并将音频流数据帧时间间隔发送给延迟时间设定模块,以使延迟时间设定模块计算出缓存模块能够存储的最大音频流数据帧容量;转发模块电连接缓存模块、延迟时间设定模块和定时器,转发模块在所述缓存模块中存储的数据达到最大音频流数据帧容量时顺序转发所述音频流数据帧,或者在缓存模块未达到最大音频流数据帧容量但定时器达到预设延迟时间时顺序转发所述音频流数据帧。相比现有技术,本实用新型提供的这种实现服务端数据缓冲式延迟转发装置,能够结合缓存池和定时器实现对直播平台数据流进行延迟转发控制,减少接收端数据抖动。

附图说明

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

图1为本实用新型一实施例提供的一种实现服务端数据缓冲式延迟转发装置的示意框图。

具体实施方式

为使本实用新型的目的、技术方案和优点更加清楚,下面将对本实用新型的技术方案进行详细的描述。显然,所描述的实施例仅仅是本实用新型一部分实施例,而不是全部的实施例。基于本实用新型中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本实用新型所保护的范围。

下面通过附图和实施例,对本实用新型的技术方案做进一步的详细描述。

实施例一、

参见图1,本实用新型一实施例提供的一种实现服务端数据缓冲式延迟转发装置,包括:

数据接收模块1、数据封装模块2、缓存模块3、速率检测模块4、定时器5,延迟时间设定模块6和转发模块7,其中,

所述数据接收模块1用于接收直播平台发送的音频流数据帧;所述数据封装模块2用于封装所述数据接收模块1发送的音频流数据帧,并将封装后的音频流数据帧顺序存储到所述缓存模块3中;

所述速率检测模块4用于检测所述数据接收模块1接收到的音频流数据帧时间间隔,并将所述音频流数据帧时间间隔发送给所述延迟时间设定模块6,以使所述延迟时间设定模块6计算出所述缓存模块能够存储的最大音频流数据帧容量;

所述转发模块7电连接所述缓存模块3、延迟时间设定模块6和定时器5,所述转发模块7用于在所述缓存模块3中存储的数据达到所述最大音频流数据帧容量时顺序转发所述音频流数据帧,还用于在所述缓存模块3未达到所述最大音频流数据帧容量但定时器5达到预设延迟时间时顺序转发所述音频流数据帧。

需要说明的是,本实用新型提供的这种实现服务端数据缓冲式延迟转发装置,所述最大音频流数据帧容量和用户设定的延迟时间相关,如延迟100秒,假设每个音频流数据帧间隔是20ms,则一秒有50个音频流数据帧,长度是5000。

未达到最大音频流数据帧容量时,数据封装模块直接将封装后的数据帧插入缓存模块尾部,否则从缓存模块的头部挤出一个数据帧发送。异常情况处理:如果发送端未发送满就停止发送,通过定时器检测是否达到用户设定的预设延迟时间,若是,转发模块直接进行数据转发。

由上述技术方案可知,本实用新型提供的这种实现服务端数据缓冲式延迟转发装置,速率检测模块能够检测数据接收模块接收到的音频流数据帧时间间隔,并将音频流数据帧时间间隔发送给延迟时间设定模块,以使延迟时间设定模块计算出缓存模块能够存储的最大音频流数据帧容量;转发模块电连接缓存模块、延迟时间设定模块和定时器,转发模块在所述缓存模块中存储的数据达到最大音频流数据帧容量时顺序转发所述音频流数据帧,或者在缓存模块未达到最大音频流数据帧容量但定时器达到预设延迟时间时顺序转发所述音频流数据帧。相比现有技术,本实用新型提供的这种实现服务端数据缓冲式延迟转发装置,能够结合缓存池和定时器实现对直播平台数据流进行延迟转发控制,减少接收端数据抖动。

实施例二、

本实用新型一实施例提供的一种实现服务端数据缓冲式延迟转发装置,包括:

数据接收模块1、数据封装模块2、缓存模块3、速率检测模块4、定时器5,延迟时间设定模块6和转发模块7,其中,

所述数据接收模块1用于接收直播平台发送的音频流数据帧;所述数据封装模块2用于封装所述数据接收模块1发送的音频流数据帧,并将封装后的音频流数据帧顺序存储到所述缓存模块3中;

所述速率检测模块4用于检测所述数据接收模块1接收到的音频流数据帧时间间隔,并将所述音频流数据帧时间间隔发送给所述延迟时间设定模块6,以使所述延迟时间设定模块6计算出所述缓存模块能够存储的最大音频流数据帧容量;

所述转发模块7电连接所述缓存模块3、延迟时间设定模块6和定时器5,所述转发模块7用于在所述缓存模块3中存储的数据达到所述最大音频流数据帧容量时顺序转发所述音频流数据帧,还用于在所述缓存模块3未达到所述最大音频流数据帧容量但定时器5达到预设延迟时间时顺序转发所述音频流数据帧。

优选地,所述数据封装模块2通过串行总线与所述数据接收模块1电连接。

优选地,所述缓存模块3为多个,分别用于存储不同直播平台的数据。

优选地,所述缓存模块3通过并行总线与所述数据封装模块2电连接。

优选地,所述转发模块7为多个,分别用于转发不同缓存模块3中存储的直播平台的数据。

优选地,多个所述转发模块7与多个所述缓存模块3一一对应设置。

实施例三、

本实用新型一实施例提供的一种实现服务端数据缓冲式延迟转发装置,包括:

数据接收模块1、数据封装模块2、缓存模块3、速率检测模块4、定时器5,延迟时间设定模块6和转发模块7,其中,

所述数据接收模块1用于接收直播平台发送的音频流数据帧;所述数据封装模块2用于封装所述数据接收模块1发送的音频流数据帧,并将封装后的音频流数据帧顺序存储到所述缓存模块3中;

所述速率检测模块4用于检测所述数据接收模块1接收到的音频流数据帧时间间隔,并将所述音频流数据帧时间间隔发送给所述延迟时间设定模块6,以使所述延迟时间设定模块6计算出所述缓存模块能够存储的最大音频流数据帧容量;

所述转发模块7电连接所述缓存模块3、延迟时间设定模块6和定时器5,所述转发模块7用于在所述缓存模块3中存储的数据达到所述最大音频流数据帧容量时顺序转发所述音频流数据帧,还用于在所述缓存模块3未达到所述最大音频流数据帧容量但定时器5达到预设延迟时间时顺序转发所述音频流数据帧。

优选地,所述数据封装模块2通过串行总线与所述数据接收模块1电连接。

优选地,所述缓存模块3为多个,分别用于存储不同直播平台的数据。

优选地,所述缓存模块3通过并行总线与所述数据封装模块2电连接。

优选地,所述转发模块7为多个,分别用于转发不同缓存模块3中存储的直播平台的数据。

优选地,多个所述转发模块7与多个所述缓存模块3一一对应设置。

优选地,所述缓存模块为3个。

优选地,所述转发模块为3个。

优选地,所述实现服务端数据缓冲式延迟转发装置,还包括外壳,所述数据接收模块、数据封装模块、缓存模块、速率检测模块、定时器,延迟时间设定模块和转发模块皆设置在所述外壳内。

优选地,所述外壳由防水防尘材料制成。

可以理解的是,本实用新型提供的这种实现服务端数据缓冲式延迟转发装置,所述最大音频流数据帧容量和用户设定的延迟时间相关,如延迟100秒,假设每个音频流数据帧间隔是20ms,则一秒有50个音频流数据帧,长度是5000。

未达到最大音频流数据帧容量时,数据封装模块直接将封装后的数据帧插入缓存模块尾部,否则从缓存模块的头部挤出一个数据帧发送。异常情况处理:如果发送端未发送满就停止发送,通过定时器检测是否达到用户设定的预设延迟时间,若是,转发模块直接进行数据转发。

以上所述,仅为本实用新型的具体实施方式,但本实用新型的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本实用新型揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本实用新型的保护范围之内。因此,本实用新型的保护范围应以所述权利要求的保护范围为准。术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“多个”指两个或两个以上,除非另有明确的限定。

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