音视频即时通讯开发功能介绍

  即时通讯开发,也叫音视频即时通信开发。随着互联网的发展,人们之间的交流逐步从电话移向网络。每天都有相当多的人在使用各种网络交流工具,如Anychat,腾讯QQICQMSN,新浪微博。
  可以看出人们对于网络上即时的沟通方式是非常敏锐的,所能容纳的程度也远远超过我们的预计。然而目前大部分网络交流工具都还是以文字为主,语音视频功能大部分还是不够成熟,完全通过网络实现语音视频需要考虑到很多方面,如:硬件、软件、技术、网络;等等。纯文字沟通方式效率非常低而且也不符合人们平素的习惯,作为一种消遣的工具尚可,远未达到一种真正的沟通方式。因此,即时通讯开发诞生了。
  
简而言之,即时通讯开发就是通过开发一套跨平台的即时通讯解决方案,基于先进的H.264视频编码标准、AAC音频编码标准与P2P技术,整合音视频编码、多媒体通讯开发技术而设计的高质量、宽适应性、分布式、模块化的网络音视频互动平台来满足人们的即时通讯需求。

接下来介绍一下音视频互动开发软件的功能以及能够用该软件来开发什么等等。

 
 
产 品 名 称

音视频互动开发软件【简称 AnyChatSDK

软件功能项目

功能说明

音视频实时交互

客户端可进行一对一,一对多,或是多对多的实时语音通话,视频交流,音视频同步。

自动多路混音

在多路语音通话时,内核自动进行混音处理

文字消息

客户端可以向其它客户端发送文字消息数据

文件传输

客户端可以向其它客户端传送文件,传送过程有进度提示

图像抓拍

客户端可实时抓拍图像并保存为 jpg 文件

音视频录像

客户端可实时录制语音、视频数据并保存为 mp4 文件

透明通道

客户端之间,或是客户端与服务器之间可传输任意缓冲区数据

P2P 网络传输

音视频数据,文件传输数据,透明通道数据优先采用 P2P 传输,当 P2P 不通时,服务器自动进行转发,支持 UDP TCP P2P 网络通信

IP 组播

音视频数据可通过 IP 组播方式发送、接收

媒体数据代理

实现指定用户将其它用户的流媒体数据(音频、视频)做为自己的数据,转发给请求指定用户相关数据的用户

外部音视频输入

提供 API 接口接收上层应用程序输入的音频数据、视频数据,而不从音视频输入设备上进行数据的采集

加载外部编×××

支持加载外部音视频的编码、解码模块,增强系统的可扩展性

音视频输入输出设备切换

支持音频输入(录音)、音频输出(播放)、视频输入(采集)等设备的枚举、选择,可在不同的设备之间切换

WEB 浏览器应用

支持 IE 浏览器,实现 IE 上面的音视频即时通讯功能

回声消除等音频信号处理

支持回声消除、噪音抑制、静音检测、自动增益等音频信号处理,提供高质量的全双工语音通话能力

Windows 服务模式

将服务安装为“服务”之后,将随操作系统的启动而运行,不需要登录操作系统界面手动运行

Windows

提供 Windows 平台 SDK 开发包,可开发 Windows 平台上的应用程序,支持 Windows 2003 Windows XP Win7 等操作系统,支持 32 位、 64 位平台;

Linux

提供 Linux 平台 SDK 开发包,可开发 Linux 平台上的应用程序

Android

提供 Android 平台 SDK 开发包,可开发 Android 平台上的应用程序

iOS

提供 iOS 平台 SDK 开发包,可开发 iOS 平台上的应用程序

服务器隐藏

服务器所使用的 TCP UDP 服务端口均可自定义(在服务器的 .ini 文件中配置),实现服务的隐藏

通信协议加密传输

服务器与客户端之间的底层通信协议均加密传输。防止非标准客户端连接服务器,为系统提供一道安全的屏障

服务器设置认证密码

服务器可设置连接认证密码。防止非授权 AnyChat 客户端连接服务器

双机热备

服务器有两种工作模式,分别为:主服务器模式 (Master Server) 、从服务器模式( Slave Server ),当从服务器被激活,且主服务器宕机之后,从服务器将会立即开始服务,接受客户端连接

API 接口

客户端 SDK

提供 API 接口,可用于开发客户端应用程序,实现即时通讯功能

服务器 SDK

提供 API 接口,可用于开发服务器应用程序,实现业务逻辑的处理

支持的开发

语言和集成

开发环境

C++

支持 VC++ 集成开发环境,提供 C++ 语言示例程序源代码

Delphi

支持 Delphi 集成开发环境,提供 Delphi 语言示例程序源代码

C#

支持 .Net 集成开发环境,提供 C# 语言示例程序源代码

VB.Net

支持 .Net 集成开发环境,提供 VB.Net 语言示例程序源代码

Objective-C

支持 XCode 集成开发环境,提供 Objective-C 语言示例程序源代码

Java

支持 Java 集成开发环境,提供 Java 语言示例程序源代码

其它

日志记录

客户端、服务器均能生成工作日志,用于状态检测和故障分析

视频参数调节

可动态进行视频参数调节,包括:分辨率、目标码率、采样帧率、质量因子等参数,即时生效,在硬件支持的情况下,内核可支持 176x144 1280x1024 的视频分辨率

音频参数调节

可动态进行音频参数调节,包括采样率、采样通道、目标码率、音频工作模式等参数,即时生效,支持 16000Hz Mono 44100Hz Stereo 的音频采样

外部设备记忆

自动记录最后一次工作的视频输入设备、音频输入、输出设备,下一次启动时,自动选择前面记录的设备进行工作

简单的说,AnyChat SDK是一套多媒体即时通讯平台库,大部分需要用到音视频交互的系统都可以采用AnyChat SDK来开发。AnyChat SDK内部封装了音视频的采集、编码、传输、解码以及播放(显示)功能,只需要几个简单的API调用,即可实现多个用户之间的语音、视频、文字交互,由于内核已经实现了P2P网络,所以上层应用不需要关心复杂的网络传输问题,简化了上层应用的开发难度,上层应用的开发人员可以把更多的精力投入到业务流程、用户体验等方面,实现应用系统的快速开发。