您的位置:首页 > 移动互联

OpenHarmony新音视频引擎——HiStreamer_OpenHarmony3.0线上发布会

发布时间:2022-07-14 12:05:08  来源:互联网     背景:

  OpenAtom OpenHarmony(以下简称“OpenHarmony”)是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。面对万物互联时代种类众多、且差异巨大的终端设备,我们为OpenHarmony打造了一款新的音视频引擎——HiStreamer。

  一、 HiStreamer产生背景

  数字多媒体技术在过去的数十年里得到了飞速的发展,音乐、电话、电视、电影、视频会议等等,伴随着我们度过每一天。为了给用户提供丰富的多媒体处理能力,业界已经有比较成熟的音视频引擎,比如开源的音视频引擎GStreamer。为什么我们还要打造一款新的音视频引擎呢?

  随着万物互联时代的到来,越来越多的智能化设备出现在我们的生活中。比如:智能冰箱可以通过屏幕和声音,告诉人们储藏的菜品快要过期了;智能闸机可以通过人脸识别,自动完成检票工作;智能门锁可以通过语音和视频,提升开锁的效率和安全性......

快手石榴姐

  与PC、手机等标准(Standard)设备不同,很多智能化设备的CPU处理能力比较弱、内存也比较小,传统的音视频引擎无法支持此类设备。HiStreamer应运而生,既支持轻量级的Mini/Small设备,也支持Standard设备(目前支持部分功能)。HiStreamer在不断发展和完善中,未来将会支持Standard设备的更多功能。

  二、 “管道+插件”,实现弹性部署

  为了支持Mini/Small/Standard设备,HiStreamer采用管道(Pipeline)和插件(plugin)的软件架构,从而可以根据设备的硬件和需求差异进行弹性部署。HiStreamer把音视频处理的每个过程抽象成节点,上一个节点的输出,作为下一个节点的输入,把多个节点连接起来,整体形成一个管道(Pipeline),完成音视频的数据读取、解封装、解码、输出的完整流程。同时,插件可以为Pipeline的节点提供丰富的扩展功能,让HiSteamer的音视频处理能力更强大。

  1. Pipeline框架介绍

  为了让大家理解HiStreamer的Pipeline框架,下面以MP3音频播放为例讲解:

  输入是一个MP3文件,输出是播放出的音乐,这中间经过了很多步骤。

  先来看一下MP3文件结构:

OpenHarmony3.0线上发布会

图1 MP3文件结构

  MP3文件由ID3 Metadata容器头和若干MP3 Frame(MP3数据帧)构成。每个MP3 Frame又由MP3 Header(MP3头信息)和MP3 Data构成。这一系列的MP3 Frame称为ES Data( Element Stream Data)。

  ● ID3 Metadata:容器头,主要包括标题、艺术家、专辑、音轨数量等。

  ● MP3 Header:包含MP3 Sync word(标识MP3数据帧起始位置)和MPEG版本信息等。

  ● MP3 Data:包含压缩的音频信息。

  播放MP3文件,首先需要把MP3文件数据读进来,然后去掉ID3 Metadata容器头(即解封装),再把一系列MP3 Frame解压缩成PCM(Pulse-Code Modulation)数据,最后驱动喇叭发声。这个过程按顺序可以抽象成如下四个节点:

OpenHarmony3.0线上发布会

图2 MP3音频播放的Pipeline

  1. 输入节点(MediaSourceFilter): 读取MP3原始数据,传给下一个节点。

制造业erp

  2. 解封装节点(DemuxerFilter): 解析ID3 Metadata容器头信息,作为后续节点的参数输入,并且把一帧帧MP3 Frame(即ES Data)传给后续的解码节点。

  3. 解码节点(AudioDecoderFilter): 把ES Data解码成PCM数据,传给输出节点。

乐视的竞争对手

  4. 输出节点(AudioSinkFilter): 输出PCM数据,驱动喇叭发声。

  由以上示例可知,HiStreamer通过Pipeline框架把音视频处理的每个过程抽象成一个个节点。这些节点是解耦的,可以灵活拼装,从而可以根据业务需要拼装出不同的Pipeline。同时,为了使多个节点能更好地协同工作,HiStreamer还支持节点间的参数自动协商。

  2. HiStreamer插件介绍

  了解了HiStreamer的Pipeline框架后,我们再来看看HiStreamer插件。

  HiStreamer的Pipeline框架的很多节点(比如输入节点、解封装节点、解码节点、输出节点等)都支持插件扩展。通过插件,节点的功能变得更加丰富、更加强大。

  插件的应用场景非常广泛,比如:

  ● 媒体格式非常多,且以后还会有新的格式产生,可以通过插件支持新的媒体格式。

  ● 不同OS平台或设备,处理方式存在差异,可以通过插件支持不同的处理方式。

  ● 不同类型的设备,需求不同,能提供的CPU/ROM/RAM资源多少也不同,也可以通过插件来支持。

萤石可视门铃如何关闭感应灯

  3. 弹性部署

  HiStreamer基于管道(Pipeline)和插件(plugin)的软件架构,可以根据设备的硬件和需求差异实现弹性部署。

OpenHarmony3.0线上发布会

图3 HiStreamer弹性部署

  如图3所示,Mini设备(比如音箱),它的CPU处理能力很弱,ROM/RAM资源很少,需要的功能也比较少,只需要音频播放功能。HiStreamer可以配置成只支持音频播放,并且选择轻量级的插件,配置同步解码模式,减少资源消耗。而Small设备,CPU处理能力强一些,ROM/RAM空间大一些,需要音频播放和视频播放功能。HiStreamer可以配置成支持音视频播放,并且选择功能更强的插件。

  三、HiStreamer逻辑架构

  经过上面的介绍,我们了解了HiStreamer的“管道+插件”的软件架构。下面我们再来看看HiStreamer的详细的逻辑架构。

OpenHarmony3.0线上发布会

图4 HiStreamer逻辑架构图

  HiStreamer主要由HiStreamer引擎和HiStreamer插件构成。

  其中,HiStreamer引擎又分为以下四层:

  ● 业务封装层:基于Pipeline封装实现播放器、录音机功能,简化上层应用使用。

  ● Pipeline框架层:提供Pipeline和若干个节点(输入、解封装、解码和输出)的实现,支持把多个节点连接在一起形成Pipeline。

  ● 插件管理层:用于插件生命周期管理,支持动态加载或静态链接两种方式使用插件。

  ● 工具库层:提供框架依赖的工具,隔离操作系统差异,提供调测功能。

  HiStreamer插件,则分为平台软件插件和厂商硬插件两类:

周鸿祎微创新

  ● 平台软件插件:由OpenHarmony平台提供,可跨产品复用的软件算法插件。

  ● 厂商硬插件:由厂商提供的基于硬件加速的插件,如硬件加速的编解码插件。

扎克伯格的婚姻

  应用开发者可以直接使用现成的插件来实现多媒体功能,节省大量的开发时间。插件越丰富,HiStreamer的音视频处理能力会更强大。OpenHarmony欢迎广大开发者参与HiStreamer插件的开发,一起来丰富HiStreamer插件!

  四、HiStreamer插件开发及实例

  下面就为大家介绍HiStreamer插件的开发过程及实例讲解,感兴趣的小伙伴们赶紧学起来,一起参与HiStreamer插件开发吧~

  1. 插件的开发

  HiStreamer插件的开发主要分为插件定义功能实现两个部分。

  (1)插件定义

  HiStreamer插件是通过PLUGIN_DEFINITION宏来定义的。以输入插件FileSource为例,定义代码如下:

OpenHarmony3.0线上发布会

  使用PLUGIN_DEFINITION宏定义插件(即上面最后一行代码)时,传入了四个参数:

  a) 插件名称:即示例中的“FileSource”。

  b) License信息:即示例中的“LicenseType::APACHE_V2”。

  c) 插件注册函数:即示例中的“FileSourceRegister”,该函数描述了插件基本信息,包括插件对象创建函数,并且还调用AddPlugin把插件注册到系统中。

  d) 插件反注册函数:可以传为空实现。

  (二)功能实现

  实现插件功能时,需根据要实现的插件类型,继承对应插件接口类,并实现相关接口。比如实现输入插件FileSource,需要继承SourcePlugin,并实现SetSource、Read等接口,代码如下:

OpenHarmony3.0线上发布会

  FileSource插件的完整代码可参考码云平台OpenHarmony项目:

  https://gitee.com/openharmony/multimedia_histreamer/tree/master/engine/plugin/plugins/source/file_source

  2. 插件的部署

  使用PLUGIN_DEFINITION定义的HiStreamer插件,可以是单一功能的插件,也可以是有多个功能的插件包。每个这样的插件或插件包,可以独立编译成.a或者.so,分别对应以下两种部署方式:

  ● 静态部署:一般用在mini设备上,插件编译成静态库.a,链接到系统中。

  ● 动态部署:一般用在small/standard设备上,插件编译成动态库.so,放到系统指定目录下,动态加载运行。

  3. 插件的运行

  插件开发完成且部署到系统之后,HiStreamer启动时就会自动完成插件的注册。下一步,就是运行插件了。

  运行新实现的插件,需要先满足该插件的运行条件。比如:FileSource只会在播放本地文件时运行;MP3解码插件只会在播放MP3文件时运行......

  开发者可以通过日志信息,查看是否运行了自己的插件。如果有别的插件注册到系统中,导致自己的插件无法运行时,可以卸载引起干扰的插件。卸载动态部署的插件,删除对应的.so即可;卸载静态部署的插件,需要修改编译脚本取消对应插件的编译。

  五、结束语

  OpenHarmony欢迎广大开发者一起加入HiStreamer插件开发,扩展自己想要的媒体功能,共同丰富HiStreamer媒体生态!

小米11Pro保护壳

  同时,预告大家: HiStreamer的下一个版本将为Standard设备增强更多功能,敬请期待!

  本期关于HiStreamer的介绍就到这里了,想要了解更多HiStreamer的信息,请参考码云平台OpenHarmony项目:

  https://gitee.com/openharmony/multimedia_histreamer


返回网站首页

本文评论
小米企业的品牌定位_新logo、新定位,小米集团旗下通信服务品牌全面升级
  1月17日,小米集团旗下通信服务品牌:小米移动,官宣品牌升级。希望在新的发展阶段,以全新的品牌形象、定位和更优质的服务连接广大通信用户。持续以“用户中心”思维打造...
日期:04-05
“东方风起”扬帆劲 跃迁发展写新篇——猛士科技、岚图汽车、东风技术中心与中汽创智战略签约
  7月14-15日,以“创智擎•东风行”为主题的2022中汽创智技术日活动在东风汽车集团有限公司(以下简称“东风汽车”)技术中心举行。来自中汽创智科技有限公司(以下简称“中...
日期:07-25
第五届移动互联网博览会_互联网大会中国移动展区绽放无限精彩
  —5G亚运观赛怎么玩?云游戏也能点播?5G消息活起来?  摇橹船推开碧波,秋风撩起印花布,乌镇又被一场互联网盛会推到了世界聚光灯下。2021年世界互联网大会乌镇峰会于9月26日...
日期:07-27
大中小企业融通创新,智能家居产业链赛道赛圆满落幕
  8月24日,以“你的生活智慧,我的智慧生活”为主题的第七届“创客中国”智能家居产业链赛道赛决赛在青岛举行。来自智慧养老、智能语音、智慧浴室、人体感知系统、睡眠监测...
日期:08-26
一站式多件换新至多补2040元 享服季京东手机服务节让你省心又舒心
  手机作为大多数消费者最常用的电子产品,其使用体验与商家提供的服务息息相关,甚至可以说,想要买得放心用得省心,完善的售前售中售后服务必不可少。为进一步提升消费者的使用...
日期:07-28
超融合一体流式引擎,打造分布式数据库新纪元 亚信科技发布AntDB V7.2数据库
  12月28日,“数智驱动 全栈赋能”亚信科技2022年度系列产品发布会“数据库专场”线上成功举办,亚信科技重磅发布“超融合一体流式引擎”的AntDB V7.2数据库,并分享了在通信...
日期:12-29
摩尔线程MTT S系列GPU与中望二三维CAD Linux产品完成适配认证,助力用户提高设计效率
  近日,摩尔线程MTT S系列GPU与中望二三维CAD Linux版产品完成兼容性认证。经摩尔线程和中望软件双方团队的共同严格测试,中望CAD Linux、中望3D Linux、中望CAD机械版Linu...
日期:07-13
明星产品、千元券包,联想寒促全攻略剧透
  生活需要惊喜与刺激,辛苦一年,也是时候给自己一点奖励了。12月16日联想寒促正式开启,多重惊喜劲爆来袭,下手你心水的科技好物就是现在!相较于往年,今年的福利更加简单粗暴,券...
日期:07-25
京东11.11预售开启 京东电器宠粉福利大放送PLUS会员享折上折_京东超级宠粉日活动
  10月20日晚8点,京东11.11预售将正式开启。为了让大家都能买到价优高品质的正品,京东电器11.11期间,给广大用户推出了超值优惠,买爆款手机抢2021元神券、京东电脑数码、京东...
日期:07-27
吸擦一体/激光探测/机身弯折 吸尘器“黑科技”实用性大排行「激光吸尘设备」
  吸尘器可以说是目前清洁家电中炙手可热的品类,已经成为人们打扫室内卫生必备的“清洁神器”。随着生活方式和消费方式升级,吸尘器在中国家庭普及速度加快,据中怡康数据显示...
日期:07-29
MacBook很出色但还不够,ThinkPad用品质与服务定义“真商务”_办公买mac还是thinkpad
近日,ThinkPad官方微博发布了一条视频,引发了不少用户的关注。这条视频以当下常见的混合办公场景为例,展示了ThinkPad搭载的AI降噪麦克风在远程沟通时的优势;而视频前半部分主角...
日期:10-09
天生青春,大有可为——芒果TV三星版重磅上线_芒果tv天生青春宣传片
  三星与芒果TV在今年2月份签订了战略合作协议,双方强强联手将三星的智能硬件资源与芒果TV丰富的视频内容联合,打造定制化的视频服务,旨在为用户提供差异化的视频服务体验...
日期:07-14
国货潮品新高度 北通联合变形金刚IP闪耀广州塔!
  2021年10月23日晚,北通联合变形金刚IP惊艳亮相广州塔。在400米的高空上,北通品牌Logo、变形金刚联动IP、经典标语“神操作用北通”徐徐展现。国货之光,闪耀广州地标!上汽大...
日期:07-26
革命性存储架构问世 西部数据全新OptiNAND技术解决方案解析
  西部数据作为全球唯一同时拥有HDD技术和NAND闪存技术的高科技公司,在全球存储行业拥有极为领先的技术创新能力和技术储备,其在近期举办的HDD Reimagine大会上宣布推出了全...
日期:07-28
第4届亚洲肌肤抗衰峰会成功举办,雅萌开启家用美容仪医研共创3.0时代
  2022年9月23日,由高端美容仪品牌雅萌YA-MAN主办,中国非公立医疗机构协会皮肤专业委员会为学术指导单位的“2022年第4届亚洲肌肤抗衰峰会”在杭州顺利落幕。峰会现场,雅...
日期:09-26
联手中国航天太空创想,小天才陪伴孩子探索星辰大海_追寻航天梦想
  在人类历史长河里,对于太空的探索从未停止过。而随着天舟四号、神舟十四号的成功“升天”,中国空间站也在大力建设,中国航天事业再进一步。中国航天的这种探索精神,与小天才...
日期:01-15
新势力造车深度发力电商网络,小鹏汽车首次牵手天猫超级品牌日
  作为新势力造车的主力军,小鹏汽车在9月15日首次携手天猫超级品牌日,深度拥抱电商新零售,共同探索未来出行新方式。  9月15日小鹏汽车天猫超级品牌日开启当天,【小鹏P5...
日期:07-27
三星Galaxy Z Fold4轻薄的关键 创新分离式铰链详解_三星折叠fold3
  依托于技术的不断成熟,近年来折叠屏手机开始向“主力机型”发展,成为了更多消费者追求的生活方式和换新选择。日前,作为折叠屏手机开拓者和领跑者的三星推出了旗下第四代折...
日期:10-09
碳氧护眼灯登上学习桌,帮助学习、呵护眼睛两不误
  物联网已经不是新鲜的事情了,智能音箱、智能体重秤,甚至智能冰箱,智能家居大大便利了我们的生活。可在学习桌上,很多孩子还在使用“原始的”传统台灯,仅有调节灯光亮度一项功...
日期:07-25
2022 ICT深度观察报告会|营口市代市长姚华明:共建工业互联网 赋能地方产业发展
  2021年12月24日,2022 中国信通院ICT+深度观察报告会分论坛——“数字引领,携手共筑未来之城”在云端成功举办。  中国信息通信研究院(以下简称“中国信通院”)胡坚波副...
日期:07-25