音视频生产关键指标:采集预览优化丨音视频工业实战

2022-12-26  本文已影响0人  关键帧Keyframe

这个公众号会路线图 式的遍历分享音视频技术音视频基础音视频工具音视频工程示例音视频工业实战

随着相机采集越来越多的与滤镜、美颜、特效等前处理流程结合,关注采集预览的性能变得十分重要。采集预览阶段表示打开相机,但是还没开始进行直播推流或者视频录制的阶段,但这时候一般也开始进行滤镜、美颜、特效前处理了。在这个阶段我们可以关注以下性能指标:

此外,我们还需要关注:采集画面质量采集内存等指标的优化。

1、相机打开成功率优化

1.1、权限检测与引导

手机设备上的应用要打开相机是需要向用户申请权限的,所以优化权限申请的交互及文案提升权限通过率是优化相机打开成功率的一个方案。

这里有几个建议:

1.2、错误重试与监测

如果确实遇到相机打开报错,可以重试相机打开流程。

另外,需要统计相机打开错误的细分错误码,这样就能更好的定位相机打开失败的原因进行针对性的优化。

2、相机打开速度优化

2.1、优先使用 CPU 资源

优化相机打开速度,可以从业务层进行处理,优先将 CPU 资源让给相机,相机打开后回调给业务相机首帧已出的事件,这样业务收到该事件后再进行其它初始化,体验会得到很大提升。

2.2、异步初始化非必要组件

通常相机会与特效等 SDK 混合使用,可以子线程异步加载特效组件,首帧可以无特效立即展示出来,等检测特效加载好后再加入效果即可。

2.3、首帧占位体验优化

第一帧展示前可以使用上一次关闭高斯模糊图来占位,这样体验比纯黑色效果好很多,可参考微信朋友圈相机。

3、采集预览流畅度优化

3.1、线程模型优化

把采集和视频特效放在同一个线程,随着特效功能越来越强,计算越来越重,会影响到最终的输出帧率。要优化可以改为多线程的方式,这里有下面几点需要注意:

1)使可并发的任务跑在不同的线程上:

2)使用缓冲区组合生产消费者模型,各个模块可以并行,而且性能兼容性更好:

这样一来,在采集后如果要继续做其他任务(比如编码、发送网络等)也能比较方便的接入。

3.2、采集与前处理数据交互优化

采集和前处理(AI 模型、图像处理、特效等)模块交互时,可以做下面几项优化:

3.3、减少 CPU 与 GPU 的数据拷贝

GPU 和 CPU 要尽量少做数据拷贝,性能比较差。可以使用系统能力来实现 GPU 和 CPU 的内存共享来做相关的优化。

比如在 iOS 上,使用设置了 kCVPixelBufferIOSurfacePropertiesKey 属性的 CVPixelBufferRef 是可以支持 GPU 和 CPU 共享内存的。从相机采集出来的、从 VideoToolbox 解码出来的 CVPixelBufferRef 都具有这个属性,所以通常来讲使用系统的 API 时,你并不太需要操心这个问题。

如果你要自己创建一个图像来进行渲染,还希望能读出其数据做其他处理,并且希望支持 GPU 和 CPU 共享内存,可以参考下面这篇文章:Rendering to a texture with iOS 5 texture cache api[1]

3.4、不同设备智能选择分辨率和帧率

通常低端机效果较多情况下选择 1080P + 30FPS 会比较卡,影响用户体验,如何选择合适的分辨率和帧率则尤为重要。

4、采集画面质量优化

画面采集质量,比如清晰度、亮度等指标对于最终视频观看的体验尤为重要,可通过以下几点尝试提高画质:

4.1、对焦优化

可智能选择人脸自动对焦或者手动对焦,防止曝光不合理影响画质。下面的对焦策略,可以参考:

4.2、摄像头模糊优化

很多手机在使用中可能会出现镜头被弄脏的情况,这时候采集处理的画面质量自然就比较模糊了,针对这种情况可通过算法检测预览画面是否模糊,并提示用户清洁一下摄像头来解决清晰度的问题。

4.3、画质增强优化

对于采集后的图像还可以通过算法进行画质增强。

音视频知识图谱 2022.09中就介绍了部分图像降噪和增强相关的算法分类,这里就不深入探讨了。

5、采集内存优化

优化相机内存占用大小,有利于减少内存 OOM 问题导致的崩溃。在不同的平台,可以选择恰当的采集数据输出格式来优化内存使用:

1)iOS 采集数据输出格式

输出格式可配置为 BGRA & YUV,尽量设置为 YUV 数据格式,可以减少 width * height * 2.5 数据大小。

2)Android 采集数据输出格式

安卓因为支持 Camera1 & Camera2 两种模式,通常根据线上大数据决定当前设备启用哪种模式。

参考资料

[1]

Rendering to a texture with iOS 5 texture cache api: allmybrain.com/2011/12/08/…

- 完 -

推荐阅读

音视频生产关键指标:视频发布优化 |音视频工业实战

上一篇 下一篇

猜你喜欢

热点阅读