#aac #mp4 #rodio #decoder #m4a

redlux

MPEG-4 (MP4, M4A等) 和 AAC 文件的 AAC 解码器,支持 rodio

7 个版本 (破坏性更新)

0.7.0 2023年6月4日
0.6.0 2023年2月4日
0.5.0 2022年4月5日
0.4.0 2021年6月9日
0.1.0 2021年2月1日

#710音频

Download history 14/week @ 2024-03-29 3/week @ 2024-04-05 2/week @ 2024-05-17 1/week @ 2024-05-24 3/week @ 2024-06-07 1/week @ 2024-06-14

每月下载 172 次

MIT 许可证

220KB
303

redlux

Crates.io Documentation

MPEG-4 (MP4, M4A等) 和 AAC 文件的 AAC 解码器,支持 rodio

使用 rust-mp4 读取 MPEG-4 容器,然后为它构造 ADTS 头部。使用 fdk-aac c-bindings 将 AAC 解码为 PCM。查看示例以了解如何与 rodio 一起使用。

支持 AAC-LC、HE-AAC v1 (SBR) 和 HE-AAC v2 (PS)。

注意事项

欢迎任何帮助解决这些问题的建议

  1. 它只能解码在 MPEG-4 容器中找到的第一个 AAC 轨道。
  2. 带有 CRC 的 MPEG 文件可能不受支持。
  3. 根据 此多媒体维基百科页面,ADTS 头部的 13 位用于指定帧长度,此数字必须包括 ADTS 头部本身。对于 8 声道音频,我假设帧长度可以是 8192 字节,如果我们再加上头部字节,那么它将超过 13 位能承载的范围。这是一个潜在的问题吗?
  4. 不清楚许可情况。fdk-aac 可以免费使用吗?需要 AAC 专利许可证吗?

开发说明

开始

安装 Rust

运行测试

cargo test

构建

cargo build

发布新版本

  1. 更新 CHANGELOG.md
  2. Cargo.toml 中增加版本号
  3. 运行 cargo test
  4. 运行 cargo publish
  5. 创建格式为 v#.#.# 的 git 标签
  6. 创建带有发布说明的 GitHub 发布

依赖关系

~9–36MB
~573K SLoC