一种基于H.264网络视频传输系统的制作方法

文档序号:11926465阅读:263来源:国知局

本实用新型涉及视频压缩技术领域,特别涉及一种基于H.264网络视频传输系统。



背景技术:

随着多媒体、互联网技术的飞速发展和数字信息技术的普及,网络视频监控[1]在人们的生产生活的各个方面中应用越来越广泛,现在人们到处都可见网络视频监控的身影,比如在交通、通信、办公区、商场、超市、银行、校园、生产车间、生活小区等等,网络视频监控已经渗入到人们的学习、生活、工作的方方面面,人们的生产生活也因网络视频监控而变得更加安全、便利等。网络视频监控能得到如此快速的发展,与它的优点是分不开的,它直观、具体、生动、高效和信息量丰富等等,种种优点使得网络视频监控成为我国信息化中的一个热点。

网络视频监控目前正处于蓬勃发展的阶段,在发展过程中呈现出一些问题:网络带宽不足,视频不够清晰,存储容量巨大。这些问题都是网络视频监控发展待于解决的问题,但分析后可发现,其实只是视频编码压缩的问题,一个优越的视频压缩标准。优越的视频压缩标准压出来的视频的压缩比会变大,视频容量会变小,自然网络带宽需求就会降低,同时需要的存储容量也会跟着变小;优越的视频压缩标准压出来的视频更清晰。从另一个角度去分析,如果不是提高视频压缩效率,那么提高网络带宽需要投入大量的设备、人力、资金等,成本太高,所以提高视频压缩效率是一个不错的选择。目前视频压缩标准中,H.264标准凭借其优越的性能,被认为是下一代视频压缩标准。H.264标准是由ISO/IEC的MPEG(运动图像专家组)和ITU的VCEG(视频编码专家组)这两大视频压缩标准专家组联合成立的JVT(联合视频组)大力发展和研究推出的适用于低码率传输的新一代视频压缩标准[2]。H.264采用回归基本的简洁设计,具有很高的压缩效率,同H.263和MPEG-4相比,在同样的重建视频质量前提下,H.264最高可节省50%的码率,从而大大降低了存储容量;同时H.264采用VCL和NAL的分层设计,使H.264具有良好的网络亲和性,非常有利于网络传输。



技术实现要素:

本实用新型的主要目的是为了解决视频压缩过程因运行视频编码压缩算法而占用大量的CPU资源的问题,提供了一种能够提高系统实时性的基于H.264网络视频传输系统。

为达到上述目的,本实用新型所采用的技术方案是:

一种基于H.264网络视频传输系统,包括DM365高清处理器、客户端和与DM365高清处理器均连接的摄像装置、NAND FLASH存储器、SDRAM芯片、报警模块和无线模块;所述DM365高清处理器内设主控模块、VPFE模块、V4L2驱动程序接口、用于采集视频数据的视频采集模块、将视频模块所采集的视频数据进行压缩处理的视频编码压缩模块、将压缩后的视频数据进行打包和发送的视频流媒体打包与发送模块和用于监测视频采集模块、视频编码压缩模块和视频流媒体打包与发送模块运行情况并在三者运行出现异常时通过主控模块驱动报警模块报警的程序运行监测模块,其中,所述VPFE模块分别连接摄像装置、V4L2驱动程序接口和视频采集模块,所述视频采集模块再依次连接视频编码压缩模块和视频流媒体打包与发送模块,所述视频流媒体打包与发送模块通过无线模块连接客户端。

进一步地,所述摄像设备通过DM365高清处理器上的VGA或HDMI接口连接VPFE模块,其为CCD/CMOS摄像头或视频解码设备。

进一步地,所述NAND FLASH存储器采用的是容量为1Gb的K9F1G08UOA芯片。

进一步地,所述SDRAM芯片采用的是容量为1Gb的MT47H64M16HR-3:E芯片。

进一步地,所述DM365高清处理器为采用Linux操作系统的TMS320DM365数字媒体处理器。

进一步地,所述无线模块采用CC2530芯片组成,包括相互匹配的CC2530节点和CC2530协调器,其中,所述CC2530节点通过串口与视频流媒体打包与发送模块实现通信,所述CC2530协调器与客户端通过串口和USB转换模块实现通信,所述CC2530节点和CC2530协调器通过无线网络实现通信。

本实用新型具有以下有益效果:

本实用新型采用多线程的程序设计系统,使得视频采集模块、视频编码压缩模块和视频流媒体打包与发送模块能够单独处理,相互之间并不干扰,且通过设置程序运行监测模块来检测各模块运行的情况,并在个模块出现运行异常时驱动报警模块发出警报,从而使用户能够及时获知视频压缩过程出现的问题;再者,通过该方式的设置,可解决现有技术中因需要运行视频编码压缩算法而占用大量CPU资源的问题,且所压缩及传输的视频在解码播放时,视频的分辨率高、画面清晰、连续性好,因此可知,本实用新型的网络视频传输系统能够减少CPU占用量,所压缩的视频品质高,效果好。

附图说明

图1是本实用新型一种基于H.264网络视频传输系统的系统框图。

如下具体实施方式将结合上述附图进一步说明本实用新型。

具体实施方式

请参阅图1,在本实用新型的一种较佳实施方式中,一种基于H.264网络视频传输系统,包括DM365高清处理器、客户端和与DM365高清处理器均连接的摄像装置、NAND FLASH存储器、SDRAM芯片、报警模块和无线模块。其中,摄像设备通过DM365高清处理器上的VGA或HDMI接口连接VPFE模块,其为CCD/CMOS摄像头或视频解码设备;NAND FLASH存储器采用的是容量为1Gb的K9F1G08UOA芯片;SDRAM芯片采用的是容量为1Gb的MT47H64M16HR-3:E芯片,以为后期的开发留有足够的空间;无线模块采用CC2530芯片组成,包括相互匹配的CC2530节点和CC2530协调器,其中,CC2530节点通过串口与视频流媒体打包与发送模块实现通信,CC2530协调器与客户端通过串口和USB转换模块实现通信,CC2530节点和CC2530协调器通过无线网络实现通信,CC2530芯片的系统集成化程度高,外设接口强大且丰富,其应用电路所需要外部元件较少,从而使得所述机器人定位系统结构简单,线路简便,易安装。

DM365高清处理器为采用Linux操作系统的TMS320DM365数字媒体处理器,其内设主控模块、VPFE模块、V4L2驱动程序接口、用于采集视频数据的视频采集模块、将视频模块所采集的视频数据进行压缩处理的视频编码压缩模块、将压缩后的视频数据进行打包和发送的视频流媒体打包与发送模块和用于监测视频采集模块、视频编码压缩模块和视频流媒体打包与发送模块运行情况并在三者运行出现异常时通过主控模块驱动报警模块报警的程序运行监测模块,其中,VPFE模块分别连接摄像装置、V4L2驱动程序接口和视频采集模块,视频采集模块再依次连接视频编码压缩模块和视频流媒体打包与发送模块,视频流媒体打包与发送模块通过无线模块连接客户端。

在本实用新型中,所述网络视频传输系统的传输方法如下:

1)获取视频信息:摄像设备通过VPFE模块将其摄制的视频信息传输给DM365高清处理器;

2)视频采集:视频采集模块通过VPFE模块调用V4L2驱动程序接口中的程序进行初始化,其初始化具体为,V4L2驱动程序接口的open程序打开VPFE模块,并获取VPFE模块中视频数据,且通过其ioctl程序获取该视频数据的属性,然后将该属性信息发于主控模块;主控模块预先内设视频属性,其将所接收到的属性信息与其内设的视频属性相比较,当所接收的属性信息不等于内设的视频属性时,主控模块驱动V4L2驱动程序接口的ioctl程序重新设置视频数据的属性,以使该属性信息等于内设的视频属性;然后,视频采集模块从其输入缓存队列中获取一个空缓存,再从VPFE模块中采集一帧视频数据放置该空缓存中,后再将该空缓存传至视频采集模块的输出缓存队列中进行存储,以供视频编码压缩模块进行获取并压缩;然后,重复上述初始化后采集方式直至视频采集模块将VPFE模块中的视频数据完全采集;

3)视频编码压缩:视频编码压缩模块初始化,并在初始化过程创建一个视频编码算法实例,其初始化具体为,通过CERuntime_init()函数初始化引擎,然后通过文件操作Engine_open()函数打开编解码引擎,引擎打开成功后,再通过VIDENC_create()函数创建一个视频编码算法实例,即可;然后,视频编码压缩模块从视频采集模块的输出缓存队列中获取放置有一帧视频数据的数据缓存及从视频流媒体打包发送模块的输出缓存队列获取一个待用缓存,后调用视频编码算法实例的算法处理函数对数据缓存中的视频数据进行压缩处理,得到符合H.264算法标准的压缩视频数据,再将该压缩视频数据放置待用缓存中并发回视频流媒体打包发送模块的输入缓存队列中,以供视频流媒体打包发送模块处理;重复上述压缩过程直至压缩完视频采集模块输出缓存队列中的视频数据;

4)视频打包发送:视频流媒体打包发送模块采用数据报套接字进行初始化,其初始化具体步骤为,先通过socket()函数打开一个套接字,打开成功后,再通过setsockopt()函数设置套接字属性,即可完成初始化;然后,视频流媒体打包发送模块从其输入缓存队列中获取一个存储有压缩视频数据的缓存,调用RTP打包封装函数对该缓存中的压缩视频数据进行打包处理,得到RTP数据包,并将该RTP数据包通过数据报套接字发送给无线模块,再由无线模块发送给客户端;将RTP数据包发送后,该RTP数据包所在的缓存通过视频流媒体打包发送模块的输出缓存队列发送到步骤3)视频编码压缩过程中循环使用;重复初始化后的视频打包发送过程,直至视频流媒体打包发送模块打包并发送完其输入缓存队列中存储的压缩视频数据;

5)删除线程:当主控模块检测到视频采集模块采集完VPFE模块中的视频数据、视频编码压缩模块压缩完视频采集模块输出缓存队列中的视频数据和视频流媒体打包发送模块打包并发送完其输入缓存队列中存储的压缩视频数据时,主控模块驱动视频采集模块、视频编码压缩模块和视频流媒体打包发送模块删除各自初始化过程创建的程序及各自缓存队列中的数据信息。

进一步地,在上述步骤2)、步骤3)和步骤4)运行过程,程序运行监测模块监测监测视频采集模块、视频编码压缩模块和视频流媒体打包与发送模块运行情况,并在三者存在有异常情况时生成相应的异常信号发于主控模块,主控模块再根据所接收到的异常信号发出控制指令给报警模块,促使报警模块发出警报。

另外,主控模块内设异常数据存储模块,异常数据存储模块用于存储视频采集模块、视频编码压缩模块和视频流媒体打包与发送模块运行出现异常时该异常时刻所处理的数据信息,其与报警模块同时运行,并在视频采集模块、视频编码压缩模块和视频流媒体打包与发送模块恢复运行时将其所储存的数据信息通过主控模块返还给相应的模块。

在本实用新型中,视频采集模块、视频编码压缩模块和视频流媒体打包与发送模块的初始化同步进行,且三者的初始化结束后方进行各自初始化之后的进程。

本实用新型中,视频采集模块的主要任务是通过3GDM365_TX板上的VGA或HDMI接口获取原始的高清视频数据,并将视频数据压缩成一定的格式保存在内存缓冲区,以供后续的视频压缩编码使用,其是整个系统的基础,它的采集速度以及采集的视频质量直接影响整个系统的性能;视频编码压缩模块主要任务是对采集线程捕获到的一个帧视频数据,调用编码引擎算法实例的处理函数来进行指定的编码格式算法压缩,并将压缩后的视频数据保存在内存缓冲区,以供后续的视频流媒体使用,其是整个系统的核心,它的编码压缩速度直接影响整个系统的性能;视频流媒体打包与发送模块的主要任务是将视频编码压缩线程处理后得到的H.264视频按实时传输流RTP格式封包,然后再通过网络套接字发送封装好的视频流到客户端处进行解码播放,所播放的视频分辨率高、画面清晰、连续性好。

上述说明是针对本实用新型较佳可行实施例的详细说明,但实施例并非用以限定本实用新型的专利申请范围,凡本实用新型所提示的技术精神下所完成的同等变化或修饰变更,均应属于本实用新型所涵盖专利范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1