借助计算机软硬件和半导体芯片技术水平的不断发展和中国的网络基础设施的不断完善,音视频逐步向高保真和高清晰发展,国内先进的网络技术从而得到了不断的提高和普及和应用,越来越多的企业开始走进了企业信息化、国际化的信息高速公路。人们生活质量的提高和改变给很多信息化企业带来了无限的机遇与挑战,越来越多的项目也随之出现,例如:视频聊天室、网络远程教育、在线真人游戏、企业千人大会等让身处在异地的人们只需要通过某种传输介质就可以实现“实时、可视、交互”的多媒体通讯技术不断被各行各业所青睐。如何通过有效利用现有的信息资源和网络资源节约开发成本,为企业获得更大的经济效益已经成为当下众多企业的一个新的研究课题。
音视频的编解码主要有以下几种:
VBR 动态比特率, 需要容器支持提供音视频的同步方法
CBR 固定比特率
HDRIP: 重新编码,再次经过压缩的视频
REMUX版本:意思是重新封装,从HD-DVD或者BD理提取音视频数据,封装到其他格式如TS或AVI中。
容器
AVI:微软的,成熟老技术。不支持VBR,不支持流媒体,因为索引在文件尾部。
TS:Transfer stream. ts的每段可以分别解码。包有固定长度。适合传输介质不稳定的状况。常用与电视广播。支持VBR。BD使用TS流
PS:Program stream. DVD和HDDVD使用ps流。后缀为VOB或EVO等。
编码
MOV封装:QuickTime封装与AVI是同一个时代的。
MKV封装:是Matroska的简称。一种新的封装格式,非常开放,支持VBR,提供时间戳来进行音视频同步。支持流媒体。兼容性强。民间开发,商业支持少。
FLV:针对与h.263编码家族的格式
rmvb/rm: real video
MP4:主要用于封装mpeg4.
编码:
Mpeg1: VCD使用 352x288,低分辨率,压缩比低
Mpeg2: DVD用和电视广播。有NTSC(720x480)和PAL(720x576)。压缩比高于Mpeg1
Mpeg4: 目前使用最多,avi文件始祖。压缩比提过很多,质量堪比DVD
divx: 基于mpeg4开发,有一定算法优化。
xvid: 在divx技术封锁后,被人破解开发的。基于mpeg4改进。开放源码。画质更好。
h.261: 早期低码率编码,用于352x288和176x144,现在不用了
h.263:低码率下比h261效果好。
h.263+:h263改进
h.264:集中以往有点,高压缩。与h.263+和mpeg4 sp相比,减少50%比特率,高质量应用等。
rm/rmvb: real公司应用与网络的高压缩编码。rm是CBR,rmvb是VBR。
常见编码容器组合:
AVI Xvid MP3
AVI Dvix MP3
MKV Xvid MP3
MKV Xvid AAC
MKV H264 AAC
MP4 Xvid mp3
MP4 H264 AAC
3GP H263 AAC
各种编码最佳码率:
Real Video: 640x720 350-600 kbps
Xvid: 1024x438 800-1300Kbps
MKV(X264/AVC): 720p 5-6Mbps
H264/VC1:1080p 30Mbps
ITU-T和ISO/IEC-MPEG 两个数字视频压缩领域内的标准化组织
ITU-T 定制H.26x系列
ISO/IEC-MPEG 定制了MPEG系列
H.264或称MPEG-4/10 是由ITU-T和ISO/IEC-MPEG共同开发的视频编解码标准。编码技术称为AVC编码。因此常称H.264为H.264/AVC(或者AVC/H.264或者H.264/MPEG-4 AVC或MPEG-4/H.264 AVC)
anychat利用先进的H.264视频编码标准、AAC音频编码标准与P2P技术。包含了音视频处理模块(采集、编解码)、流媒体管理模块(丢包重传、抖动平滑、动态缓冲)、流媒体播放模块(多路混音、音视频同步)以及P2P网络模块(NAT穿透、UPnP支持、IP组播支持)等多个子模块,封装了底层的硬件操作(音视频采集、播放)、封装了流媒体处理(编解码、网络传输)等非常专业和复杂的技术,为上层应用提供简单的API控制接口,可以在极短的开发周期,以及极少的人力资源投入下为客户的现有平台增加音视频即时通讯、多方会议的功能,是一款高质量、宽适应性、分布式、模块化的网络音视频互动平台,分为客户端SDK和服务器SDK两大部分,其中客户端SDK用于实现语音、视频的交互以及其它客户端相关的功能,而服务器SDK主要实现业务层逻辑控制,以及与第三方平台的互联等。客户端SDK和服务器SDK均支持C++、C#、WPF、VB.Net以及Delphi等开发语言和框架,AnyChat内核开放CODEC接口,支持集成第三方的音视频编、解码器,可实现嵌入式终端设备上的硬件编解码,采用动态缓冲技术来适应不同网络环境(局域网、企业专网、互联网、3G网络),根据不同的网络状态动态调节相关参数,使得AnyChat SDK在多种网络环境下均有良好的表现,并特别针对互联网、3G网络等应用场合进行优化,为上层应用提供视频质量的动态调节接口、音频质量的动态调节接口。
AnyChat SDK可以作为在线游戏的音视频引擎,也可以作为视频会议、网络教育、IM系统、网络视频聊天系统等互动平台的核心库,还可以应用于政府应急指挥平台、专家远程协商平台等专用系统。AnyChat音视频互动开发平台目前已广泛应用于在线视频游戏、网站视频聊天、企业视频会议、军队远程指挥、政府应急指挥平台、数字电视、数学家庭等领域。
AnyChat支持跨平台的应用,服务器支持Windows、Linux、Unix等所有主流服务器操作系统,客户端目前支持Windows、Linux(x86、ARM)、Android以及iOS(iPhone、iPad)平台等,目前正在研发Win Phone8等平台。AnyChat的跨平台特性,为客户提供了广阔的应用空间,如实现Windows桌面用户的语音视频交互的同时,还可以定制嵌入式硬件解决方案,实现嵌入式硬件与Windows桌面应用的互联互通,在部队远程指挥、政府应急系统、数字化家庭、移动视频监控、专家咨询、在线客服、呼叫中心以及移动音视频采集等领域有广泛的应用空间。
视频技术AnyChat采用国际领先的视频编码标准H.264(MPEG-4 part 10 AVC /H.264)编码,H.264/AVC 在压缩效率方面有着特殊的表现,一般情况下达到 MPEG-2 及 MPEG-4 简化类压缩效率的大约 2 倍。H.264具有许多与旧标准不同的新功能,它们一起实现了编码效率的提高。特别是在帧内预测与编码、帧间预测与编码、可变矢量块大小、四分之一像素运动估计、多参考帧预测、自适应环路去块滤波器、整数变换、量化与变换系数扫描、熵编码、加权预测等实现上都有其独特的考虑。佰锐科技采用先进去马赛克技术,保障在视频通讯过程中不出现花屏、马赛克等现象。
音频技术AnyChat采用先进的AAC(Advanced Audio Coding)语音编码体系,AAC是 MPEG1/2 Audio 的下一代有损音频编码, 并且是 MPEG-4 使用的音频编码,AAC采用了感知子带技术(perceptual sub-band technology),与MP3等其它编码器相比,AAC编码器很大程度地改善了数据压缩率和声音品质。全面支持静音检测(VAD)、噪音抑制(NS)、自动增益(AGC)以及回音消除(AEC)等音效处理,极大提高用户体验。
AnyChat针对可不经过服务器中转的音视频应用,采用了P2P通信技术,该技术的核心在于防火墙的穿越。使用P2P通信技术,可以大大的减轻系统服务器的负荷,并成几何倍数的扩大系统的容量,且并不会因为在线用户数太多而导致服务器的网络阻塞。支持UPNP协议,自动搜索网络中的UPNP设备,主动打开端口映射,提高P2P通信效率。
AnyChat服务器模块采用完成端口实现高性能的系统架构,采用重叠I/O机制,通过线程池和缓冲池的管理,极高的优化了系统结构,提高了系统的性能。特别是在多CPU的服务器上,AnyChat服务器更能发挥服务器多处理器的优势。