NetTalk 软件结构及工作流程
一.概述:
NetTalk 是可视电话软件,可以实现远距离的面对面沟通。
二.组成部分
分网络传输部分、音频输入、音频输出、视频输入、视频输出、音频视频压缩、音频
波形显示、界面。共创建个线程,音频输入线程、音频输出线程(这两个有 WINAPI 隐式
创建)、音频视频压缩传送线程和主线程。因为音频的采样率比视频采样率高得多,这里
的音频的采样率为 8000Hz 而视频仅为 20 左右,所以从宏观来看,音频是连续的,而视频
是非连续的,这也就是无须为视频输入输出创建独立线程的原因。
网络传输:基于 UDP 协议,有两组 SOCKET,一组用于指令发送和接受(要求可
靠),另一组负责音频视频数据的传送和接受(不保证可靠性)。
音频输入:通过 waveIn 函数族完成连续的录音
音频输出:通过 waveOut 函数族完成连续的放音
视频输入:通过 cap 函数族对视频进行捕获
视频输出:通过 cap 函数族实现视频输出
音频视频压缩:音频压缩采用 G.729 标准(8:1,1kbps),视频压缩采用 H.263+标准
音频波形显示:将 PCM 音频数据以波形动态地显示出来
界面:与用户交互
三.工作流程:
1. 软件一般自动运行(当操作系统启动时运行),与服务器通讯,向服务器传送
登录信息. 注:目前并没有服务器介入,而直接是客户与客户的通讯
2. 进入监听状态,等候呼叫
3. 呼叫,可以从地址簿呼叫,也可直接打入 IP 呼叫
4. 与被叫方取得联系后,等待发送方回应,当超过一定时间或由用户终止时,取
消呼叫
- 1
- 2
前往页