JavaScriptでOggのエンコードがしたいので調査した結果の備忘録。 結論から言えば下記のようなプロジェクトが既にあるらしいので、順番に試していく予定

基礎調査

ogg javascriptでぐぐったら解決。 そのものズバリな記事がヒットした。

ogv.jsがすごい - necotech blog

  • JavaScriptでOgg VorbisとかWebMとかをデコードするライブラリ
  • Emscriptenを使って、Cのライブラリ(liboggzとかlibtheoraとか)をJavaScriptのコードにコンパイルしてる

どうやらOggのライブラリはC言語で作られているようでJavaScriptにコンパイルし直せばブラウザ上でデコード/エンコードが出来るというわけか。 (クロスプラットフォームにするなら当然か) Emscriptenに関してもちょっと調べてみた

Emscriptenとは

EmscriptenでC言語をJavaScriptに変換する - Qiita

Emscriptenとは

EmscriptenはC/C++言語からLLVMを生成し、それをJavaScriptに変換するコンパイラのことです。 C言語の標準ライブラリやPOSIXの一部もサポートし、OpenGL ES2.0も使えるそうです。

Write once, run anywhereって奴か。

プロジェクトに関して

Emscriptenなる便利なコンパイラが存在するのであれば、さぞかしプロジェクトは沢山ありそうだ。 その通りなようで、GitHubでプロジェクトが色々とヒットした。

ざっと読んだ限り、higuma氏のプロジェクトが一番簡潔で使いやすそうな気がした。 楽曲のタイトルやアーティスト情報、LOOPSTART等のタグ情報を入れて行きたいので、組み合わせ次第といったところか。 実際に動かしてみる必要がありそうだ。