2013-07-06 47 views
1

我已經建立了一個小應用程序引擎的應用程序,允許用戶上傳短錄音。有些錄音是在https://github.com/mattdiamond/Recorderjs的瀏覽器中完成的,後者創建了wav文件。爲了節省空間,我希望在將它們寫入應用程序引擎數據存儲之前將它們轉換爲ogg,以便在將音頻錄製回放給用戶時使用較少的傳出帶寬。轉換WAV到OGG在App Engine(或JavaScript的?)

我該怎麼做?我搜索了一下,顯然有一個名爲oggenc的命令行工具,它編碼爲ogg - 但我確信我無法在應用引擎上安裝它(或者,即使我可以安裝它,調用它)。

我發現了一個類似的問題在Encode audio from getUserMedia() to a .OGG in JavaScript - 此鏈接到https://github.com/jpemartins/speex.js,一個項目,看起來似乎最終能夠從WAV轉換成JavaScript來OGG(這將是巨大的),但是,據我可以告訴,目前不這樣做。在https://github.com/jpemartins/speex.js/issues/4作者提到WAV - > ... - > OGG是不可能的。

我還應該嘗試什麼?

編輯:我的應用程序引擎代碼是用Python編寫的,所以另一種可能是做轉換那裏,一個Python模塊,可以轉換WAV到OGG。我認爲http://pymedia.org/可以做到這一點,但我不得不以某種方式將它安裝在應用程序引擎上 - 這可能嗎?

回答

2

Pymedia不是純Python,所以你將不能夠使用它在App Engine上。

你可能想建立Compute Engine上的事情做到這一點。

+0

謝謝你,我不知道的Compute Engine。如果我理解正確,我可以建立一個接收WAV的服務,例如打電話oggenc並吐出oggs。也就是說,我理想的情況是找到一種免費的方式來完成這個任務,而不需要傳送太多的數據。我在http://stackoverflow.com/questions/17457029/converting-wav-to-any-compressed-audio-format-in-client-side-javascript上發現了一個類似的問題 - 能夠做到這一點很棒在JavaScript中。 – Adrian

1

提供有可能憑藉其在AppEngine上叉,chris-rudmin/Recorderjsdemo page)取代馬特·戴蒙的recorderjs,這應該是可行的。或第一編碼爲WAV和使用opusenc.jsdemo page),這是Opusenc工具的Emscripten端口,轉換一個臨時的WAV文件爲Ogg-作品客戶端。