[发明专利]一种提升低速网络中RTP视频流处理效率的方法有效
申请号: | 201410140850.1 | 申请日: | 2014-04-09 |
公开(公告)号: | CN103929681B | 公开(公告)日: | 2017-02-22 |
发明(设计)人: | 李阳;张乾坤;王孝贵;邱换春;汪俊锋 | 申请(专利权)人: | 安徽超远信息技术有限公司 |
主分类号: | H04N21/6437 | 分类号: | H04N21/6437;H04N21/647 |
代理公司: | 安徽汇朴律师事务所34116 | 代理人: | 胡敏 |
地址: | 230001 安徽省*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 提升 低速 网络 rtp 视频 处理 效率 方法 | ||
1.一种提升低速网络中RTP视频流处理效率的方法,其特征在于,包括以下步骤:
(1)视频采集端负责视频数据的实时获取;
(2)视频编码打包模块首先对视频数据进行压缩编码,形成标准的H.264格式的视频,再对压缩后的视频进行RTP封装打包,形成适合网络传输的RTP视频流,将打包后的数据送往网络缓存区;
(3)网络缓存区是编码打包模块与网络发送端之间共享的环形缓存存储区域,网络发送端获取共享的网络缓存区中的RTP包数据,生成RTP帧数据,通过基础网络的多对TCP套接字对将RTP数据帧上传到网络接收端上;
(4)网络接收端作为视频服务器,通过与网络发送端建立多对TCP套接字来接收RTP数据帧并完成帧的分解、RTP包解析和H.264视频的播放。
2.根据权利要求1所述的一种提升低速网络中RTP视频流处理效率的方法,其特征在于,所述网络发送端与网络接收端之间采用基于连接的TCP传输层协议传输RTP数据帧,通信双方通过TCP报文协商来确定双方采用的传输线程数目、每个线程的TCP传输连接数目以及每个传输连接双方所采用的TCP端口。
3.根据权利要求2所述的一种提升低速网络中RTP视频流处理效率的方法,其特征在于,所述TCP报文协商的具体过程为:处于广域网的一端首先创建TCP套接字sock1并进入监听状态,处于局域网的一端向sock1发起连接,通过此连接传输协商参数,即协商连接;用户在网络发送端获取用户设置的线程数,每个线程连接数以及每个连接双方所采用的端口组装成报文1后发送,通过协商连接发送给网络接收端,网络接收端接收到报文1并解析到协商参数后,先后建立对应数目的接收线程数,在每个线程中使用协商的端口进行TCP监听,如果所有协商参数生效成功则通过协商连接返回设置成功,如果出现协商端口被占用,则自动递增获取一个可用端口并进行监听,并将生效的端口信息通过协商连接返回给发送端,从而建立好数据传输通道。
4.根据权利要求1所述的一种提升低速网络中RTP视频流处理效率的方法,其特征在于,所述视频数据的传输通过合并缓存区已有的、连续的、长度较小的RTP包实现并包传输,以RTP包为最小单元,RTP包前添加N字节RTP长度信息,按时间顺序依次将一个或多个RTP包拼接起来,在首部封装头部信息,形成RTP数据帧,以RTP数据帧的形式实现数据的发送与接收;对网络缓存区已有的RTP数据进行封包并立即发送,若网络缓存区已没有新数据,即使已有数据帧总长度很小,也不必等待网络缓存区的下一包数据;所述RTP数据帧的帧头信息包含帧序列号、帧长度信息和RTP数据帧所包含的RTP数据包个数。
5.根据权利要求4所述的一种提升低速网络中RTP视频流处理效率的方法,其特征在于,所述RTP数据帧的总长度根据网络最大传输路径单元MSS的长度来确定,单个RTP包的最大长度与帧头长度之和或小于等于数据帧的最大长度限定值;拼接起来的若干RTP数据包的长度与帧头长度之和小于或等于RTP数据帧的最大长度限定值,数据帧的最大长度限定值不超过底层MSS的N倍,1≤N≤5。
6.根据权利要求5所述的一种提升低速网络中RTP视频流处理效率的方法,其特征在于,所述RTP长度的判断方法如下:
循环检测并读取缓存区中等待传输的RTP数据包并对RTP长度进行判断;若仅有一包等待传输,则仅将此包封装成RTP数据帧并发送;若有N个RTP包等待传输且长度之和小于RTP数据帧的限定值,则将此N个RTP合并封装成RTP数据帧并发送;若有N个RTP包等待传输且长度之和超过RTP数据帧的限定值,则仅将部分RTP包合并封装成RTP数据帧并发送,将超过限定值的部分RTP包与下一次读取到的RTP数据合并后再重新判断封包。
7.根据权利要求1所述的一种提升低速网络中RTP视频流处理效率的方法,其特征在于,所述网络接收端对网络数据流进行分解接收工作和RTP数据包的解封装工作:对每一个RTP帧分两次读取,首先读取RTP数据帧的首部信息,确定RTP数据帧的序号、数据帧的长度以及此数据帧包含多少个RTP包信息,再根据数据帧的长度去读取剩余的数据帧。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安徽超远信息技术有限公司,未经安徽超远信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410140850.1/1.html,转载请声明来源钻瓜专利网。