论文部分内容阅读
目前,我们生活中常见的直播系统大多采用流媒体数据逐块推流的设计,并且在服务器端对推流数据进行二次加工处理,此类直播系统的直播延时往往比较高,同时,由于采用了图像质量较低的压缩编码算法,因此其直播效果饱受诟病。为了克服此类直播系统出现的问题,本文设计实现了一套高清低延时的直播系统,在面对例如抢险指挥、实况直播、实时会议等对清晰度与实时性要求较高的应用场合有着重要作用。论文首先对高清实时直播系统所采用的音视频处理技术以及流媒体传输协议做了简单分析与介绍,接着针对现有直播系统中存在的问题与不足展开研究,通过对FFmpeg音视频处理流程进行优化改造,设计并实现了高清实时直播数据采集、视频颜色空间转换、视频解码显示、音频数据重采样、多线程音视频高清编码、流媒体数据网络传输以及直播数据服务器转发等功能。同时在实现过程中对于现有直播系统所存在音视频质量不高,网络延时较大等问题做了以下改进工作。1.在设备信号采集过程中,通过对采集速率的控制使音视频观感与系统处理效率达到最优平衡。并且根据人眼对亮度信息较敏感的特性,对视频数据做了YUV颜色空间转换。2.设计实现了音视频解码数据缓冲区,通过临界区资源与读取缓冲区完成了多线程间同步以及视频数据的SDL显示,提高了音视频编解码处理过程的流畅度与稳定性。3.采用高清H.264视频编码与AAC高级音频编码技术,提高了直播音视频质量并减少了网络带宽压力,同时对音频的杂音问题做了重采样处理,消除了解码与采集过程中加入的杂音噪声。4.采用时间戳同步技术对音视频数据进行同步,并且基于RTMP流媒体传输协议,通过文件流写入的方式对直播数据进行逐帧网络传输,极大地降低了数据发送延时。5.基于Nginx搭建了RTMP流媒体服务器,将收到的直播数据立即转发到客户端,不仅提高了直播服务器面对高并发请求的处理能力,还降低了系统的网络延时。并且使用户在Flash网页便可以收看到直播画面,提高了客户端部署的便捷性。最后,在对直播系统的各项功能测试与输出音视频质量评测之后表明,本文所设计实现的高清实时直播系统功能正确,运行流畅,直播画面清晰,且保持较低的直播延时。