Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
GhostESP — 面向 ESP32 的开源无线研究平台。 | Kitploit
工具/GitHubGitHub/ghostesp-revival/ghostesp
嵌入式系统安全Wi-Fi审计蓝牙安全物联网安全RFID/NFC工具信息收集网络安全无线安全硬件黑客渗透测试红队
GitHub
8941472天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
ghostesp-revival/ghostesp

GhostESP

面向 ESP32 的开源无线研究平台。

查看仓库网站

ESP_AUDIO_CODEC

ESP Audio Codec 组件是由乐鑫为其系列 SOC 开发的官方音频编码与解码处理模块。

ESP Audio Encoder 提供了统一的编码接口,允许注册多个编码器,如:AAC、AMR-NB、AMR-WB、ADPCM、G711A、G711U、PCM、OPUS、ALAC。用户可以基于这些编码接口创建一个或多个编码实例,这些实例可同时进行编码。同时,用户也可以直接调用指定的编码器 API,以减少调用层级。

ESP Audio Decoder 同样提供了统一的解码接口,允许注册多个解码器,如:AAC、MP3、AMR-NB、AMR-WB、ADPCM、G711A、G711U、VORBIS、OPUS、ALAC。用户可以使用这些接口创建一个或多个解码实例,这些实例可同时进行解码。同时,也可以直接调用某一指定解码器的 API 以减少调用深度。ESP Audio Decoder 仅支持音频帧级别的数据处理(即输入数据必须是帧边界对齐的数据)。

为了简化音频帧的解析与定位,我们设计了 ESP Audio Simple Decoder。它通过内置解析器自动完成数据聚合、帧边界检测和帧结构化处理,随后由 ESP Audio Decoder 执行实际解码。用户可以输入任意长度的数据。支持的容器和格式包括:AAC、MP3、WAV、FLAC、AMR-NB、AMR-WB、M4A。

第三方版权许可记录在 版权和许可。

亮点

  • 统一且易用的接口
    ESP Audio Codec 模块提供统一的接口设计,使用简便,便于快速集成和调用。

  • 轻量化与高性能
    该模块针对核心编解码算法做了深度汇编优化,实现高性能同时保持轻量级和低内存占用。

  • 双层解码 API
    系统提供两类解码器以满足不同数据输入模式,两类解码器的 API 设计保持一致,便于用户在不同模式间平滑切换。

    • 对于已按帧边界切分的数据,可直接使用 ESP Audio Decoder。
    • 对于任意长度、未对齐帧的数据,可使用 ESP Audio Simple Decoder 自动完成帧检测与拼接。
  • 高度可定制的注册机制
    通过注册 API,用户可以轻松添加自定义的解码器、编码器或 Simple Decoder,也可在无需修改应用层代码的情况下替换默认的编码器与解码器,实现高度灵活的功能扩展与定制化。

功能特性

ESP Audio Codec 支持以下功能特性:

编码器

  • 支持以下编码器:
    • AAC
    • AMR-NB 和 AMR-WB
    • ADPCM
    • G711A 和 G711U
    • PCM
    • ALAC
    • OPUS
    • LC3
    • SBC
    • G722
  • 支持所有编码器均可通过统一 API 操作,参见 esp_audio_enc.h
  • 支持通过 esp_audio_enc_register 注册自定义编码器或覆盖默认编码器
  • 支持通过 esp_audio_enc_register_default 注册所有支持的编码器,并通过 menuconfig 进行管理

支持的编码器详细信息如下:
AAC

  • AAC-LC 编码
  • 采样率 (Hz):96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000
  • 声道数:单声道、双声道
  • 采样位宽:16 位
  • 恒定比特率(Kbps):[12, 160]
  • 可选择是否写入 ADTS 头

AMR

  • 窄带 (NB) 和宽带 (WB)
  • AMRNB 采样率为 8 kHz
  • AMRWB 采样率为 16 kHz
  • 声道数:单声道
  • 采样位宽:16 位
  • AMRNB 比特率 (Kbps):4.75, 5.15, 5.9, 6.7, 7.4, 7.95, 10.2, 12.2
  • AMRWB 比特率 (Kbps):6.6, 8.85, 12.65, 14.25, 15.85, 18.25, 19.85, 23.05, 23.85
  • 不连续传输 (DTX)

ADPCM

  • 支持所有采样率
  • 声道数:单声道、双声道
  • 采样位宽:16 位

G711

  • 支持 A-LAW 和 U-LAW
  • 支持所有采样率
  • 支持所有声道数
  • 采样位宽:16 位

OPUS

  • 采样率 (Hz):8000, 12000, 16000, 24000, 48000
  • 声道数:单声道、双声道
  • 采样位宽:16 位
  • 比特率编码(Kbps): [20, 510]
  • 编码帧时长 (ms):2.5, 5, 10, 20, 40, 60, 80, 100, 120
  • VoIP ,音乐和低延迟应用模式
  • 编码复杂度:[0, 10]
  • 带内前向纠错 (FEC)
  • 不连续传输 (DTX)
  • 可变比特率 (VBR)

ALAC

  • 采样率(kHz):[1, 384]
  • 声道数:[1, 8]
  • 采样位宽:16, 24, 32 位

SBC

  • 采样率 (Hz):16000, 32000, 44100, 48000
  • 声道模式:单声道、双声道、立体声、联合立体声
  • 采样位宽:16 位
  • sbc 模式:标准、msbc
  • 块长度:4, 8, 12, 16
  • 子带数:4, 8
  • 分配方法:响度、信噪比
  • 比特池范围:[2, 250]

LC3

  • 采样率 (Hz):8000, 16000, 24000, 32000, 44100, 48000
  • 支持所有声道数
  • 采样位宽:16, 24, 32 位
  • 帧时长:75, 100 dms
  • nbyte 范围:[20, 400]
  • 支持在每个编码帧前添加 2 字节长度字段

G722

  • 采样率 (Hz):8000, 16000
  • 声道数:单声道
  • 采样位宽:16 位
  • 比特率 (bps):48000, 56000, 64000
  • 支持 48 kbps 和 56 kbps 下的打包模式
  • 可配置帧时长

解码器

  • 支持以下解码器:
    • AAC
    • MP3
    • AMR-NB 和 AMR-WB
    • ADPCM
    • G711A 和 G711U
    • OPUS
    • VORBIS
    • FLAC
    • ALAC
    • SBC
    • LC3
    • G722
  • 支持通过统一接口操作,参见 esp_audio_dec.h
  • 支持通过 esp_audio_dec_register 注册自定义解码器或覆盖默认解码器
  • 支持通过 esp_audio_dec_register_default 注册所有支持的解码器,并通过 menuconfig 进行管理

支持的解码器详细信息如下:
AAC

  • 支持 AAC-LC、HE-AAC、HE-AACv2
  • 支持配置是否启用 AAC-Plus 以降低资源消耗
  • 采样率 (Hz):96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000
  • 声道数:单声道、双声道
  • 采样位宽:16 位
  • 支持有 / 无 ADTS 头文件

AMR

  • AMRNB 采样率: 8 kHz
  • AMRWB 采样率: 16 kHz
  • 声道数:单声道
  • 采样位宽:16 位

ADPCM

  • 支持所有采样率
  • 声道数:单声道、双声道
  • 采样位宽:16 位
  • 支持 IMA-ADPCM

G711

  • 支持 A-LAW 和 U-LAW
  • 支持所有采样率
  • 支持所有声道数
  • 采样位宽:16 位

OPUS

  • 采样率 (Hz):8000, 12000, 16000, 24000, 48000
  • 声道数:单声道、双声道
  • 采样位宽:16 位
  • 支持自分隔包解码

ALAC

  • 采样率 (kHz):[1, 384]
  • 声道数:[1, 8]
  • 采样位宽:16, 24, 32 位

FLAC

  • 采样率(kHz):[8, 192]
  • 声道数:[1, 8]
  • 采样位宽:16, 24, 32 位

VORBIS

  • 采样率 (Hz):48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000
  • 声道数:单声道、双声道
  • 采样位宽:16 位
  • 仅支持解码 VORBIS 帧,需要移除 OGG 头
  • 用户需要首先提供通用头信息

SBC

  • 采样率 (Hz):16000, 32000, 44100, 48000
  • 声道:单声道、双声道
  • 采样位宽:16 位
  • sbc 模式:标准、msbc
  • 支持丢包隐藏 (PLC)

LC3

  • 采样率 (Hz):8000, 16000, 24000, 32000, 44100, 48000
  • 全范围声道
  • 采样位宽:16, 24, 32 位
  • 帧时长:75, 100 dms
  • nbyte 范围:[20, 400]
  • 支持带 2 字节长度前缀的数据
  • 支持丢包隐藏 (PLC)

G722

  • 采样率 (Hz):8000, 16000
  • 声道数:单声道
  • 采样位宽:16 位
  • 比特率 (bps):48000, 56000, 64000
  • 支持打包模式解码

简单解码器

  • 支持帧查找与解码
  • 支持通用解析器,用户可以根据解析器规则添加自定义解析器
  • 支持自定义简单解码器以处理新文件格式
  • 支持自定义解析器和解码器对:使用默认解析器但使用自定义解码器
  • 仅支持流式解码,不支持 seek

支持的音频容器详细信息如下:

性能

以下结果在 ESP32-S3R8 平台上测试和收集。可以通过运行测试代码中的 Encode to Decode chain test 来获取数据,示例日志输出如下:

root@kitploit:~
I (12599) CODEC_TEST: Start to do chain test for AAC sample_rate 48000 channel 2
I (12879) DEC_TEST: Encoder for AAC cpu: 12.91%
I (12880) DEC_TEST: Encoder AAC compress ratio: 5.86% heap usage: 51400
I (12914) DEC_TEST: Decode for AAC cpu: 6.75% heap usage: 51168

要获取其他采样率、声道数或复杂度下的性能,请在测试代码中更改参数(主要位于函数 chain_test_thread 和 get_encoder_config 中)。

编码器

说明:
编码器 CPU 使用率高度依赖于某些编码设置(如比特率或复杂度)

  1. 对于 AAC 编码器测试,比特率设置为 90kbps
  2. 对于 AMR-NB 和 AMR-WB 编码器测试,比特率设置为:
    • AMR-NB: 12.2kbps
    • AMR-WB: 8.85kbps
  3. 对于 OPUS 编码器测试,比特率设置为 90kbps,复杂度设置为 0
  4. 内存使用统计说明:
    • 仅统计堆内存(Heap)使用情况,不包含栈内存(Stack)
    • 若需要支持所有编码器,建议运行时栈空间配置约 40k

解码器

说明:

  1. MP3 和 FLAC 解码器使用真实音频数据测试。其他解码器使用由正弦波 PCM 信号编码生成的数据进行测试
  2. 对于 AAC 解码器,测试文件以 AAC-LC 文件编码,解码 AAC-Plus(HE-AAC) 文件将具有更高的内存和 CPU 使用率
  3. 内存使用统计说明:
    • 仅统计堆内存(Heap)使用情况,不包含栈内存(Stack)
    • 若需要支持所有解码器,建议运行时栈空间配置约 20k

ESP_AUDIO_CODEC 版本发布与 SoC 兼容性

下表显示了 ESP_AUDIO_CODEC 对乐鑫 SoC 的支持情况。"✔" 表示支持,"✖" 表示不支持。

使用方法

编码器使用

示例用法请参考 audio_encoder_test.c

解码器使用

示例用法请参考 audio_decoder_test.c

简单解码器使用

示例用法请参考 simple_decoder_test.c 自定义解析器和解码器的用法请参考 simple_decoder_cust.c

下载工具
音频容器说明
AAC支持通过配置控制 AAC-Plus
MP3支持第 1、2、3 层
AMRNB仅支持带 AMRNB 文件头的文件
AMRWB仅支持带 AMRWB 文件头的文件
FLAC仅支持带 FLAC 文件头的文件
ADPCM仅支持 IMA-ADPCM
WAV支持 G711A、G711U、PCM、ADPCM
M4A支持 MP3、AAC、ALAC
仅支持 MOOV 之后的 MDAT
TS支持 MP3、AAC
G711支持 G711A、G711U
SBC支持 SBC 和 MSBC
LC3支持 LC3
OPUS仅支持原始 opus
PCM仅支持原始 pcm
ALAC仅支持原始 alac
OGG支持 VORBIS、OPUS、FLAC
VORBIS仅支持原始 vorbis
编码器编解码器采样率 (Hz)声道数内存 (KB)CPU 占用 (%)
AAC48000251.412.9
G711-A800010.060.32
G711-U800010.060.33
AMR-NB800013.317.81
AMR-WB1600015.637.69
ADPCM4800020.012.69
OPUS48000229.424.9
SBC4800021.859.55
LC34800023.6746.57
G72216000120.89.74
解码器编解码器采样率 (Hz)声道数内存 (KB)CPU 占用 (%)
AAC48000251.26.75
G711-A800010.040.14
G711-U800010.040.13
AMR-NB800011.84.23
AMR-WB1600015.49.5
ADPCM4800020.112.43
OPUS48000226.65.86
MP3441002288.17
FLAC44100289.48.0
SBC4800020.218.14
LC34800021.3617.5
G7221600010.559.21
VersionESP32ESP32-S2ESP32-S3ESP32-C2ESP32-C3ESP32-C5ESP32-C6ESP32-P4ESP32-H4ESP32-S31
v1.0.0✔✔✔✖✔✖✖✖✖✖
v2.0.0✔✔✔✖✔✖✔✔✖✖
v2.1.0✔✔✔✔✔✔✔✔✖✖
v2.2.0✔✔✔✔✔✔✔✔✖✖
v2.3.0✔✔✔✔✔✔✔✔✔✖
v2.4.0✔✔✔✔✔✔✔✔✔✖
v2.5.0✔✔✔✔✔✔✔✔✔✔