[发明专利]一种udp数据流传输方法及其装置有效
申请号: | 201610950668.1 | 申请日: | 2016-10-25 |
公开(公告)号: | CN107979582B | 公开(公告)日: | 2020-08-14 |
发明(设计)人: | 苏许臣;朱立松;黄建杰 | 申请(专利权)人: | 央视国际网络无锡有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04N21/236 |
代理公司: | 常州佰业腾飞专利代理事务所(普通合伙) 32231 | 代理人: | 刘娟娟 |
地址: | 214000 江苏省无锡市震*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 udp 数据流 传输 方法 及其 装置 | ||
本发明提供了一种udp数据流传输方法及其装置,涉及数据传输技术领域,其中,该udp数据流传输方法中包括:S10接收udp数据流并将其进行缓存;S20定时从缓存的udp数据流中读取预设大小的数据并将其发送出去,以此控制发送数据率,使其变得更加平滑,不会出现数据率过冲现象,大大降低了传输过程中的丢包率,提高了udp数据流在传输过程中的稳定性。
技术领域
本发明属于数据传输技术领域,尤其涉及一种udp数据流传输方法及其装置。
背景技术
在IPTV(Internet Protocol Television,网路协定电视)直播领域,经常用到ts(Transport Stream)封装的udp(User Datagram Protocol,用户数据报协议)组播流,为了防止udp丢包,一般要求视频流的复合码率(总数据率)恒定并且传输数据率要尽可能稳定,不能波动太大。
现有的大多数编码器虽然能做到视频复合码率恒定,但是在发送速率控制上,只能做到平均数据率稳定,如果以100ms(毫秒)为周期计算数据率,有时会出现数据率过冲现象(速率在短时间内冲得很高又在短时间内下降),这种情况在带宽受限的情况下很容易出现udp丢包现象,从而造成收流端播放马赛克等现象。
发明内容
针对上述问题,本发明提供了一种udp数据流传输方法及其装置,有效解决了现有技术中udp数据流在传输过程中易出现的过冲现象。
本发明提供的技术方案如下:
一种udp数据流传输方法,包括:
S10接收udp数据流并将其进行缓存;
S20定时从缓存的udp数据流中读取预设大小的数据并将其发送出去。
进一步优选地,在步骤S10之前还包括配置接收线程、发送线程以及缓存区的步骤;
在步骤S10中具体包括:接收线程接收udp数据流,并将其缓存在缓存区中;
在步骤S20中具体包括:发送线程定时从缓存的udp数据流中读取预设大小的数据并将其发送出去。
进一步优选地,在步骤S10中具体包括:
S11初始化udp数据流接收端口;
S12实时监听udp数据流接收端口;
S13接收udp数据流并将其进行缓存。
进一步优选地,在步骤S20中具体包括:S21根据预设数据大小和复合码率计算得到发送数据的间隔时间,所述预设数据大小包括每个数据包的字节数及数据包的个数;
S22基于计算得到的间隔时间设定循环定时器;
S23当循环定时器到达中断时刻,从缓存的udp数据流中读取预设大小的数据并将其发送出去。
进一步优选地,在步骤S21中,根据预设数据大小和复合码率计算得到发送数据的间隔时间T,具体为:
T=(M*8*N*1000)/(bt*1024)
其中,M为预设数据大小中每个数据包的字节数,N为每次发送数据包的个数,bt为复合码率。
进一步优选地,步骤S23具体为:
当循环定时器到达中断时刻,进一步判断缓存的数据包是否达到预设发送的数据包的个数,若达到了,则从缓存的udp数据流中读取预设大小的数据并将其发送出去;若未达到,则读取全部的数据包发送出去。
本发明还提供了一种udp数据流传输装置,包括:
数据接收模块,用于接收udp数据流;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于央视国际网络无锡有限公司,未经央视国际网络无锡有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610950668.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:僵尸特征的检测方法和装置
- 下一篇:数据交换方法及装置