论文部分内容阅读
本文根据一汽启明公司的项目需求,分析并设计实现了一款基于RTP实时传输协议的H.264编码的实时视频传输系统。如今,视频传输系统在视频监控、视频会议、远程医疗、远程教学等领域都有所应用,视频传输系统也是当今计算机领域的一个热点。本文主要首先是对实时传输系统同该系统所需要的主要技术(视频编码技术和网络传输技术)的发展和应用的现状进行了调查与总结,选取了现在比较先进的流行H.264视频格式的编码协议和RTP实时传输协议作为理论基础。然后对H.264编码格式和RTP协议格式等相关内容做了相应的分析与研究,选取了FFmpeg(含有H.264编码器)作为本系统的编解码器和成熟的Jrtplib库(采用RTP传输协议)共同作为本文系统设计的技术支持。本文从软件工程的角度,从服务器和客户端两个方面分析并设计了本视频传输系统的架构,采用了模块化的方式设计了本系统,将视频传输系统分为七个主要模块,分别为视频采集模块、视频压缩模块、网络协商模块、视频传输模块、视频回放模块、视频截图模块,并对这七个模块进行了系统地分析与详细设计,系统的模块化设计降低了各个模块的耦合度,对以后系统的升级与改进奠定了良好的基础。本系统对Jrtplib库关于RTP数据包分片部分的程序进行了改进,通过控制H.264数据包的大小,将H.264大的数据包进行分片,从而减少了在3G网络这种低带宽网络流媒体数据包的丢失情况。在服务器和客户端的设计中都涉及多线程之间的调度,这种线程的调度将H.264压缩与解压缩模块、视频传输模块和网络协商模块共同协调工作,以达到对实时视频流的传输和处理的目的,提高了系统的运行效率。并在客户端设计了视频截图模块和视频回放模块,使客户端能够对接收到的实时视频数据进行相应的存储、回放和截图的功能操作。最后在实验室的环境下通过了系统的各项功能测设,获得了很好的实时视频传输达到了预期设计目标。