乐鑫通用多媒体框架指南
概述
ESP-GMF(Espressif General Multimedia Framework)是乐鑫为 IoT 多媒体应用打造的轻量级通用软件框架。框架以模块化的处理单元(element)为基本单元,把数据流式处理拆解为可独立开发、可任意组合的工作单元;运行时由处理链(pipeline)串接处理单元、由执行线程(task)调度执行,整套 GMF-Core 在 IoT 芯片上的运行内存仅需约 7 KB。除音频处理外,框架同时支持图像、视频与任意流式数据的处理场景。
主要特性
轻量适配 IoT:面向资源受限的 ESP32 系列芯片设计,GMF-Core 运行时内存约 7 KB
多领域覆盖:在同一框架内统一音频、视频、图像与通用流式数据的处理
模块化组合:以处理单元为单元,按需拼装功能或扩展自定义处理单元与外部接口(IO)组件
易于开发:既能快速完成简单播放链路,也能扩展到多路混音、AI 语音、视频合成等复杂场景
组件丰富:内置音频编解码、视频编解码、AI 前端等高级应用组件
生态友好:构建在 ESP-IDF 与 Espressif Component Registry 之上,与既有组件生态互通
系统模块
ESP-GMF 包含以下四个主要模块,按依赖层级自底向上排列:
GMF-Core:框架基础,提供处理链管理、任务调度、数据流控制等基础设施。包含处理单元、处理链、执行线程、数据总线(data bus)、注册池(pool)等基本对象。绝大多数应用通过更上层的组件间接使用 GMF-Core,扩展框架或编写自定义处理单元时直接面向 GMF-Core 编程
Elements:基于 GMF-Core 实现具体功能的中间层组件,包含以下子模块:
gmf_audio:音频编解码与效果gmf_video:视频编解码与图像效果gmf_io:文件 / 网络 / 闪存 / 编解码设备 IOgmf_ai_audio:唤醒词、命令词、AEC 等 AI 前端处理算法gmf_misc:杂项工具
Packages:面向特定应用场景的高级封装,把多个处理单元组装为常见多媒体业务流程,包含以下子模块:
esp_audio_simple_player:简易音频播放器esp_capture:多媒体采集esp_audio_render:多路混音渲染esp_video_render:视频合成与显示 / 多路视频 / UI 合成esp_bt_audio:经典蓝牙与 LE Audio 音频esp_asrc:音频采样率 / 位深 / 声道转换esp_board_manager:板级管理gmf_loader:GMF 加载器gmf_app_utils:应用辅助工具gmf_fft:FFT 运算组件
GMF-Examples:演示如何使用 ESP-GMF 实现多种示例工程,覆盖音视频播放与录制、蓝牙音频、AI Agent 等多种场景
与 ESP-ADF 的关系
ESP-GMF 演化自 ESP-ADF(Espressif Audio Development Framework)中的 audio_pipeline 模块,把处理链架构独立出来并扩展到视频、图像与通用流式数据。两者定位上的差异:
ESP-ADF 是面向多媒体应用的功能性仓库,
master分支作为后续主线,基于 ESP-GMF 提供组件,为客户提供产品级方案案例ESP-GMF 提供处理链架构,灵活支持音频、视频、图像与任意流式数据


