在 Android 上使用 Opus 音频编码



我想将语音从Android应用程序流式传输到服务器,要求是使用Opus编码。出于某种奇怪的原因,Android似乎只支持解码,但不支持开箱即用的编码。通过一些研究,我所能找到的只是一些使用官方原生作品 C/C++ 代码的 git 存储库,并通过 jni 将其添加到 android 项目中。我想知道这是否仍然是最新的事态,或者现在是否有一种更简单的方法来使用它,因为所有这些回购都是 2+ 岁。任何链接或提示都值得赞赏。

首先,Opus 库是免费和开源的,因此您可以为 Andriod 编写自己的应用程序,该应用程序将从麦克风捕获音频,使用 Opus 编解码器对其进行编码,然后发送到您的服务器。

但是你确定要自己做饭吗?

已经存在的解决方案是WebRTC。Android上的Chrome浏览器完全支持WebRTC。 因此,它可以捕获语音,使用 Opus 编解码器对其进行编码,并发送到您想要的任何对等体 - 到另一个 Web 浏览器(在这种情况下,您不需要任何其他东西,除了一些公共 STUN/TURN 服务器(,或者到您自己的服务器软件,您可以使用本机 WebRTC c++ 库进行烹饪。

现成的服务器,免费和商业,为你支持这个,所以你不需要自己做饭:Red5,虚幻媒体服务器,Wowza。 所以发生的情况是:您将实时音频从 Android 上的 Chrome 浏览器发布到该媒体服务器软件;然后,媒体服务器可以将此流发送到一个或多个播放器进行播放,或发送到录音机进行录制,甚至在需要时发送到转码器进行转码。

最新更新