直播疑难杂症排查(10)— 直播功耗高
1. 问题现象 直播过程中手机发热严重,耗电快。 2. 问题排查 导致手机功耗高,发热严重的根本因素,无外乎就是一点:CPU/GPU 占用率高,所以,我们首先要分析下,哪些因素会导致 CPU/GPU 占用率高。 2.1 数据量太大 直播主要由:视频采集 -> 视频处理(剪裁、美颜、滤镜) -> 编码 -> 推流 这些环节组成。 在这整个流程中,决定数据量大小的因素有哪些呢 ? - 视频的尺寸(例如:1280 x 720 的图像,明显要比 320 x 240 的图像处理起来费劲) - 视频的帧率(例如:每秒 30 帧,明显要比每秒 15 帧,处理起来费劲) 因此,在不影响业务体验的情况下,适当减少视频的尺寸和帧率,是可以明显降低后续环节 CPU/GPU 的负荷的,从而显著降低功耗。 2.2 大量的格式转换 不同的模块对数据格式的要求,往往有差异,比如 Android 摄像头出来的数据大多是 NV21 的,而编码器一般要求 I420 格式的数据;再比如 ffmpeg 解码的视频往往是 YUV 格式,而渲染显示往往需要 RGB 格式,等等。 我们要尽可能减少不同格式之间的数...