论文部分内容阅读
随着多媒体通信技术的日新月异,视频编解码技术、视频网络传输技术和网络视频监控技术得到了飞速发展,根据各种设备和播放软件的不同,人们对于网络视频的实时转码传输播放,包括格式、分辨率、码率、帧率等的转换都有不同需求,这就需要一种完善的视频处理系统,同时随着平安社会的建立,随时、随地的实时监控成为了现阶段发展的一个重点。本文从以上实际出发,在编解码理论和Web服务的支撑下,研究和开发了基于Windows平台的视频转码传输系统。本文首先分析了FFMPEG源码库的结构,通过FFMPEG提供的编解码模块和接口函数设计了本文所需的转码模块。由于FFMPEG不支持H.264和AVS(Audio Video Coding Standard)的编码,因此通过数据结构的建立实现了H.264和AVS外部编码库在FFMPEG中的扩展。同时FFMPEG不支持AVS的封装与解封装,所以本文基于RTP(Real-time Transport Protocol)协议设计了AVS视频流的封装和解封装模块,并通过数据结构的建立和接口函数的调用实现了AVS解封装模块在FFMPEG中的扩展。然后设计了通用转码接口函数,为后续Web服务的建立提供方便。通过对上述模块的测试,结果表明:转码模块支持H.264、H.263、MPEG-4和AVS四种视频流的格式、码率、帧率及分辨率之间的相互转换。最后,基于上述通用转码接口函数,采用Web服务的方式,本文创建了源端和转码端业务模块,利用gSOAP工具对源端服务和转码端服务进行了部署,设计了客户端的控制程序,通过TCP(Transmission Control Protocol)协议的socket编程实现了消息传输,同时通过python语言创建了客户端用户界面,完成了基于Windows平台的视频转码传输系统的总体设计,并对各个模块的实现进行了详细的介绍和说明。本客户端软件能够提供简单、友好、易用的操作界面。系统经过实际测试,在客户机的控制下,源端对本地视频流文件或者监控视频进行实时播放和传输,转码端实时接收、转码和传输,客户机进行实时播放,具有随时开启和随时停止的功能。分析表明:在无误码环境下,支持高清视频流25fps的转码和流畅播放,并且分辨率为720P以下的延时小于1s,分辨率为720P和1080P的时延在1.5s以内,同时整个视频转码传输系统运行稳定。