動画アップローダを作成する上でエンコード用にとffmpegを使ってみたが、あまりの多機能ぶりに驚いた。これをnw.jsから呼べるようにネイティブ・モジュールに仕立ててみたいなと思った。そうすればアップロード時に動画に関するいろいろな処理ができて面白そうなので。
まずは勉強がてらソースコードをビルドしてそれから詳細を考えようと思ったが、このコンパイル自体敷居が高かった。
ffmpegは多数のライブラリに依存しており、これをすべて自前で用意しないといけないのだった。しかもVS2013だけではビルドできずMSYS2やYASM等が必要でその設定作業も行わなくてはならない。
こんな面倒くさいことやってられん!と思って何かないかなとググってみるとVS2013でビルドできるようにするユーティリティがあった。
上記はFFMpegにVS2013のプロジェクトファイルを生成するツールがくっついたものである。これを使うとVS2013のIDE上でビルドできるようになる。ただ外部依存のライブラリまでの面倒は見てくれないので自前でやらなくてはいけないが。
それでまあその自前部分についてやり始めているのだがこれがまた1つ1つのライブラリがかなりのボリュームである。それをビルドするだけでかなりやる気が失せてきてしまった。片っ端からビルドするだけといえばそれまでなのだが面倒な作業だ。
しかしこのような膨大なライブラリをよくメンテナンスできているなと思う。本当にすごいことだ。