基于RDclient的VoIP网络音频系统的设计与实现

基于RDclient的VoIP网络音频系统的设计与实现

论文摘要

本论文叙述了如何基于实验室开发的远程桌面客户端软件RDclient开发出一套远程连接环境下的音频传输系统,即将linux客户端的音频通过远程桌面连接传输到windows服务器端并播放,与RDclient原来具有的一条可以让windows服务器端的音频传输到linux客户端的音频传输通道相结合,实现远程连接双向音频传输功能,并可以将此系统应用到远程教学、远程医疗等领域。论文可以总体分为两个端系统,分别是linux客户端系统和windows服务器端系统,细分为五个模块,分别是linux音频采集模块、音频数据压缩编码模块、TCP音频传输模块、音频数据解压解码模块、windows音频数据播放模块。充分运用VoIP领域的多种技术,实现了音频传输所追求的低时延、连续性好、占用网络带宽小等等目标。论文从VoIP的应用入手,详细介绍了VoIP的基本原理以及时延因素的主要性以及相关的技术实现,并考虑到了VoIP的安全性,客观描述了目前VoIP的应用现状,本论文对RDclient进行了详细的描述和分析,通过分析得出目前RDclient还有不足之处,需要加以改进以实现项目需求。接着开始设计并实现linux客户端的音频采集与压缩编码,即RDclient主程序fork出来的子进程插件,开始对声卡编程做了详细描述,并对ITU-T定义的各种压缩编码算法比如G.711、G.723、G.729等等进行了剖析,最终得出运用G.711 A-law压缩算法,并在采集音频和压缩音频之间运用了多线程技术,然后详细描述了父子间进程通过管道进行音频数据通信。然后设计并实现了基于TCP协议的音频传输系统,在设计的过程中充分运用VoIP传输相关的技术,避免数据包失序、时延加大等等方法。最后设计并实现了windows服务器端的音频解压编码与播放,描述了windows声卡编程过程,并在解压解码与播放操作之间运用了多线程技术与双缓冲技术,实现了音频播放的连续性以及尽力减少时延。并在linux与windows两端进行抓音频数据包测试,实验结果显示压缩与传输后数据几乎没有变化,系统的实现很完美。最后,对本论文进行了总结,描述实现的功能与创新的地方,并指出下一步改进的思路与方向。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 VoIP 研究与应用现状
  • 1.1.1 VoIP 的基本原理
  • 1.1.2 VoIP 的时延及其技术实现
  • 1.1.3 VoIP 的安全性
  • 1.1.4 VoIP 的应用及其现状
  • 1.2 WIN 7 具有的新特性
  • 1.3 本文的研究内容与实际意义
  • 1.4 本章小结
  • 第二章 项目背景知识及相关技术
  • 2.1 数字音频理论
  • 2.1.1 采样(采样频率)
  • 2.1.2 量化(量化位数)
  • 2.1.3 编码压缩
  • 2.2 音频压缩编码技术
  • 2.2.1 音频压缩编码技术的分类
  • 2.2.2 音频压缩编码技术的原理
  • 2.2.3 音频压缩编码算法性能比较
  • 2.3 TCP/IP 音频传输技术
  • 2.4 本章小结
  • 第三章 系统的总体设计
  • 3.1 系统的总体架构
  • 3.2 系统的总体设计流程图
  • 3.3 RDclient 客户端软件设计
  • 3.3.1 RDclient 的总体设计
  • 3.3.2 RDclient 的结构流程图
  • 3.4 本章小结
  • 第四章 客户端音频采集及压缩模块设计与实现
  • 4.1 RDclient 客户端软件设计
  • 4.1.1 RDclient 的函数调用结构
  • 4.1.2 RDclient 程序的数据接收与发送
  • 4.2 基于RDclient 的插件设计
  • 4.2.1 Linux Pipe 技术的应用
  • 4.2.2 插件的启动方式
  • 4.3 Linux 客户端音频采集模块
  • 4.3.1 Linux 的音频设备驱动应用
  • 4.3.2 Linux 音频编程接口应用
  • 4.3.3 Linux 音频采集程序的部分代码
  • 4.4 音频的压缩编码模块
  • 4.4.1 G.711 压缩编码设计与应用
  • 4.4.2 A-law 与u-law 编码算法的对比与应用
  • 4.4.3 音频的压缩编码程序的部分代码
  • 4.5 Linux 多线程技术的应用
  • 4.6 本章小结
  • 第五章 TCP/IP 音频传输模块设计与实现
  • 5.1 RDclient 环境下音频传输的特殊性
  • 5.2 基于TCP 协议的音频数据传输模块的实现
  • 5.2.1 客户端音频数据发送模块
  • 5.2.2 服务器端音频数据接收模块
  • 5.3 本章小结
  • 第六章 服务器端音频解压及播放模块设计与实现
  • 6.1 音频的解压缩解码模块
  • 6.1.1 G.711 解压解码设计与应用
  • 6.1.2 音频解压解码程序的部分代码
  • 6.2 windows 服务器端的音频播放模块
  • 6.2.1 windows 的音频数据格式选择
  • 6.2.2 windows 音频编程接口应用
  • 6.2.3 windows 音频播放程序的部分代码
  • 6.3 windows 多线程技术与双缓冲技术的应用
  • 6.3.1 多线程的实现过程
  • 6.3.2 双缓冲的实现过程
  • 6.4 本章小结
  • 第七章 系统调试与测试
  • 7.1 测试环境
  • 7.1.1 硬件测试环境
  • 7.1.2 软件测试环境
  • 7.2 系统的调试
  • 7.3 系统的功能测试
  • 7.4 本章小结
  • 第八章 总结与展望
  • 8.1 本项目的主要成就与创新
  • 8.2 下一步需要做的工作
  • 致谢
  • 参考文献
  • 相关论文文献

    标签:;  

    基于RDclient的VoIP网络音频系统的设计与实现
    下载Doc文档

    猜你喜欢