论文部分内容阅读
近年来,随着计算机技术、多媒体技术及网络技术的快速发展,音视频会话系统正在向嵌入式、数字化和网络化的方向发展。随着移动网络的高速发展,在移动终端上实现音视频会话功能,越来越普及。本文目的是将嵌入式技术和移动网络技术相结合,构建一个性能稳定且具有较强实时功能的音视频会话系统。本文首先介绍了音视频会话技术研究的国内外现状,针对移动终端的会话系统的特性,选择了三星公司的ARM系列处理器S3C6410和必要的外围设备构成系统的硬件平台。文章研究的重点集中在音视频会话的软件实现,按照音视频会话的流程,分块完成。在采集方面,视频采集过程中首先认真分析了V4L2驱动的特性及编程方法,结合系统中采用的CMOS摄像头的特性,完成了视频数据的采集;同理,在音频采集过程中,运用了OSS音频驱动,完成音频数据的采集。在编解码方面,首先介绍了音视频编解码的目的和重要性。分析当前主流的编解码方法,结合系统的自身特性,选择采用H.264的视频编解码和G.729的音频编解码。由于S3C6410本身内嵌了一个多媒体处理硬件模块,能够实现H.264的硬件编解码,极大的提高了视频编解码的速度。而在音频方面,在ARM平台上移植了G.729编解码算法。在音视频传输方面,首先分析了TCP协议和UDP协议,得出TCP协议并不适合用于来传输实时数据,而UDP协议传输具有不可靠等特点,会给实时数据的传输带来数据包的失序、丢包等问题。为了更好的实现多媒体数据的传输,必须在UDP传输的基础上增加必要的控制协议。于是提出了基于UDP组件上的RTP传输的方式,RTP协议能为实时数据提供必要的控制。文章认真分析了RTP/RTCP协议的特性,并对协议的格式进行了深入的研究。最后引入目前被广泛运用的JRTPLIB库,并将它移植到嵌入式Linux平台上,编写了相关的应用程序,最终实现了音视频的RTP/RTCP传输。