论文部分内容阅读
伴随着互联网技术的不断进步,人们对于网络多媒体信息的需求越来越丰富。低分辨率与低帧率的网络多媒体不再能够满足商业和生活的需求,同时摄像机硬件技术的发展使得高分辨率应用越来越广泛。随着市场的需求,在尽可能低的存储情况下获得好的图像质量和低带宽图像快速传输已成为视频压缩的两大难题。新一代视频压缩标准h264应运而生,H.264是MPEG-4标准所定义的最新格式,同时也是技术含量最高、代表最新技术水平的视频编码格式之一,有的也称(AVC)。当视频流在网络上传输时,误码、丢包等问题不可避免。H.264标准在制定的时候提供了大量的错误恢复工具,提供了数据误码/损失的鲁棒性(Robustness)和在多种网络环境下工作的灵活性,在一定程度上提高了监控图像质量和实时性,保证网络QoS和安全性,并节省额外网络开销[1]。使用了开源的x264项目作为h264编码器,并对其进行了优化与码率,码流控制等工作。另外还将保存的H264原始视频封装到MP4. AVI、MKV格式中。本论文使用了Live555框架作为前端服务器基础[2]。Live555是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常容易扩展对其他格式的支持。所以本论题在Live555的基础上开发了对于h264的支持。在使用X264开源框架实现了对H264网络流的编码后,实现了Live555对H264数据的RTP传输。同时实现了H264流数据封装成MP4、AVI等格式文件。本论文最终实现了2448X2048分辨率的高清视频的H264实时编码传输播放,码流控制在1M以内,编码效率可达20帧/秒。基本达到了高分辨率下稳定传输的需求。