背景
上期内容提到过,已开发的家庭合影美颜相机应用是同时基于鸿蒙和安卓设备的,我们将对其4个功能模块即视频编解码、视频渲染、通讯协议和美颜滤镜进行拆分讲解。上一期内容中,我们对视频编解码模块的实现原理进行了解析。本期将继续为大家讲解视频渲染模块,并解析鸿蒙视频渲染相关类之间的关系。相关代码已经开源到Gitee(https://gitee.com/isrc_ohos/cameraharmony),欢迎各位下载使用并提出宝贵意见!
家庭合影美颜相机应用效果回顾
先来带家一起回顾下上期内容讲解的家庭合影美颜相机应用。此应用能够将鸿蒙大屏拍摄的视频数据实时传输到安卓手机上;并在安卓端为其添加滤镜,再将处理后的视频数据传回到鸿蒙大屏进行渲染显示,从而实现鸿蒙大屏美颜拍照的功能,其流程可以参考图1,其数据流向图可以参考图2:
图1 家庭合影美颜相机应用的效果示意图
图2 美颜相机应用视频数据流向图
应用运行后的动态场景效果可以参考图3,图中下方竖屏显示的是安卓手机,上方横屏显示的是鸿蒙手机(由于实验环境缺少搭载鸿蒙系统的大屏设备,因此我们使用鸿蒙手机替代大屏设备模拟实验场景 ),其显示的是视频解码后渲染的效果。
图3 应用运行效果图
SurfaceProvider视频渲染解析
在鸿蒙中,SurfaceProvider是专门用于绘制图像视图的组件,作为基本组件之一,它通常被用于需要快