java - 如何从 Java 获取 Acoustid (Chromaprint) 来识别 mp3/m4a/etc

标签 java ffmpeg transcoding xuggler audio-fingerprinting

有没有人设法在 Java 应用程序中使用 acoustid (http://acoustid.org/chromaprint)?访问 chromaprint clib 应该很容易,但我不能只传入音频文件。我需要原始的未压缩音频数据。

我试过使用 xuggler 来获取未压缩的音频,但没有任何效果。基本上我不知道如何从 mp3/m4a/etc 等编码文件中获取原始音频

有没有人成功完成这项工作?有人介意分享他们的代码吗?

最佳答案

我建议您使用 fpcalc 命令行工具(包含在 Chromaprint 中,适用于 Windows/Mac/Linux 的二进制文件包含在该网站上),在您的 Java 应用程序的子进程中运行它。你得到这样的输出,应该很容易解析:

FILE=/path/to/file.mp3
DURATION=398
FINGERPRINT=AQADtEqkRIkkrQ...

这就是大多数程序集成 AcoustID 的方式,我相信这是最简单的方式。

关于java - 如何从 Java 获取 Acoustid (Chromaprint) 来识别 mp3/m4a/etc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14252432/

相关文章:

java - 如何通过网络传输大文件(文件大小>堆大小)?

iphone - iPhone 上全屏视频格式的正确尺寸是多少

php - 如何让视频播放速度更快?

utf-8 - SAS session 编码 LATIN1 对 unicode 字符失败

java - 操作 CSV 文件中的数据时出现问题 (JAVA)

java - 如何检查对象中的所有非原始元素是否为空

c++ - FFMpeg:从 AV_SAMPLE_FMT_S16 重采样到 AV_SAMPLE_FMT_FLTP 将比特率除以 2

iphone - 将 iPhone 摄像头直播到媒体服务器的最佳方式是什么?

java - Spring Boot - JSP 未渲染

android - 带有空格的文件路径的 FFMPEG 命令失败