结构.txt
上传用户:oldpeter23
上传日期:2013-01-09
资源大小:1111k
文件大小:2k
源码类别:

IP电话/视频会议

开发平台:

Visual C++

  1. NetTalk软件结构及工作流程
  2. 一.概述:
  3. NetTalk是可视电话软件,可以实现远距离的面对面沟通。
  4. 二.组成部分
  5. 分网络传输部分、音频输入、音频输出、视频输入、视频输出、音频视频压缩、音频波形显示、界面。共创建个线程,音频输入线程、音频输出线程(这两个有WINAPI隐式创建)、音频视频压缩传送线程和主线程。因为音频的采样率比视频采样率高得多,这里的音频的采样率为8000Hz而视频仅为20左右,所以从宏观来看,音频是连续的,而视频是非连续的,这也就是无须为视频输入输出创建独立线程的原因。
  6. 网络传输:基于UDP协议,有两组SOCKET,一组用于指令发送和接受(要求可靠),另一组负责音频视频数据的传送和接受(不保证可靠性)。
  7. 音频输入:通过waveIn函数族完成连续的录音
  8. 音频输出:通过waveOut函数族完成连续的放音
  9. 视频输入:通过cap函数族对视频进行捕获
  10. 视频输出:通过cap函数族实现视频输出
  11. 音频视频压缩:音频压缩采用G.729标准(8:1,1kbps),视频压缩采用H.263+标准
  12. 音频波形显示:将PCM音频数据以波形动态地显示出来
  13. 界面:与用户交互
  14. 三.工作流程:
  15. 1. 软件一般自动运行(当操作系统启动时运行),与服务器通讯,向服务器传送登录信息.   注:目前并没有服务器介入,而直接是客户与客户的通讯
  16. 2. 进入监听状态,等候呼叫
  17. 3. 呼叫,可以从地址簿呼叫,也可直接打入IP呼叫
  18.       
  19. 4. 与被叫方取得联系后,等待发送方回应,当超过一定时间或由用户终止时,取消呼叫
  20. 5. 被叫方接受呼叫请求时,开始实时视频通讯,直到任意一方中断对话或非人为中断
  21.     
  22.     如示意图所示:
  23.  
  24. (图1,数据发送示意)
  25. 数据接收部分与此大致相反,只是加入了帧缓冲、排序、抛弃等机制。更详细的流程见下图(图2)
  26.  
  27. 以上仅为软件结构及流程的非详细说明,很多细节并未涉及
  28. 115软件工厂 2002-2-24
  29. 115软件工厂对软件、代码及文档保留所有权