一种基于TCP协议的多路视频原始流接收系统及方法技术方案

技术编号:38563936 阅读:17 留言:0更新日期:2023-08-22 21:03
本发明专利技术公开了一种基于TCP协议的多路视频原始流接收系统及方法,该系统包括CPU、网卡和多个光纤接口模块,CPU通过PCIE总线与网卡相连接,网卡通过配置网卡芯片的寄存器直接与多个光纤接口模块相连接;CPU用于向网卡发送报文,若在设定的往返时延内未收到网卡返回的对报文的确认时,则对报文重传,直至收到网卡返回的报文的确认为止,报文中携带有用于向网卡传输视频原始流的请求。本发明专利技术实现CPU端和多路视频原始流发送端的连接,便捷实现实时嵌入式系统中多路视频原始流接收任务,开发与调试效率显著提高;系统易于扩展、实时性强、移植性好、不需使用硬核资源、软件工作量显著减少,极大满足了应用系统的多层次需求。大满足了应用系统的多层次需求。大满足了应用系统的多层次需求。

【技术实现步骤摘要】
一种基于TCP协议的多路视频原始流接收系统及方法


[0001]本专利技术涉及实时嵌入式通信
,尤其公开了一种基于TCP协议的多路视频原始流接收系统及方法。

技术介绍

[0002]TCP协议位于TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)协议的传输层,TCP是面向连接、可靠的、字节流传输。由IETF(The Internet Engineering Task Force,国际互联网工程任务组)的RFC793定义。TCP旨在适应支持多网络应用的分层协议层次结构。连接到不同但互联的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。原则上,TCP应该能够从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。
[0003]在目前主流的视频流传输方案中,往往传输层采取UDP(User Datagram Protocol,用户数据报协议)协议进行编码后的视频流传输,TCP作为视频流的控制。主要是UDP协议传输的速度相对于TCP协议传输速度要快,编码后的视频流数据量少,UDP传输过程中丢失的部分数据并不会影响视频的观看,此外一般播放的设备性能足够强,内存够大,可以在传输过程中先缓存到内存中。TCP协议提供数据到达确认、排序以及流量控制等功能,故占用了一部分带宽和性能。在本系统中,由于是嵌入式设备,性能和内存无法跟传统桌面设备相比较,视频的原始流数据量大,需要在不丢失数据、完整、不影响传输速度的情况下,正确的被接收,以便于后续被正确处理,比如视频编码等。传输的过程中需要进行流量控制,接收一帧数据,等待每帧间隔时间后,才可接收下一帧数据,对数据的接收和处理过程在时间上要求严格。
[0004]在目前的嵌入式系统开发中,考虑到成本等各方面的因素,CPU的频率和内存大小以及存储空间相对于传统桌面系统都远远不如。因此,需要充分利用万兆网的速度和PCIE(peripheral component interconnect express,高速串行计算机扩展总线标准)接口,通过软件上的传输方式来实现在不丢失数据和不影响速度的情况下实现多路视频原始流接收。在CPU与万兆网卡之间使用PCIE接口的方式进行连接,满足于万兆网络的速度要求。对与视频原始流的接收,通过TCP协议中的流量控制和数据的可靠性传输特性,完成对视频原始流的完整性和按帧率接收。TCP协议是端对端,视频原始流发送端通过与本系统建立连接,即可完成多路视频流的传输。
[0005]因此,如何实现CPU端和多路视频原始流发送端的连接,完成多路视频原始流接收任务,是目前亟待解决的技术问题。

技术实现思路

[0006]本专利技术提供了一种基于TCP协议的多路视频原始流接收系统及方法,旨在解决CPU端与多路视频原始流发送端的有效传输的技术问题。
[0007]本专利技术的一方面涉及一种基于TCP协议的多路视频原始流接收系统,包括CPU、网卡和多个光纤接口模块,CPU通过PCIE总线与网卡相连接,网卡通过配置网卡芯片的寄存器直接与多个光纤接口模块相连接;CPU用于向网卡发送报文,若在设定的往返时延内未收到网卡返回的对报文的确认时,则对报文重传,直至收到网卡返回的报文的确认为止,报文中携带有用于向网卡传输视频原始流的请求。
[0008]进一步地,CPU使用一个校验和函数来检验传输数据是否有错误,在发送和接收时都要对传输数据计算校验和;同时使用MD5认证对传输数据进行加密。
[0009]进一步地,CPU与存储器相连接,存储器内设有固定大小的缓冲空间,CPU用于计算每路视频原始流每帧的数据量,以及每路视频原始流每帧间隔的时间,同时启动计时功能,从缓冲区中拿走第一帧数据量,之后等待每帧间隔时间去获取第二帧数据,然后等待每帧间隔时间后去获取第三帧数据,通过缓冲空间机制达到每路视频按照帧率传输。
[0010]进一步地,CPU包括虚拟驱动层、设备驱动层和应用层,应用层用于主要为上层应用提供接口服务和实现多路视频原始流的接收;设备驱动层用于对上为虚拟驱动层提供视频原始贴数据,对下完成硬件初始化配置,以及接收数据模式的初始化;虚拟驱动层用于为上层应用提供一套操作系统规定的标准化API函数,向底层硬件驱动程序层注册回调函数,以及完成其内部初始化。
[0011]进一步地,虚拟驱动层包括用户接口模块、帧接收模块、定时模块、帧数据量计算模块和帧间时间计算模块,其中,
[0012]用户接口模块,用于实现数据交互;
[0013]帧接收模块,用于接收视频原始帧;
[0014]定时模块,用于与帧间时间计算模块协同工作,通过对帧与帧之间的时间间隔进行计算,决定下一帧的接收时间点;
[0015]帧数据量计算模块,用于计算每路视频原始流每帧的数据量;
[0016]帧接收模块还用于根据帧数据量计算模块计算出来的数据量,决定接收的缓冲区大小。
[0017]进一步地,设备驱动层包括PCIE转万兆网驱动模块。
[0018]进一步地,CPU采用滑动窗口协议,对与窗口内未经确认的分组需要重传。
[0019]本专利技术的另一方面涉及一种基于TCP协议的多路视频原始流接收方法,应用于上述的基于TCP协议的多路视频原始流接收系统中,基于TCP协议的多路视频原始流接收方法包括以下步骤:
[0020]CPU检测数据包;
[0021]CPU若识别到数据包中的视频原始贴数据为有效中断时,则触发网络设置中断;
[0022]CPU在中断函数中启动中断唤醒轮询模式,接收视频原始贴数据,并清除中断标志位,待处理完本次视频原始流后退出中断唤醒轮询模式。
[0023]进一步地,CPU若识别到数据包中的视频原始贴数据为有效中断时,则触发网络设置中断的步骤包括:
[0024]CPU读取网络设备的状态寄存器,据此判断中断类型,CPU如果识别到数据包中的视频原始贴数据是异常中断时,则进入异常中断处理模块,处理异常并清除中断标志位;CPU如果识别到数据包中的视频原始贴数据是接收数据有效中断时,则进入数据接收模块,
将网卡接收的视频原始贴数据读入到系统中;
[0025]CPU调用虚拟驱动层的回调函数将视频原始贴数据放到相应的缓存中。
[0026]进一步地,CPU若识别到数据包中的视频原始贴数据为有效中断时,则触发网络设置中断的步骤包括:
[0027]CPU如果识别到数据包中的视频原始贴数据不是接收数据有效中断时,则等待下次中断。
[0028]本专利技术所取得的有益效果为:
[0029]本专利技术提供一种基于TCP协议的多路视频原始流接收系统及方法,采用CPU、网卡和多个光纤接口模块,CPU通过PCIE总线与网卡相连接,网卡通过配置网卡芯片的寄存器直接与多个光纤接口模块相连接;CPU用于向网卡发送报文,若在设定的往返时延内未收到网卡返回的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于TCP协议的多路视频原始流接收系统,其特征在于,包括CPU(10)、网卡(20)和多个光纤接口模块(30),所述CPU(10)通过PCIE总线与所述网卡(20)相连接,所述网卡(20)通过配置网卡芯片的寄存器直接与多个所述光纤接口模块(30)相连接;所述CPU(10)用于向所述网卡(20)发送报文,若在设定的往返时延内未收到所述网卡(20)返回的对所述报文的确认时,则对所述报文重传,直至收到所述网卡(20)返回的所述报文的确认为止,所述报文中携带有用于向所述网卡(20)传输视频原始流的请求。2.如权利要求1所述的基于TCP协议的多路视频原始流接收系统,其特征在于,所述CPU(10)使用一个校验和函数来检验传输数据是否有错误,在发送和接收时都要对所述传输数据计算校验和;同时使用MD5认证对所述传输数据进行加密。3.如权利要求1所述的基于TCP协议的多路视频原始流接收系统,其特征在于,所述CPU(10)与存储器相连接,所述存储器内设有固定大小的缓冲空间,所述CPU(10)用于计算每路视频原始流每帧的数据量,以及每路视频原始流每帧间隔的时间,同时启动计时功能,从所述缓冲区中拿走第一帧数据量,之后等待每帧间隔时间去获取第二帧数据,然后等待每帧间隔时间后去获取第三帧数据,通过缓冲空间机制达到每路视频按照帧率传输。4.如权利要求3所述的基于TCP协议的多路视频原始流接收系统,其特征在于,所述CPU(10)包括虚拟驱动层(11)、设备驱动层(12)和应用层(13),所述应用层(13)用于主要为上层应用提供接口服务和实现多路视频原始流的接收;所述设备驱动层(12)用于对上为所述虚拟驱动层(11)提供视频原始贴数据,对下完成硬件初始化配置,以及接收数据模式的初始化;所述虚拟驱动层(11)用于为上层应用提供一套操作系统规定的标准化API函数,向底层硬件驱动程序层注册回调函数,以及完成其内部初始化。5.如权利要求4所述的基于TCP协议的多路视频原始流接收系统,其特征在于,所述虚拟驱动层(11)包括用户接口模块(111)、帧接收模块(112)、定时模块(113)、帧数据量计算模块(114)和帧间时间计算模块(115),其中,所述用户接口模块...

【专利技术属性】
技术研发人员:陈旺唐兴李雪
申请(专利权)人:湖南泽天智航电子技术有限公司
类型:发明
国别省市:

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

1