[发明专利]一种流媒体数据发送方法有效
申请号: | 201810179822.9 | 申请日: | 2018-03-05 |
公开(公告)号: | CN108540448B | 公开(公告)日: | 2021-08-13 |
发明(设计)人: | 薄建彬;张光省;钱正洋 | 申请(专利权)人: | 上海迪维欧电子设备有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04N21/433 |
代理公司: | 上海申新律师事务所 31272 | 代理人: | 俞涤炯 |
地址: | 200232 上海市徐汇*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 流媒体 数据 发送 方法 | ||
本发明公开了一种流媒体数据发送方法,其属于图像通信领域的技术,包括:步骤S1,以所述流媒体数据的当前的写入位置作为进行发送操作的发送位置;步骤S2,比较所述发送位置和所述写入位置:若所述写入位置大于所述发送位置且所述发送位置和所述写入位置之间的距离小于等于所述滑动窗口的所述预设长度,则进行所述发送操作;否则,中止所述发送操作。该技术方案的有益效果是:本发明通过设置多个独立的缓冲区,发送之前计算发送位置的Q值,根据Q值直接判断是否进行发送操作,从而提高了响应的速度,减少了系统资源的开销。
技术领域
本发明涉及的是一种图像通信领域的技术,具体是一种流媒体数据发送方法。
背景技术
网络摄像机是采集外界数据的专用设备,是目前安防领域重要的一个组成部分。在捕捉图像的同时也提供了网络传输的功能,因此如何组织、存储和转发流媒体数据成了必须要面对的一个问题。该项服务需解决的是一个很明显的生产者消费者问题,流媒体数据的生产者负责将产生的数据写入缓冲区中,网络发送模块作为媒体数据的消费者负责将数据取走并发送,但是生产与消费之间速度与状态的不对等加重了问题处理的复杂性。
在码流的生产消费模型中一般采用以下处理方式:由若干“控制信息块”来记录环形缓冲区的状态。采用系统提供的互斥访问手段来组织环形帧缓冲,以达到“帧数据”的生产与消费。该“控制信息块”是多个生产者和多个消费者之间沟通的媒介,通常采用进程和线程的同步方法解决访问问题,常用的方法有互斥锁和信号量等,如果解决方法不够完善,则容易出现计算资源的浪费甚至死锁的情况。
发明内容
本发明针对现有技术存在的上述不足,提出一种流媒体数据发送方法。本发明通过设置多个独立的缓冲区,提高了数据的处理能力,发送之前计算发送位置的Q值,根据Q值直接判断是否进行发送操作,从而提高了响应的速度,减少了系统资源的开销。
本发明是通过以下技术方案实现的:
本发明涉及一种流媒体数据发送方法,其中,应用于网络摄像机,在所述网络摄像机的内存中预先设置多个缓冲区,每一所述缓冲区为首尾相接的环形缓冲区;
所述缓冲区中设有一预设长度的滑动窗口;
每一缓冲区独立的执行流媒体数据的发送过程,所述发送过程包括:
步骤S1,以所述流媒体数据的当前的写入位置作为进行发送操作的发送位置;
步骤S2,比较发送位置和所述写入位置:
若所述写入位置大于所述发送位置且所述发送位置和所述写入位置之间的距离小于等于所述滑动窗口的所述预设长度,进行所述发送操作;
否则,中止所述发送操作。
优选的,该流媒体数据发送方法,其中,在所述步骤S2中,通过所述发送位置处的Q值表征所述发送位置和所述写入位置之间的距离小于所述滑动窗口的所述预设长度:
若Q值大于等于0,则所述发送位置和所述写入位置之间的距离小于等于所述滑动窗口的所述预设长度;
若Q值小于0,则所述发送位置和所述写入位置之间的距离大于所述滑动窗口的所述预设长度。
优选的,该流媒体数据发送方法,其中,所述Q值的计算公式为:Q=((X+l)modL)-Y,其中:X为所述发送位置,Y为所述写入位置,l为所述滑动窗口的所述预设长度,L为所述缓冲区的长度。
优选的,该流媒体数据发送方法,其中,所述流媒体数据封装于多个具有预设格式的数据包,所述预设格式包括:协议包头、所述流媒体数据的信息头以及用于存放所述流媒体数据的数据段。
优选的,该流媒体数据发送方法,其中,每一所述缓冲区中的所述流媒体数据通过一独立的写入过程写入,所述的写入过程包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海迪维欧电子设备有限公司,未经上海迪维欧电子设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810179822.9/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置