[发明专利]一种基于窄变带宽网络的实时视频流传输方法有效
| 申请号: | 201110168770.3 | 申请日: | 2011-06-21 |
| 公开(公告)号: | CN102244773A | 公开(公告)日: | 2011-11-16 |
| 发明(设计)人: | 刘高平;梁丰;宋执环 | 申请(专利权)人: | 浙江万里学院 |
| 主分类号: | H04N7/18 | 分类号: | H04N7/18;H04N7/26 |
| 代理公司: | 宁波诚源专利事务所有限公司 33102 | 代理人: | 张一平;邓青玲 |
| 地址: | 315100 浙*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 带宽 网络 实时 视频 流传 方法 | ||
1.一种基于窄变带宽网络的实时视频流传输方法,其特征在于:
将发送方的缓存分成两个:一个为视频帧缓存,用于存储来自视频编码器的视频帧数据,另一个为视频帧发送缓存,用于暂存来自视频帧数据的一帧视频数据,等待TCP链路发送;
设置两个并行运行的线程,一个为视频数据输入线程,用于负责视频帧缓存中视频数据的输入;另一个为视频数据发送线程,用于负责视频帧发送缓存中视频数据的输入与输出;
所述视频数据输入线程的处理方法为:
视频帧缓存每次从编码器获得一帧视频数据后,首先判断所述视频帧缓存内中空闲空间大小能否容纳该帧视频数据,如果所述视频帧缓存中空闲空间大小足够容纳该帧视频数据,则将该帧视频数据存入视频帧缓存,以供视频数据发送线程发送;如果所述视频帧缓存中空闲空间大小不足以容纳该帧视频数据,则继续判断该帧视频数据是否为关键帧视频数据,如果该帧视频数据不是关键帧视频数据,则立即丢弃该帧视频数据,如果该帧视频数据是关键帧视频数据,则进一步判断之前是否丢弃过非关键帧视频数据,若之前没有丢弃过非关键帧视频数据,则直接将该帧视频数据丢弃,如果之前已经丢弃过非关键帧视频数据,进一步测试视频帧缓存中空闲空间大小能否存下该帧视频数据,如果所述视频帧缓存中空闲空间大小足够容纳该帧视频数据,则将该帧视频数据存入视频帧缓存;否则,清空视频帧缓存的空间,再将该帧视频数据存入视频帧缓存中;
在该线程中,当视频数据输入线程采集到第一帧视频数据后,立即启动所述视频数据发送线程;
所述视频数据发送线程的处理方法为:
所述视频数据发送线程将视频数据流按帧为单位进行发送,具体如下:视频数据发送线程将保存在视频帧发送缓存中的一帧视频数据发送至接收方,待视频帧发送缓存中视频数据发送完后,再从视频帧缓存中取得一帧保存时间最久的视频数据存入视频帧发送缓存,然后再次发送,即重复上述过程。
2.根据权利要求1所述的基于窄变带宽网络的实时视频流传输方法,其特征在于:在所述视频数据输入线程的处理方法中,预设一个视频数据在发送方排队等待时间的最长时间T;视频帧缓存每次从编码器获得一帧视频数据后,根据网络平均发送视频数据速率V及预设的视频数据在发送方排队等待时间的最长时间T,计算出当前视频帧缓存的实际大小及空闲空间大小:
当前视频帧缓存的实际大小等于网络平均发送视频数据速率V乘以视频数据在发送方排队等待时间的最长时间T,然后减去当前保存在视频帧发送缓存中的视频数据的大小;当前视频帧缓存空闲空间大小等于前视频帧缓存的实际大小减去当前已经保存在视频帧缓存内视频数据的大小;
所述视频数据发送线程在发送视频数据过程中,如果发现视频帧发送缓存中视频数据发送完毕而视频帧缓存中无视频数据,则提示减小预设的视频数据在发送方排队等待时间的最长时间T。
3.根据权利要求2所述的基于窄变带宽网络的实时视频流传输方法,其特征在于:所述网络平均发送视频数据速率V根据以下方法得到:
首先,在视频帧发送缓存发送时记录发送的第m帧数据长度Lm及其发送所需时间tm,其中,m=1,2,...,发送完成后计算数据字节数的累加值,记为Lsd,即Lsd=L1+L2+...+Lm;
当数据字节数的累加值Lsd大于或等于k×U值,U为TCP协议层的当前最大单元的字节数,k为整数,且k大于等于100,再利用下述公式计算当前网络平均发送视频数据速率V值:
V=Lsd/(t1+t2+...+tm)=(L1+L2+...+Lm)/(t1+t2+...+tm)。
4.根据权利要求3所述的基于窄变带宽网络的实时视频流传输方法,其特征在于:利用实时计算的网络平均发送视频数据速率V和预设的视频数据在发送方排队等待时间的最长时间T,动态调整发送方的缓存,发送方的缓存记为L,则L=V*T。
5.根据权利要求1所述的基于窄变带宽网络的实时视频流传输方法,其特征在于:为了实现视频帧缓存向视频帧发送缓存数据转移按帧为单位进行,在视频帧缓存中设置一个帧计数器,将视频帧缓存中存有的n帧视频数据,分别记为M1、M2、...、Mn,若第i帧最后一个字节在视频帧缓存中的地址为Pi,则视频帧缓存中的视频数据的地址会构成一个帧地址数组{Pi}(i=1,...n),且P1<P2<...<Pn,每次视频帧发送缓存从视频帧缓存获取视频数据时,从视频帧缓存中取得最前面一帧视频数据,同时将帧计数器减1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江万里学院,未经浙江万里学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110168770.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多核高速DSP平台的AVS视频编码器
- 下一篇:行车智能监控系统





