Webブラウザで動画編集!

html5で videoの任意のフレームをcanvasに描画するメモ - 超自己満足プログラミング
http://d.hatena.ne.jp/favril/20100225/1267099197

昨日この記事を見て、これはすごい! すごいすごい! ってなって、これができるんならWebブラウザだけで動画編集できるんじゃね? と思ったりしたので、ざっくり作ってみました。


http://yanagiatool.appspot.com/jsvideo/player.html (MacSafari4で動作確認。QuickTime + ChromeならWindowsでもいけるかも?)

あそびかた

「動画を読み込む」ボタンを押すと、テキストボックスに入ってるurlの動画を読み込みます。「state」って書いてあるところが「stand by」になったら「再生 / 停止」ボタンを押してください。
あとは再生しながらスライダーを動かしたりすると、なんだか楽しい感じになります。

(※ Google Chromeだと透過度パラメータが反映されないようです。)


テキストボックスにはデフォルトで
http://www.youtube.com/demo/google_main.mp4
を入れてますが、

ウリ

HTML5 + JavaScriptのみの実装です。

作ってて思ったこと

Webブラウザで動画編集」は幻想じゃない

HTML5JavaScriptだけでも編集ソフト作れますね。今回はUIつけてませんが、カット編集もできます。アニメーションもできます。
作ってる最中は「パフォーマンス的に厳しいかな?」と思ってましたが、軽いコーデックの動画ならElisとほぼ同じ速度で動きます。
編集結果の書き出しは、連番画像をbase64で出力するとか、最終的なレンダリングはサーバー側で行うとかすればできそうですね。

編集ソフトをWebアプリとして作る意味

編集ソフトがWebとつながることで、Webの資源に簡単にアクセスできるようになります。
今までローカルにファイルを保存しないとできなかった、「zoomeとニコニコの動画を使ってマッシュアップ」みたいなことがwebブラウザだけでできるようになります。
Flickrから画像を選んで、YouTubeから音楽を選んで、スライドショーの動画を作成」みたいなこともwebブラウザだけでできるようになります。
これってすごく面白いことだと思いませんか?

動画編集ソフトウェアを簡単に作れる時代がやってきた

今まで、動画を扱うソフトウェアを作るのはすごく面倒でした。
「よし作るか!」という気になっても、まずは画像処理、音声処理、動画処理、資源管理、描画処理、その他もろもろのライブラリとかフレームワークとかを探すところから始めないといけません。使うライブラリが決まったらライセンスに矛盾がないか確認して、リンクして、動かしてみて、「えっ、このフレームワークってGCと一緒に使えないの?」みたいなことがあったりして、とにかく面倒です。


でも、今ならHTML5JavaScriptだけで動画を扱うソフトウェアを書けます。
もしあなたがJavaScriptプログラマなら、今すぐに動画を扱うソフトウェアを作ることができます。


面白い未来が、楽しい未来が、すぐそこまで来ている気がします。