用于嵌入式应用的音频 (MP3) 编解码器
我正在寻找一个基于软件的编解码器库,用于嵌入式应用程序(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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
看看 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.
免责声明、全面披露等:我目前在那里作为承包商工作。
其一,您只对解码器感兴趣还是对完整编解码器(解码器+编码器)感兴趣?
我想答案取决于你的具体情况。 如果您正在为您的嵌入式平台寻找完整的播放器,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.
Vorbis 编解码器是开源的,是 MP3 的良好替代品。
快速查看 OpenSL ES API 后,似乎已经定义了一些编解码器:
您可能应该了解您是否仅限于这些编解码器。
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:
You probably should find out if you are limited to those.
编码还是解码?
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.