どせいたんさき。

ナスダヨー

gnash で swf ファイルからイメージを抜き出す

目的

swf ファイルで生成した flash 動画から png 形式の画像を抜き出す.

解決方法

gnash を使用する.インストール方法は以下の通り.

sudo apt-get install gnash

例えば以下のようにして使う.

PAGENUM="1,2,3,4,5"
gnash  --screenshot ${PAGENUM} --screenshot-file fuga_%f.png -1 -r1 hoge.swf

これで hoge.swf のから 1 から 5 フレーム目までが抜き出せる.

使用したオプションを簡単にまとめると,

  • `--screenshot PAGENUM`: フレーム番号をカンマ区切りで与える. last というキーワードが使用可能.
  • `--screenshot-file OUTPUT`: スクリーンショットを保存するファイル名.複数フレームの場合は %f を含める.
  • `-1`: リピート回数.これを加えないと flash 動画がループし続ける.
  • `-r1`: 画像のみ再生.後ろにつける番号によって再生モードが変わる.

どうやら %02f のようなフォーマットは使えない模様.残念.

結果

抜き出した png イメージを使用して convertgif 動画を作成した.

f:id:xr0038:20140112181012g:plain