`
fanxiaojun
  • 浏览: 56243 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

音视频引擎/音视频即时通讯

 
阅读更多

其技术亮点之一“透明通道”

“透明通道”顾名思义就是AnyChat SDK为上层应用提供的一个传输数据的通道,由于AnyChat SDK并不关心所传输的内容,即所传输的数据相对于SDK来说是“透明”的,便称为“透明通道”。上层应用可以利用SDK提供的透明通道来扩展业务,传输的内容没有限制,可以为任意数据类型缓冲区,单次传输大小限制为1000字节,如可以利用透明通道传输业务上自定义的指令,接收方收到数据后,会产生透明通道数据回调,在回调函数里面进行指令的解析,并进行对应的业务逻辑处理。V2.8.7之前的版本,只能在当前房间内的任意两个用户间,或是向房间内的所有用户广播数据。自2.8.7版本开始,便可以在两个成功登录的用户之间,用透明通道接口传输自定义的数据,每次传输数据的大小为1000字节,如果自己在房间里面,还可以利用透明通道向房间的所有用户广播数据。如果在房间中任意两个用户间需要传输大量的缓冲区数据,则可使用扩展接口SDK内部会自动完成对大缓冲区的分包、组包、校验工作。

其技术亮点之二“集成第三方编解码器”

AnyChat Platform Core SDK支持加载外部音视频的编码、解码模块(简称AnyChat Codec库),增强系统的可扩展性,同时也满足一些特定应用环境的特殊需求,如与特定的硬件平台(android、pad)集成时,可以调用硬件编解码器,实现更高效率的即时通讯应用。AnyChat Platform Core SDK内核已经实现了部分常用的音视频编码、解码模块,如H.264视频编码、解码算法,ARM-WB、AAC、SPEEX、CELT等音频编码、解码算法。上层应用可以自己定义新的音视频编码、解码算法,在AnyChat平台初始化时,通过相关API接口可以加载新的编码、解码模块,同时上层应用也可以重新实现SDK内置的编码、解码算法,在AnyChat平台初始化时,发现加载的音视频编码、解码算法与内置的算法相同,则会采用上层应用提供的相关算法来替代内核的算法。单个音视频编码、解码模块(AnyChat Codec库)最多可以同时包含:一个音频编码器,一个音频解码器,一个视频编码器以及一个视频解码器。当上层应用需要实现多个编码器,或是多个解码器时,可以在多个库中分别实现,然后分别向AnyChat内核进行注册。AnyChat Platform Core SDK根据预先定义的CODEC编号(CodecId)来区分不同的CODEC,当用户需要实现的CODEC不在已定义的CODEC列表中时,可以自行定义新的CODEC编号,当AnyChat内核收到采用新的CODEC编码的数据时,会根据CODEC编号查询已注册的新解码器,然后调用新的CODEC进行解码。当上层应用实现的CODEC编号与AnyChat内核预置的CODEC相同时,且输入(或输出)为标准码流时,可以与AnyChat内置CODEC同步工作(如采用AnyChat Codec库进行编码,用AnyChat内置库进行解码)。当上层应用实现的CODEC编号不存在于AnyChat内置CODEC列表中时,需要在编码端、解码端同时注册新的CODEC,否则将会出现解码失败的情况。

其技术亮点之三“支持Android硬件加速”

AnyChat for Android SDK V1.3正式支持Android硬件加速,启用硬件加速之后,内核将调用Android平台内置的硬件编码、硬件解码模块(CODEC),实现高清晰度的音视频通话。AnyChat for Android SDK内置软件编码、解码库,受限于android平台CPU运算能力,对于高分辨率、高帧率的视频通信效率较低,这时就需要采用硬件加速,通常Android平台的硬件都内置硬件加速芯片,通过硬件加速可以降低对CPU的要求,提高实时性。AnyChat for Android SDK默认采用内置软件编解码库,如需启用硬件加速则需要进行设置,示例代码如下(初始化成功之后调用):
1.// 平台硬件编码设置
2.intuseHardwareCodec = 1;
3.anychat.SetSDKOptionInt(AnyChatDefine.BRAC_SO_CORESDK_USEHWCODEC, useHardwareCodec);
AnyChat内核会自动探测当前android平台所支持的硬件加速类型(编码、解码)并自动加载,并在日志中输出相关信息,包括编解码器类型、名称等,如下所示:
1.Load codec libmediahwcodec_2.2.so success
2.Load video encodec success!(id:1,name:OMX.Nvidia.h264.encoder)
3.Load video decodec success!(id:1,name:OMX.Nvidia.h264.decode)

Android平台下正常启用硬件加速的条件是:1、硬件平台具备硬件加速芯片;2、硬件厂家提供相关驱动并加载到Android操作系统内核中(符合OMX标准,如不符合,则需要硬件厂家提供相关技术支持)。默认情况下,Android 2.2内核硬件加速不支持设置码率(默认1Mbps),Android 2.3、Android 4.0等平台支持设置硬件加速编码的目标码率、帧率、关键帧间隔等参数,所以在Android 2.3以上的版本上启用硬件加速将会获得理想的效果。如果所使用的Android平台具备硬件加速芯片,但不支持标准的硬件加速接口,则需要硬件厂家提供相关的api接口,然后采用AnyChat集成第三方编解码器技术,便可实现非标准的硬件加速功能。

其跨平台特性也是其与众不同的亮点之一,已支持Windows、Unix、Linux(x86、ARM)、Mobile、AndroidiPhone平台等,目前正在做WP7平台的移植。利用AnyChat SDK的跨平台特性,可以实现嵌入式硬件设备(ARM平台)与Internet上的Windows平台实现语音、视频的交互。如果企业的平台目前,或是今后需要实现跨平台的特性,则AnyChat SDK将是不二的选择。产品的跨平台特性,操作系统的多重选择,将使企业的应用领域更加的广阔。

对于本博有任何疑问的朋友都可加QQ:992139738

分享到:
评论

相关推荐

    C++音视频即时通讯源代码

    "C++音视频即时通讯源代码"是一个专为实现这种功能而设计的开发资源。它涵盖了多种交互模式,如“一对一”、“一对多”以及“多对多”,这在构建视频会议系统或语音视频聊天应用时非常有用。 C++是一种通用、面向...

    音视频通话源码.rar

    8. **实际应用**:音视频通话技术不仅用于游戏,还在远程教育、在线会议、即时通讯应用等领域有广泛应用。理解并能修改此类源码,对于开发者来说,是提升自身技能和开发相关产品的重要步骤。 9. **优化方向**:尽管...

    3.小程序实时音视频的那些事 赵伟.pdf

    - **劣势**:依赖于微信小程序的音视频引擎,需要开发后端,且与基于UDP的私有协议不兼容。 3. **开发中的问题** 开发者在利用小程序进行实时音视频开发时,会遇到一些限制,如版本限制、特定类目才能使用、需要...

    企业即时通讯二次开发的选择说明

    企业即时通讯二次开发的选择主要涉及音视频SDK和视频会议领域,这是企业在信息化进程中考虑的关键问题。在全球金融危机背景下,许多依赖出口的企业转向国内市场,寻求节约成本和提高效率的解决方案。视频会议作为一...

    原生社区交友婚恋视频即时通讯双端APP源码下载ONE兔2.0版

    4. **音视频通话**:该APP的核心功能之一是音视频即时通讯,它依赖于强大的音视频编解码技术和网络传输协议。可能采用的技术包括WebRTC(Web Real-Time Communication)或者自定义的音视频框架,以实现实时、低延迟...

    音视频实时通话解决方案源码

    10. **应用场景**:WebRTC广泛应用于在线教育、远程医疗、视频会议、即时通讯、游戏等多个领域,为用户提供无缝的实时通信体验。 在实际项目中,开发者需要根据业务需求对源码进行定制化开发,例如调整编解码器设置...

    Android系统中LBS即时通讯应用的设计与开发.pdf

    本文主要探讨了在Android系统中设计和开发基于位置服务(LBS)的即时通讯应用的关键技术和实现方法。首先,文章提到了 Speex 音频编解码技术,这是一种开源的音频处理引擎,特别适合于智能手机环境中的语音消息录制...

    架构创新与演进(解决方案专场)——WebRTC实时音视频系统架构详解与场景实践 共37页.pdf

    实时音视频通信是通过互联网进行即时通讯的一种形式,它要求极低的延迟和高效的同步。为了实现高质量的音视频通信,需要解决一系列技术问题,如音视频采集、网络预测、噪声抑制、编码、拥塞控制、回声消除和数据加密...

    即时通讯Demo

    即时通讯(Instant Messaging,简称IM)是一种实时通信技术,它允许用户通过互联网进行文本、语音、视频等多种形式的交流。本项目"即时通讯Demo"是一个使用Node.js开发的服务器端应用,实现了基本的即时通讯功能,...

    聊天开发工具,即时通讯,AnyChat

    AnyChat SDK(AnyChat音视频互动平台)是一套及时通讯开发平台(SDK),包含了 音视频处理模块与P2P网络模块两大部分,可以做为在线游戏的视频引擎,也可以做为视频 会议、网络教育、IM系统等互动平台的核心库。整个...

    电信设备-企业内部即时通讯系统.zip

    2. **语音/视频通话**:提供高质量的音视频通话服务,支持一对一或多人会话,适用于远程协作和会议。 3. **群组与频道**:创建不同主题的群组或频道,便于组织讨论和分享信息。 4. **文件共享**:支持大文件传输和...

    音视频-编解码-新媒体的发展趋势及其对价值观的影响.pdf

    即时通讯和社交网络成为新型媒体的代表,而地图则成为移动互联网时代的O2O入口。搜索引擎则扮演着互联网内容的首要入口角色,为用户提供海量信息。 新媒体时代的生活方式和交往方式发生了根本变化。生活方式的数字...

    一款企业用及时通讯交流平台

    综合上述信息,这款企业用即时通讯交流平台具备了现代企业协作所需的多种功能,包括但不限于即时消息、音视频通话、文件共享和移动支持。其简洁的设计、独立部署的能力以及良好的网络适应性,使其成为企业提升效率、...

    AnyChatCoreSDK_Win32(MBCS)_V4.0.rar_ICQ/即时通讯_Visual_C++_

    1. **AnyChatCoreSDK**:这是由北京博科讯业科技有限公司开发的一款专业级音视频通讯引擎,广泛应用于在线教育、远程医疗、企业协作等多个领域。它提供了一整套底层API接口,允许开发者快速集成音视频通话功能到自己...

    AnyChat V5.0版本(AnyChat for windows SDK)

    AnyChat是一套跨平台的即时通讯解决方案,是基于先进的H.264视频编码标准、AAC音频编码标准与P2P技术,整合了佰锐科技在音视频编码、多媒体通讯领域领先的开发技术和丰富的产品经验而设计的高质量、宽适应性、分布式...

    pjsip源码,支持视频功能

    PJSIP是一个开源的、多平台的VoIP和即时通讯库,它提供了完整的SIP协议栈以及音视频处理能力。在这个项目中,我们关注的是PJSIP 2.6版本,它经过了特定的修改,以支持视频功能,并能在Visual Studio 2015环境下编译...

    论文研究-基于Linphone的SIP即时消息收发的实现 .pdf

    mediastreamer2是音视频流引擎,它支持多种音频和视频的编解码库,使得Linphone可以处理多样的音视频数据流。 本文介绍的实现方法基于SIP协议和Linphone,提出了一种SIP终端传送即时消息的实现方法。通过该方法,...

    基于qt c++的一个即时通讯软件.zip

    在信息技术领域,即时通讯(Instant Messaging,简称IM)软件是不可或缺的一部分,它允许用户实时地进行文本、语音甚至视频交流。本项目“基于Qt C++的一个即时通讯软件”正是这样一个实现即时通信功能的应用程序,...

Global site tag (gtag.js) - Google Analytics