写点什么

HarmonyOS 多媒体框架介绍

  • 2022-12-30
    上海
  • 本文字数:1866 字

    阅读完需:约 6 分钟

HarmonyOS多媒体框架介绍

随着科技进步,我们的生活发生了翻天覆地的变化。过去几年音视频技术发展迅速,直播行业异军突起,在社交、娱乐、教育、医疗等领域高歌猛进。当前,对音视频技术的需求又将到达一个新高度。


HarmonyOS 作为一款全新的面向全场景的分布式操作系统,不断创新,致力于为开发者提供更好、更高效的使用体验。接下来让我们一起学习了解下 HarmonyOS 中的多媒体框架的相关知识吧!


多媒体框架介绍结构:

相机(Camera)

播放(Player)

音频(Audio)

一、相机(Camera)


1、相机框架设计目标:简单易用、效果一致、性能优先


简单易用是指相机框架从面向用户、场景和一些功能的高级 API 的设计,去屏蔽一些底层复杂的硬件操作,从而简化应用层的编程。


效果一致是指相机框架通过对应用层接口的统一管控,以及对厂商扩展的归一,来确保对所有包含相机的应用提供同样的展示质量和效果。


性能优先是指相机框架通过内部软硬协同的设计,提升拍照启动、预览和拍照过程中的性能体验。


2、相机框架介绍:

如下图所示,左侧绿色模块是目前已经开源或者开放的能力。其中包含一些镜头管理能力,例如镜头查询、生命周期管理,除此之外,也将支持一些基础的预览、拍照和录像功能。



为了进一步降低拍照过程中对于前台资源的占用,后期将考虑提供开源和开放的离线拍照的架构设计。


从分层架构的角度,相机框架的框架层提供了开发者可以感知的 API 来简化编程,服务层主要通过一些高性能、高画质的设计,提升对开发者服务的质量和体验效果。


针对芯片适配层,对不同厂商的芯片适配接口提供归一的抽象,做比较兼容的设计,确保芯片厂商接入系统的时候花费最低的成本,同时也保证兼容性。


3、工作流程介绍:

下图是相机模块运行态的业务流程图。



当需要下发相机的命令时,无论是启动预览或者预览之后的其他命令,再或者是其他变量下发到底层系统的操作的命令,当接收到时,将会被转化为对底层的控制,然后再由相机框架通过一定方式将处理结果回传给应用和开发者。


如下图所示,此流程在代码实现上分为五个步骤:

第一步:创建工作 session;

第二步:配置输入镜头、输出流格式;

第三步:启动会话;

第四步:操作会话,变焦、聚焦等操作可在此步骤进行控制;

第五步:释放会话,此步骤用于释放所占用的系统资源。



二、播放(Player)


1、播放框架设计目标:低消耗、简单易用、灵活扩展


低消耗是指播放框架在播放资源的消耗和功耗上是最优的。

简单易用是指播放框架提供了两种接口形式:JS 和结合 ArkUI 提供的 UI 控件接口,便于开发者使用。

灵活扩展是指播放框架针对服务类目的引擎,可增强、可扩展、可替换。


2、播放框架介绍:

播放框架主要提供较为通用的,但控制能力丰富的音、视频的播放和录制功能。中间件的核心是基于引擎提供各种各样的服务的能力。



目前提供了两套引擎,分别是 GStreamer 引擎和 HiStreamer 引擎,功能都比较齐全。


在硬件适配层,即 HDF 层,提供兼容设计。播放框架内部轻量化的 Histreamer 引擎,基于传统的 pipeline,通过插件化机制增强相关的音视频的编解码和解析能力,该引擎最典型的特征就是小。当开发者使用的时候,播放 MP3,最低可做到 600K 以下。


另外引擎本身可跨多系统支持。除此之外,MP3,AAC,H264,HTTP,HLS 等当前常用的音频格式都是完全支持的,开发者可以通过一键化的方式灵活切换引擎。

三、音频(Audio)


1、音频框架设计目标:接口统一、效果一致、高性能、统一焦点控制和架构归一

接口统一是指同一套音频接口体系,支持不同场景的音频使用方式,例如音频低时延播放、高清音频和低功耗等。

效果一致是指音频框架提供给所有应用的一致性的效果体验。

高性能是指音频的低时延播放。

统一焦点控制是指音频框架对音频播放、录制的焦点的强管控。

架构归一是指音频框架适用于大、中、小的各种设备。


2、音频框架介绍:

音频框架主要采用 CS 的架构,支持多个音频同时运行。

音频模块分为三个,分别是 Audio Renderer、Audio Capturer、Audio Manager。

其中,Audio Renderer 提供了渲染音频文件和控制播放的接口,开发者可以通过本接口在输出设备中播放音频文件并管理播放任务。Audio Capturer 提供了获取原始音频文件的方法,开发者可以通过该接口调用实现对音频数据的采集。Audio Manager 提供了音频流类型、音量、音频设备管理等接口,开发者可以通过调用该接口实现对相关音频对象的管理。



以上是多媒体框架的相关介绍内容,如果您想了解更多关于 HarmonyOS 相关知识,请参考 HarmonyOS 应用开发平台(https:// developer.harmonyos.com/),那里有更多更详细的介绍,提供循序渐进的学习路径,便于开发者快速掌握相关知识,构建属于自己的 HarmonyOS 应用,我们期待您的加入。



用户头像

每一位开发者都是华为要汇聚的星星之火 2021-10-15 加入

提供HarmonyOS关键技术解析、版本更新、开发者实践和活动资讯,欢迎各位开发者加入HarmonyOS生态,一起创造无限可能!

评论

发布
暂无评论
HarmonyOS多媒体框架介绍_HarmonyOS_HarmonyOS开发者_InfoQ写作社区