ffmpeg.js - Web上で使えるFFMPEG
WebAssemblyを使うことで、これまでのWebでは難しかったスピードでアプリケーションを実行できるようになります。DOMやネットワークが使えないといった制限はありますが、計算処理を高速に行えるのは大きなメリットです。 そんなWebAssemblyでは既存のソフトウェアをEmscriptenを通してWebAssmbly化する試みが多数行われています。今回は動画処理で有名なFFMPEGをWeb上で動くようにしたffmpeg.jsを紹介します。
ffmpeg.jsの使い方
左側はWebカメラの映像で、まずこれを録画します。
録画を停止すると処理が開始します。少し時間がかかります。
右側に動画が表示されます。
デモではWebカメラの映像を取り込んで、ffmpeg.jsを使ってH.264(MP4)に変換しています。同様の処理をJavaScriptだけで行うのは処理時間を考えるに、相当困難でしょう。WebAssmblyならではの使い方といえそうです。
ffmpeg.jsはJavaScript/WebAssmbly製のオープンソース・ソフトウェア(MIT License)です。
ffmpeg.js webcam Example ffmpegjs/ffmpeg.js: FFmpeg for browser and node, powered by WebAssembly