即时通讯 音视频 开发技术

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

1、音频技术:
    AAC于1997年形成国际标准ISO 13818-7。先进音频编码AAC开发成功,成为继MPEG-2音频标准(ISO/IEC13818-3)之后的新一代音频压缩标准。
    AAC主要可能的应用范围集中在因特网网络传播、数字音频广播,包括卫星直播和数字AM、以及数字电视及影院系统等方面。AAC使用了一种非常灵活的熵编码核心去传输编码频谱数据。具有48 个主要音频通道,16 个低频增强通道,16 个集成数据流, 16 个配音,16 种编排。​
因此,AAC无疑是最好的即时通讯音频编码标准之一。

2、视频技术:
    目前最先进的视频技术非H.264莫属,H.264最大的优势是具有很高的数据压缩比率,在同等图像质量的条件下,H.264的压缩比是MPEG-2的2倍以上,是MPEG-4的1.5~2倍。H.264具有许多与旧标准不同的新功能,它们一起实现了编码效率的提高。特别是在帧内预测与编码、帧间预测与编码、可变矢量块大小、四分之一像素运动估计、多参考帧预测、自适应环路去块滤波器、整数变换、量化与变换系数扫描、熵编码、加权预测等实现上都有其独特的考虑。

3、网络技术:
    即时通讯讲究的是点对点,或者一对多的通讯。因此,P2P(点对点技术)作为一种网络新技术进入即时通讯开发人员的视野。针对可不经过服务器中转的音视频应用,采用了P2P通信技术,该技术的核心在于防火墙的穿越。使用P2P通信技术,可以大大的减轻系统服务器的负荷,并成几何倍数的扩大系统的容量,且并不会因为在线用户数太多而导致服务器的网络阻塞。支持UPNP协议,自动搜索网络中的UPNP设备,主动打开端口映射,提高P2P通信效率。
  事实上,网络上现有的许多服务可以归入P2P的行列。即时通讯系统譬如ICQ、AOL Instant Messenger、Yahoo Pager、微软的MSN Messenger以及国内的QQ是最流行的P2P应用。它们允许用户互相沟通和交换信息、交换文件。用户之间的信息交流不是直接的,需要有位于中心的服务器来协调。

4、API接口技术:
    即时通讯开发必须采用动态缓冲技术来适应不同网络环境(局域网、企业专网、互联网、3G网络),根据不同的网络状态动态调节相关参数,使得即时通讯平台在多种网络环境下均有良好的表现,并特别针对互联网、3G网络等应用场合进行优化,为上层应用提供视频质量的动态调节接口、音频质量的动态调节接口。

5、保密技术:
    开发即时通讯平台时,不得不考虑到的问题就是保密问题了。比较通用的保密技术有:
a、自定义服务器端口。服务器所使用的TCP、UDP服务端口均可自定义(在服务器的.ini文件中配置),实现服务的隐藏;
b、加密传输服务器与客户端之间的底层通信协议。
c、服务器设置连接认证密码。
d、服务器内部设置安全检测机制,一旦检测到当前连接的客户端有非法操作嫌疑(如内部通信协议没有按既定的步骤进行)时,主动断开该客户端的连接,并记录该连接的IP地址,在一段时间内不允许重新连接。

你可能感兴趣的:(音视频解决方案,流媒体技术,视频,二次开发,视频聊天,即时通讯,h.264,p2p)