当前位置:   article > 正文

鸿蒙开源全场景应用开发——视频编解码_鸿蒙视频压缩

鸿蒙视频压缩

背景

        面对鸿蒙这一全新的生态,广大消费者在积极尝鲜的同时,家中不可避免会出现安卓设备和鸿蒙设备并存的现象,短期内可能不会形成全鸿蒙的生态环境。因此,在未来的一段时间内,鸿蒙设备和安卓设备共存的现象会比较普遍。那么为了给用户带来更加流畅的全场景体验,鸿蒙和安卓设备之间的交互就显得格外重要。

家庭合影美颜相机

        家庭合影美颜相机应用是同时基于鸿蒙和安卓设备的应用,可以实现鸿蒙大屏借助安卓手机的能力进行美颜拍照的功能,其中安卓端使用了GitHub上的开源项目。具体来说,此应用能够将鸿蒙大屏拍摄的视频数据实时传输到安卓手机上;并在安卓端为其添加滤镜,再将处理后的视频数据传回到鸿蒙大屏进行渲染显示,从而达到鸿蒙大屏进行美颜拍照的功能,其效果可以参考下图1:

鸿蒙开源全场景应用开发——视频编解码-鸿蒙HarmonyOS技术社区

图1 家庭合影美颜相机应用的效果示意图

        应用运行后的动态场景效果可以参考图2,图中上方横屏显示的是鸿蒙手机,下方竖屏显示的是安卓手机。此处需要说明的是,由于实验环境缺少搭载鸿蒙系统的大屏设备,因此我们使用鸿蒙手机替代大屏设备模拟实验场景。

鸿蒙开源全场景应用开发——视频编解码-鸿蒙HarmonyOS技术社区

图2 应用运行后的效果

        应用成功运行后的效果如下:

  • 在鸿蒙大屏设备上开启摄像头访问权限,点击主菜单界面的“点击发送大屏数据”按钮,即可将大屏拍摄到的视频数据通过RTP协议发送到安卓手机端。
  • 在安卓手机端点击主菜单界面的“GLCAMERAVIEW”按钮,即可接收上述鸿蒙大屏传来的视频数据,并将视频数据显示在手机屏幕上。
  • 安卓端在接收到视频后,会将数据实时渲染到手机屏幕上,用户可以选择给视频添加各种风格的滤镜;
  • 安卓端会通过RTP协议将添加滤镜后的视频数据传输到鸿蒙端进行显示。
    上述已经介绍过,此应用是同时基于鸿蒙和安卓设备的,因此在讲解此应用时不仅会包含鸿蒙相关知识,同时也会涉及到一些安卓方面的知识。此应用包含4个功能模块,可参考图3,分别是:视频编解码、通讯协议、美颜滤镜和视频渲染。其中每个模块都会涉及到不同的技术点,如视频编解码会涉及视频流格式和编解码器参数设置;通讯协议会涉及UDP、RTP协议等。后续我们的文章将会按不同模块进行讲解和发布,敬请期待!

鸿蒙开源全场景应用开发——视频编解码-鸿蒙HarmonyOS技术社区

图3 家庭合影美颜相机功能模块图

视频编解码应用案例解析

        本期文章将介绍视频编解码模块,视频编解码是视频处理的基础,鸿蒙平台为我们提供了强大的视频处理能力。为了更具体地讲解该模块功能,我们将家庭合影美颜相机应用中涉及实现视频编解码的代码独立拆分出来形成了一个视频编解码Demo,将在后续进行效果展示和实现原理讲解。相关代码已经开源到(https://gitee.com/isrc_ohos/cameraharmony),欢迎各位下载使用并提出宝贵意见!
        下面以拆分出来的视频编解码模块Demo为例,先向大家讲解鸿蒙视频编解码的具体实现原理,再对鸿蒙和安卓两者视频编解码的原理差异进行分析。

1、运行效果和代码结构

        视频编解码Demo的运行效果如图4所示。开始运行后,会获取摄像头的权限,然后会在界面中间的矩形区域显示摄像头拍摄到的画面,此时用户可以点击界面上的“开始编解码”按钮,即可在原始视频的下方的矩形区域中看到编解码后视频的渲染效果。

鸿蒙开源全场景应用开发——视频编解码-鸿蒙HarmonyOS技术社区

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/234620
推荐阅读
相关标签
  

闽ICP备14008679号