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,否则将会出现解码失败的情况。
点击下载完整版《AnyChat外部编解码器编程指南》。
音视频开发技术之自主集成第三方编解码器