1

我已经构建了一个小的应用引擎应用程序,可以让用户上传简短的录音。一些录音是在浏览器中使用https://github.com/mattdiamond/Recorderjs完成的,它会创建 wav 文件。为了节省空间,我想在将它们写入应用引擎数据存储之前将它们转换为 ogg,这样当我将录音回放给用户时,我使用的传出带宽会更少。

我怎样才能做到这一点?我四处搜索,显然有一个名为 oggenc 的命令行工具可以编码为 ogg——但我很确定我无法在应用程序引擎上安装它(或者,即使我可以安装它,也无法调用它)。

我在将音频从 getUserMedia() 编码到 JavaScript 中的 .OGG 中发现了一个类似的问题——这个链接到https://github.com/jpemartins/speex.js,这个项目看起来最终可能能够从wav 到 ogg 在 javascript 中(这会很棒),但是,据我所知,目前还没有这样做。在https://github.com/jpemartins/speex.js/issues/4,作者提到 WAV -> ... -> OGG 尚不可能。

我还应该尝试什么?

编辑:我的应用程序引擎代码是用 Python 编写的,因此另一种可能性是在那里进行转换,使用可以将 wav 转换为 ogg 的 python 模块。我认为http://pymedia.org/可以做到这一点,但我必须以某种方式将它安装在应用程序引擎上——这可能吗?

4

2 回答 2

2

Pymedia 不是纯 Python,因此您将无法在应用引擎上使用它。

您可能想在 Compute Engine 上构建一些东西来执行此操作。

于 2013-07-07T04:11:30.727 回答
1

如果可以在 AppEngine 中用它的 fork chris-rudmin/Recorderjs演示页面)替换 Matt Diamond 的 recorderjs,这应该是可行的。或者首先编码为 WAV 并使用opusenc.js演示页面),它是 Opusenc 工具的 Emscripten 端口,将临时 WAV 文件转换为 Ogg-Opus 客户端。

于 2015-03-11T12:47:12.890 回答