用于嵌入式应用的音频 (MP3) 编解码器

发布于 2024-07-14 15:09:44 字数 368 浏览 7 评论 0原文

我正在寻找一个基于软件的编解码器库,用于嵌入式应用程序(C/C++)。 我对商业和免费编解码器库都感兴趣。 任何建议都会受到欢迎。

此外,如果您有使用 OpenSL ES 的经验,并且知道哪些软件/硬件解决方案是兼容的,我很高兴听到这个消息。

我需要支持流行的编解码器。 MP3是必须的。 我正在为嵌入式应用程序实现媒体播放器参考,不能只是告诉用户:“嘿,将所有音乐库转换为 Vorbis;这要好得多。” 强制支持 MP3 编解码器,但我很高兴找到一个更高级的库来处理更多编解码器(更多音频编解码器、视频编解码器等)

I'm looking for a software based codec library to be used in embedded application (C/C++). I'm interested in both commercial and free codec libraries. Any suggestion will be welcomed.

In addition, if you have any experience with OpenSL ES and know which software/hardware solutions are compatible, I would be glad to hear about it.

I need to support popular codecs. MP3 is a must. I'm implementing a media player reference for an embedded application and can't just tell the user: "Hey convert all your music library to Vorbis; it's much better." Support for the MP3 codec mandatory, but I would be glad to find a more advanced library handling more codecs (more audio codecs, video codecs, etc.)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

窝囊感情。 2024-07-21 15:09:44

看看 libvorbis,一个非常好的开源 BSD 音频编解码器。 还有一个名为 Tremor 的 vorbis 参考解码器,它仅使用整数运算,因此可以在没有浮点的架构上使用。

Take a look at libvorbis, an open source BSD audio codec that's quite good. There is also a reference decoder for vorbis named Tremor that uses only integer arithmetic, and thus can be used on architectures without floating point.

流绪微梦 2024-07-21 15:09:44

免责声明、全面披露等:我目前在那里作为承包商工作。

其一,您只对解码器感兴趣还是对完整编解码器(解码器+编码器)感兴趣?

我想答案取决于你的具体情况。 如果您正在为您的嵌入式平台寻找完整的播放器,NXP Software 可能是一个解决方案。 他们还提供其他应用程序,例如录音机。

Disclaimer, full disclosure, etc: I currently work there as a contractor.

For one, are you interested in just decoders or full codecs (decoders+encoders)?

I guess the answer depends on your exact situation. If you're looking for a full player for your embedded platform, NXP Software could be a solution. They provide other applications as well, such as a recorder.

恏ㄋ傷疤忘ㄋ疼 2024-07-21 15:09:44

Vorbis 编解码器是开源的,是 MP3 的良好替代品。

快速查看 OpenSL ES API 后,似乎已经定义了一些编解码器:

#define SL_AUDIOCODEC_PCM         ((SLuint32) 0x00000001)
#define SL_AUDIOCODEC_MP3         ((SLuint32) 0x00000002)
#define SL_AUDIOCODEC_AMR         ((SLuint32) 0x00000003)
#define SL_AUDIOCODEC_AMRWB       ((SLuint32) 0x00000004)
#define SL_AUDIOCODEC_AMRWBPLUS   ((SLuint32) 0x00000005)
#define SL_AUDIOCODEC_AAC         ((SLuint32) 0x00000006)
#define SL_AUDIOCODEC_WMA         ((SLuint32) 0x00000007)
#define SL_AUDIOCODEC_REAL        ((SLuint32) 0x00000008)

您可能应该了解您是否仅限于这些编解码器。

The Vorbis codec is open source and is a good alternative to MP3.

After taking a quick look at the OpenSL ES API, it seems there are already some codecs defined:

#define SL_AUDIOCODEC_PCM         ((SLuint32) 0x00000001)
#define SL_AUDIOCODEC_MP3         ((SLuint32) 0x00000002)
#define SL_AUDIOCODEC_AMR         ((SLuint32) 0x00000003)
#define SL_AUDIOCODEC_AMRWB       ((SLuint32) 0x00000004)
#define SL_AUDIOCODEC_AMRWBPLUS   ((SLuint32) 0x00000005)
#define SL_AUDIOCODEC_AAC         ((SLuint32) 0x00000006)
#define SL_AUDIOCODEC_WMA         ((SLuint32) 0x00000007)
#define SL_AUDIOCODEC_REAL        ((SLuint32) 0x00000008)

You probably should find out if you are limited to those.

眼泪都笑了 2024-07-21 15:09:44

编码还是解码?

LAME(mp3)和 FFmpeg(几乎所有其他内容,音频和视频)应该可以解决问题,尽管我相信带有 FFmpeg 的 Vorbis 编码器质量很差,并且您应该尽可能使用单独的编码器。 (我不知道这个建议是否仍然有效。)

免责声明:我最近阅读了很多有关编解码器的内容,但我还没有对它们做任何事情,所以我真的不知道我在说什么大约还没有。

Encoding or decoding?

LAME (mp3) and FFmpeg (almost everything else, audio and video) should do the trick, though I believe the Vorbis encoder with FFmpeg is poor quality, and you should use a separate one where possible. (I don't know whether this advice is still current.)

Disclaimer: I've been reading quite a bit about codecs recently, but I have not yet done anything with them, so I don't really know what I'm talking about yet.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文