Wink でキャプチャ、ffmpeg でエンコード、VLC Player で H264 に変換

動画作成のメモ。

僕は Wink というキャプチャソフトで SWF(flv ではない)を作成していたんだけど、お客様がそろそろ Flash をやめたいという意向があって、メジャーな動画形式にするということになった。

Wink はものすごく使いやすいというわけではないんだけど、使い慣れているんのでこれでキャプチャしたい。キャプチャ後、1 フレーム毎に PNG で連番ファイルを保存できるので、それを動画にまとめ上げる。

まずは Wink が出力した image0.png 〜 image2400.png を 0000.png 〜 2400.png という名前に変更。これは何でやってもいいと思う。

次に ffmpeg で動画を生成。Linuxで画像ファイルからパラパラ動画作成 - tkomakiのメモ帳 がとても参考になった。

ffmpegUbuntu なら apt-get install ffmpeg でインストール可能*1

$ ffmpeg -i %04d.png -vcodec mjpeg -sameq hoge.avi

Linuxで画像ファイルからパラパラ動画作成 - tkomakiのメモ帳

これで非圧縮の動画が作成できた。90 秒程度の長さでファイルサイズが 50MB ぐらい。結構でかい。

ffmpeg で直接 H264 に圧縮できれば良いんだけど、なんか色々難しかったので、この非圧縮動画を H264 に変換することにした。

使用するアプリは VLC PlayerUbuntu なら apt-get install vlc でインストール可能。別途 libx264 と x264 が必要かもしれない。

変換方法は flv・wmv・avi等ほぼ全ての動画を簡単にmp4に変換する方法 - ぼくんちのTV 別館 がとても参考になった。

変換後のサイズは 300KB。圧縮効果てきめん。

2014/01/29 追記

新しい ffmpeg では -sameq が廃止されたので、代わりに以下のようにする。

$ ffmpeg -r 20 -i %04d.png -vcodec mjpeg -qscale:v 0 hoge.avi

ついでに -r 20 が追加されているが、Wink だとデフォルトで 20fps なので。

*1:Ubuntu は今後、ffmpeg からフォークした avconv をサポートするそうな