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