こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

javascriptで音声データ圧縮

http://qiita.com/HirokiTanaka/items/56f80844f9a32020ee3b

このあたりを参考にwavデータをmp3に変換することは出来ました。

ただ残念なことに、今回やりたい事がリアルタイム性が欲しく、上記の方法で普通のPCではどうしても音の長さ以上に変換に時間がかかってしまいます。

なーんか良いアイディアは無いでしょうか。。。
※wavのままだとデータが大きすぎて今度は回線での転送が間に合いません。

ブラウザでやるなって話ですよね(汗

投稿日時 - 2015-09-29 13:15:08

QNo.9055754

困ってます

質問者が選んだベストアンサー

うむ、
>ブラウザでやるなって話ですよね(汗
これに尽きる。

端末の処理速度に依存しちゃうし。
ソフトでMP3に変換するのだってそれなりに時間かかるんだから。

投稿日時 - 2015-09-29 17:34:05

お礼

ですよねー

投稿日時 - 2015-09-29 21:09:58

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

ANO.2より
そういうことでしたら、WebRTCを用いて転送を行ってください。
自動的に圧縮してくれます。

投稿日時 - 2015-09-30 03:10:21

補足

http://qiita.com/udonchan/items/77ca19f9aa8420e769c8
WebRTC の映像ストリームからデータを取得する仕組みは現状では存在しません
※データ受け取った側がWebRTC 対応してなくても再生可能なものを模索していました。

情報ありがとうございました。

投稿日時 - 2015-09-30 06:56:16

お礼

ありがとうございます。
今回P2Pでの転送をせずに、一旦データを数か所経由させたいのですが、可能でしょうか?

投稿日時 - 2015-09-30 06:50:53

『クライアントで録音した WAV をアップロードする際に、転送速度をあるためにサイズを小さくしたい』というニーズなら、MP3 にこだわらずに ZIP なり LZ4 (Google 製の高速圧縮形式) なりを試してみては? ZIP や LZ4 なら Javascript の高速圧縮ライブラリもあるでしょうし。
最終的にサーバ上に MP3 で保存する必要があるのであれば、アップロード後にサーバ上で非同期で MP3 に変換すれば良いでしょうし。サーバ上で変換なら、Javascript にこだわらずにもっと高速なライブラリを使えますよね。

投稿日時 - 2015-09-30 00:40:53

お礼

LZ4試してみたいと思います。

投稿日時 - 2015-09-30 06:51:51

ANo.2

まず何がしたいのかが分かりません。
ブラウザでwavをmp3に変換するにはまずブラウザでwavをダウンロードしないといけませんよね。
それなのにwavのままだとデータが大きすぎて回線での転送が間に合いませんという話が出てくるのは矛盾しているように見えます。

投稿日時 - 2015-09-29 19:32:17

お礼

navigator.getUserMedia 、audioContext にてHTMLを表示しているPCのマイクから波形データ取れます。これをwavに変換出来ます。なので音源データゲットは、どことも通信いりませぬ。この音声データを別のPCに何らかの方法でお届けし、そこで再生したいのです。簡易電話です。その際に生音声データwavだとデータサイズがでかいので、圧縮したかったのです。

投稿日時 - 2015-09-29 21:27:11

あなたにオススメの質問