【融云分析】融云实时音视频 SDK 对智能硬件的视频适配
1.很多智能硬件的运行内存、CPU 性能等硬件配置普遍比手机性能低;
2.部分厂商在智能硬件的摄像头安装方向、个数、类型和手机有较大差异。
所以在适配问题上,智能硬件需要单独进行验证讨论,下面就为大家进行详细解析。
视频采集适配
采集方式适配
融云实时音视频 SDK 摄像头采集数据提供 Texture 和 YUV(NV21) 两种方式,通过设置不同采集方式可以获取到 Texture ID 或 byte 原始视频流数据。Texture ID 用来表示图像照片或者一系列的数据,使用纹理可以使物体展现更多的细节,YUV 则是摄像头采集出的 NV21 格式数据。
YUV 是一种彩色编码格式,可以将其理解为原始视频流数据,主要用在视频、图形处理流水线中(pipeline)。相对于 RGB 颜色空间,设计 YUV 的目的就是为了编码、传输更方便,减少带宽占用和信息出错。
融云实时音视频 SDK 中默认采用 Texture 方式采集,当本端使用该方式采集时,编码器默认将使用 android.media.MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface(0x7F000789) 颜色空间进行编码,如果对端不支持该颜色空间的情况下,可能会导致解码花屏或者解码失败问题,开发者可以在加入房间之前调用 RongRTCConfig.Builder#enableVideoTexture 方法设置是否采用 texture 方式采集。
摄像头适配
在遇见智能硬件摄像头安装方向、个数、类型导致的视频采集问题时,可以通过融云实时音视频SDK中 RongRTCConfig.Builder 类的设置方法 setCameraDisplayOrientation 和 setCustomizedCameraParameter,修改摄像机采集的角度和直接设置给 android.hardware.Camera#setParameters(Parameters params) 配置信息。
融云实时音视频 SDK 会通过 android.hardware.Camera.getNumberOfCameras() 方法获取到可用的摄像头 ID,默认会打开前置摄像头,对于需要打开鱼眼镜头或者搭载多个摄像头硬件设备场景中,可以使用
RongRTCCapture.getInstance().startCameraCapture 打开、切换;
RongRTCCapture.getInstance().switchCamera 指定 ID 的摄像头。
当智能硬件带有 USB 摄像头或 USB 麦克风,并且安卓系统无法识别其外置设备时,调用上文方法将无法打开硬件设备(对端将无法观看本端视频),这种情况,推荐使用融云实时音视频 SDK 发布自定义视频流功能。
二、视频编解码适配
融云音视频 SDK 支持 H.264 编解码器,以高压缩、高质量和支持多种网络的流媒体传输著称,同时也是 MPEG-4 第十部分,是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视频编解码器标准,这个标准通常被称之为H.264/AVC。
使用融云音视频 SDK 时,可以设置编码器颜色空间、编码等级、编码帧率、编码关键帧间隔时间、编码器码率控制模式等配置信息,以解决设备编解码导致的问题。
编码颜色空间
融云 RTCLib SDK 中摄像头采集数据采用的颜色格式为 NV21,它属于 YUV420 格式,如果智能硬件厂商定制了颜色空间,会导致融云 SDK 内部处理颜色空间逻辑和设备所支持颜色空间不符合,出现编码报错、对端解码失败、对端观看花屏等现象。遇见此问题,开发者可以使用 RongRTCConfig.Builder#setHardWareEncodeColor 方法修改编码颜色空间来解决。
编码等级
由于视频编码后显示的数据质量偏低,为了调整质量,就需要设置编码等级 level、profile。融云 SDK 默认使用 android.media.MediaCodecInfo.CodecProfileLevel.AVCProfileBaseline ,开发者也可以通过 RongRTCConfig.Builder#enableHardWareEncodeHighProfile 方法将其设置为 android.media.MediaCodecInfo.CodecProfileLevel.AVCProfileHigh,AVCProfileHigh 所对应的编码等级为 android.media.MediaCodecInfo.CodecProfileLevel.AVCLevel3,AVCProfileHigh 相对 AVCProfileBaseline 采用了更高级的压缩特性,这意味着对端在解码时也需要硬件更高的性能,采用 AVCProfileBaseline 是因为其兼容性更高。安卓源码中 7.0 版本之前默认使用 AVCProfileBaseline ,7.0 才修改了该逻辑。
安卓 6.0 源码(android/6.0.1_r16/xref/frameworks/av/media/libstagefright/ACodec.cpp)片段如下:

安卓 7.0 源码(android/7.0.0_r31/xref/frameworks/av/media/libstagefright/ACodec.cpp)代码片段如下:

编码码率控制模式
对于需要传输高质量视频流的场景,除了设置分辨率、帧率、码率提高视频质量外,还可以控制编码码率,融云 SDK 默认使用 CBR ,开发者可以使用音视频 SDK 的 RongRTCConfig.Builder#setHardWareEncodeBitrateMode 方法修改模式设置。该属性安卓 5.0 才开始支持参数设置,以下是对三种模式的介绍:

编码关键帧间隔时间
H.264 标准中有 Instantaneous Decoding Refresh(IDR,即时解码刷新,以下称 I 帧)。H.264 图像以序列为单位进行组织,一个序列是一段图像编码后的数据流,该序列以 I 帧开始,到下一个 I 帧结束。两个 I 帧之间为多个 P 帧(Predictive-frame)或 B 帧(Bi-directional predicted frames),设置的编码关键帧间隔时间就是 IDR 间隔时间。
I 帧:通常是每个 GOP(Group Of Picture) (MPEG 所使用的一种视频压缩技术) 的第一个帧,I 帧图像采用帧内编码方式,即只利用了单帧图像内的空间相关性,而没有利用时间相关性。I 帧使用帧内压缩,不使用运动补偿,由于 I 帧不依赖其它帧,所以是随机存取的入点,同时是解码的基准帧。I 帧主要用于解码器的初始化,以及节目的切换和插入,I 帧图像的压缩倍数相对较低,I 帧图像是周期性出现在图像序列中的,出现频率可由编码器选择,I 帧压缩可去掉视频的空间冗余,而 B、P 则是为了去掉时间冗余。
P 帧:向前参考帧(第一帧之后的帧,只存在和前一帧的差异,可以提高压缩效率和图像质量),压缩时只参考前一个帧,属于帧间编码方式(即同时利用了空间和时间上的相关性),P 帧图像中可以包含帧内编码的部分,即 P 帧中的每一个宏块可以是前向预测,也可以是帧内编码;它参考前一个 B 帧或 I 帧来解码出一张完整的图像。
B 帧:双向参考帧,压缩参考前一帧和后一帧,属于帧间压缩技术。压缩比高,如果网络不好,对实时要求高的话会一直等待,实时互动直播一般不使用,值得注意的是,由于 B 帧图像采用了未来帧作为参考,因此 MPEG-2 编码码流中图像帧的传输顺序和显示顺序是不同的。
因为 H.264 采用了多帧预测,所以 I 帧之后的 P帧可能会参考 I 帧之前的帧,这使得在随机访问的时候不能以找到 I 帧作为参考条件,因为即使找到了 I 帧,I 帧之后的数据也有可能解不出数据,而IDR 帧就是一种特殊的 I 帧(这一帧之后的所有参考帧只会参考IDR,而不会参考其他前面的帧)。在解码器中,一旦收到 IDR 帧,就会立即清理参考帧缓冲区,并将 IDR 帧作为被参考帧。
融云 SDK 中关键帧间隔时间默认为 100 秒,开发者可以通过 RongRTCConfig.Builder#setHardWareEncodeKeyFrameInterval 方法修改间隔时间,如果该值设置过小,会加大网络流量和编解码压力;如果过大,在网络有波动情况下,图像质量会下降。以上就是融云在实时音视频 SDK 对智能硬件视频适配方面的一些经验,希望能对开发者朋友们理解智能硬件的适配有所帮助。
- 1华章三百,礼遇东方|庆贺万达酒店及度假村开业酒店突破300家
- 2中电光谷中标合肥市物联网科技产业园四期OEPC项目
- 3中电光谷荣获2026第十四届TopDigital创新营销奖“年度数字化建设品牌”
- 4八马茶业 2026 年上半年营收净利双增 净利率提升凸显经营质效
- 5爱意盈满·心动七夕|三亚海棠湾万达嘉华度假酒店推出七夕限定浪漫礼遇
- 6供应压力增加 铜价将震荡走强
- 7十四载嘉华筑梦,与宁同行共启新章 宁德富力万达嘉华酒店迎来14周年庆
- 8月满中秋|丹东富力万达嘉华酒店中秋月饼礼盒温情上市
- 9专业会议|丹东富力万达嘉华酒店,打造高品质会议体验
- 10以爱赴夕|齐齐哈尔富力万达嘉华酒店推出398元七夕专属双人美馔套餐
- 1基于AI与零碳新发展交流会在浦东成功召开
- 2当竹编被“打印”出来:Anycubic携手钱利淮探索传统艺术的数字新表达
- 3伊利坚持潘刚的国际化理念 持续拓展中国乳业全球版图
- 4万达酒店设计研究院如何以“在地转译”定义生活方式酒店新高度
- 5十亿分之一失效率、2000小时温度循环:安世中国车规MOSFET的可靠性答卷
- 6多地探索破解青少年暑期“无人管、无处去”难题 文化场馆帮“带娃”,有趣又有收获
- 7华章三百,礼遇东方|庆贺万达酒店及度假村开业酒店突破300家
- 8海尔携AI空净产品亮相亚宠展,守护人宠共居呼吸自由
- 9万达酒店设计研究院如何以“在地转译”激活双品牌空间叙事
- 10中电光谷中标合肥市物联网科技产业园四期OEPC项目
- 1强强联合!华润新能源完成并购重组,245亿募资赋能绿色产业升级
- 2国潮快闪、反向海淘……入境游“圈粉”世界外国朋友近距离感受中国魅力
- 3阳采集团:AI赋能五大端口,实现从传统贸易商向数智供应链服务商转型
- 4打造川内首个无蚊园区 中科中成“铁蜻蜓”智能灭蚊机器人于青羊总部经济基地正式投用
- 5全场景OLED方案亮相ChinaJoy,维信诺以“屏”实力引领新消费变革
- 6予非知识图谱大模型完成生成式人工智能服务备案!潍坊市首个
- 7宏观不确定因素影响较强白银价格偏弱运行
- 8华章三百,礼遇东方:万达酒店及度假村全球运营酒店规模突破300家
- 9安徽昌盛获特批上市,深耕石榴产业链迈向全球市场新征程
- 10八马茶业亮相2026中国广告论坛 国货茶企彰显文化自信



