一种TS封装格式的VBR发送方法技术

技术编号:29293255 阅读:15 留言:0更新日期:2021-07-17 00:39
本发明专利技术公开了一种TS封装格式的VBR发送方法,包括以下步骤:S10,音视频压缩数据根据压缩码率,进行TS格式封装;S20,根据TS格式封装码率,进行UDP打包发送;S30,UDP打包发送时,过滤TS格式封装的空包,具体根据TS格式规范,解析TS Header,把PID为0x1FFF的包在UDP发送之前直接过滤出,不进行UDP打包发送。本发明专利技术可以有效解决TS封装格式的VBR发送问题。有效解决TS封装格式的VBR发送问题。有效解决TS封装格式的VBR发送问题。

【技术实现步骤摘要】
一种TS封装格式的VBR发送方法


[0001]本专利技术属于实时音视频处理
,具体涉及一种TS封装格式的VBR发送方法。

技术介绍

[0002]在广电领域音视频处理系统中,普遍把音视频压缩数据通过TS(Transport Stream,传送流)封装格式,网络UDP(User Datagram Protocol,用户数据包协议)打包,进行系统间实时流的传输。发送UDP包一般是通过固定码率(Constants Bits Rate,CBR)发送,即使音视频编码是动态码率(Variable Bit Rate,VBR),最终还是以编码动态码率的最高码率当做固定码率去发送,这样就产生了不必要的网络流量。
[0003]由于按照编码的最高码率固定发送,每秒实际生成的编码数据一般不会达到最高码率,所以在UDP数据的发送过程中瞬时可能会出现无数据可发,瞬间输出断流,导致后端IP切换器误认为数据源问题,直接切换数据源。

技术实现思路

[0004]本专利技术要解决的技术问题是提供一种TS封装格式的VBR发送方法,用于检测UDP数据中的TS封装空包,并进行过滤,解决了空包发送断流的问题。
[0005]为解决上述技术问题,本专利技术采用如下的技术方案:
[0006]一种TS封装格式的VBR发送方法,包括以下步骤:
[0007]S10,音视频压缩数据根据压缩码率,进行TS格式封装;
[0008]S20,根据TS格式封装码率,进行UDP打包发送;
[0009]S30,UDP打包发送时,过滤TS格式封装的空包,具体根据TS格式规范,解析TS Header,把PID为0x1FFF的包在UDP发送之前直接过滤出,不进行UDP打包发送。
[0010]优选地,S10中,如果音视频压缩数据是固定码率CBR编码,TS格式封装的码率定为CBR乘以上浮系数,用于预留TS格式的表信息数据。
[0011]优选地,S10中,如果音视频压缩数据是固定码率CBR编码,TS格式封装的码率定为音频压缩数据的固定码率与视频压缩数据的固定码率之和乘以上浮系数,用于预留TS格式的表信息数据。
[0012]优选地,如果音视频压缩数据是动态码率VBR编码,TS格式封装的码率定为音频压缩数据VBR的最高码率和视频压缩数据VBR的最高码率之和乘以上浮系数,用于预留TS格式的表信息数据。
[0013]采用本专利技术具有如下的有益效果:
[0014](1)由于TS文件封装码率比编码码率有一定的上浮,可以有效解决TS码率下溢的问题;
[0015](2)对UDP发送码率的控制,有效解决了UDP发送瞬时码率过高,后端系统接收丢包的问题;
[0016](3)通过过滤TS文件封装空包发送,有效减低了传输带宽,网络压力明显降低。
附图说明
[0017]图1为本专利技术实施例的TS封装格式的VBR发送方法的步骤流程图;
[0018]图2为本专利技术实施例中TS封装格式的结构示意图;
[0019]图3为修改之前的统计码率曲线图;
[0020]图4为采用本专利技术实施例方法实施后的统计码率曲线图。
具体实施方式
[0021]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0022]参照图1,所示为本专利技术实施例的TS封装格式的VBR发送方法的步骤流程图,其包括以下步骤:
[0023]S10,音视频压缩数据根据压缩码率,进行TS格式封装;
[0024]S20,根据TS格式封装码率,进行UDP打包发送;
[0025]S30,UDP打包发送时,过滤TS格式封装的空包,具体根据TS格式规范,解析TS Header,把PID为0x1FFF的包在UDP发送之前直接过滤出,不进行UDP打包发送。
[0026]具体应用实例中,在S10中,如果音视频压缩数据是固定码率CBR编码,TS格式封装的码率定为音频压缩数据的固定码率与视频压缩数据的固定码率之和乘以上浮系数,用于预留TS格式的表信息数据,用于预留TS格式的表信息数据,即:TS格式封装码率=(视频压缩数据的固定码率+音频压缩数据的固定码率)*R,其中R>1。
[0027]如果音视频压缩数据是动态码率VBR编码,TS格式封装的码率定为音频压缩数据VBR的最高码率和视频压缩数据VBR的最高码率之和乘以上浮系数,用于预留TS格式的表信息数据,用于预留TS格式的表信息数据,即:TS格式封装码率=(视频压缩数据动态码率的最高码率+音频数据动态码率的最高码率)*R,其中R>1。
[0028]同时对于TS格式封装,其采用标准的格式,传输包流中包括多个封装的TS报文,每个TS报文包括报文头和载荷两部分,总共大小为188字节。报文头包括固定长度部分和可选部分,可选部分中包括适配域。如图2所示,固定部分包括8bit的同步字节,1bit的传输错误指示位,1bit的传输优先级,13bit的分组ID(PID),2bit的传输加扰控制,2bit适配域存在标志,4bit连续性计数器。对于PID部分,其填充内容不一样表示不同内容的报文,具体如表1所示。
[0029]表1 TS封装包类型
[0030][0031]具体应用实例中,S20具体执行过程如下:设定UDP每次打包发送的数据量,设定开始发送时间,获取当前时间,通过TS封装码率,计算出发送开始到当前时间需要发送的数据量,如果当前需要发送的数据量超过已经发送的数据量,发送固定长度数据。
[0032]具体应用实例中,S30中,如表1所述,TS封装包类型有一种是空包(PID为0x1FFF),空包是为了填充TS格式封装码率所用,对后端系统解码器一般没用,所以在UDP发送之前把类型为空包的包直接过滤掉,把非空包类型的包发送出去,这样就把本来是固定码率(CBR)在发送的数据,变成了动态码率(VBR)发送,同时也不会影响后端系统的解码。
[0033]以55M码率VBR发送测试统计,图3为修改之前的统计码率曲线,图4为采用本专利技术实施例方法实施后的统计码率曲线,从后端接收UDP流的统计码率可以看到,先前的发送码率带宽占用量在50M左右,修改之后带宽占用明显下降到30~40M左右,也没有出现数据发空状况,效果明显变好。
[0034]应当理解,本文所述的示例性实施例是说明性的而非限制性的。尽管结合附图描述了本专利技术的一个或多个实施例,本领域普通技术人员应当理解,在不脱离通过所附权利要求所限定的本专利技术的精神和范围的情况下,可以做出各种形式和细节的改变。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种TS封装格式的VBR发送方法,其特征在于,包括以下步骤:S10,音视频压缩数据根据压缩码率,进行TS格式封装;S20,根据TS格式封装码率,进行UDP打包发送;S30,UDP打包发送时,过滤TS格式封装的空包,具体根据TS格式规范,解析TS Header,把PID为0x1FFF的包在UDP发送之前直接过滤出,不进行UDP打包发送。2.如权利要求1所述的TS封装格式的VBR发送方法,其特征在于,S10中,如果音视频压缩数据是固定码率CBR编码,TS格式封装的码率定为音频压缩数据的固定码率与视频压缩数据的固定码率之和乘以上浮系数,用于...

【专利技术属性】
技术研发人员:许国忠徐扬法石小明孙伟涛李小强
申请(专利权)人:杭州当虹科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1