SWF2PNGSequence


SWFからPNGシーケンスを作成するAIRアプリ「SWF2PNGSequence」を作りました!
これでSWF(Flash)からきれいな動画を書き出すことが可能になります。

まえがき

このプログラムは以前書いた記事(NGTV – FlashからPNGシーケンス書きだすASを書きました 〜もうMCも怖くない〜 hushexport.PNGSequence)の応用です。

このプログラムではFlaファイルがなくともSWFファイルから簡単にPNGシーケンスを作成することができます。できたPNGシーケンスから動画への変換は、AviUtlなりPremiereなりAfterEffectsなりをお使いください。

2013/12/15追記:無料化しました。
2012/03/29追記:変換速度が2倍以上になりました
2012/07/23追記:フィルタ関係の不具合を修正しました
2012/02/24:公開

 機能・メリット

  • コマ落ちせずPNG画像を連番で書き出せる
  • ASやMC、フィルターの結果が反映される
  • オプションでキャプチャサイズの変更・書き出すフレームの指定・透過png作成 が可能

ダウンロード

こちらから無料でダウンロードできます。

気に入った方はこちらからカンパ($20)いただけると喜びます。

AIRアプリですので、インストール・実行にはAIRのランタイムが必要となります。

使い方

基本的な使い方は至って簡単で、ファイルを選択して変換ボタンを押すだけです。
複数のファイルの選択が可能です。これで寝てる間でも勝手に変換してくれます。

オプション

オプションボタンをクリックすると、
オプションウィンドウが表示されます。ここから様々な設定ができます。

出力先

出力フォルダ・ファイル名を指定します。
指定したフォルダの中に新しいフォルダを作成し、その中にPNGシーケンスを書き出します。
※同じ名前のフォルダがある場合は連番が自動的に追加されます。
(例:hoge.swfを書きだしたとき …1回目:hoge_pngs フォルダ作成 , 2回目:hoge_pngs_1 フォルダ作成)

サイズ

キャプチャサイズ・アスペクト比・黒ベタの追加などが選べます。

サイズ指定も豊富に用意しました。

フレーム範囲・背景色

フレーム範囲の設定では書き出すタイムラインのフレームが設定できます。
範囲指定ではEndを消してStartのみ指定すると開始フレームのみの指定ができます。

背景色ではPNG画像の背景色を設定できます。透明にすると透過PNGの作成ができるので、素材作成するときに重宝するかもです。

注意

本アプリにより生じた損害につきましては、いかなる責任も負いませんのでご了承ください。

謝辞

@ic_yas さん、 @yama_ko さん、 アドバイス等ありがとうございました!

連絡

改善点・バグ報告などがありましたら、 Twitter @hush_in までよろしくお願いします!

既存の問題点

ここからちょっとActionScriptわかる人向けになります。

  • AVM1Movie (AS2.0以前のSWF)の最後2フレームが書き出しできないものがある
  • ActionScript を使用しているSWFによっては書き出せないものがある
    • 基本的にMovieClip(タイムラインで作成したSWF)なら変換可能
    • タイムライン情報のないSpriteがメインのSWFは書き出せない
    • stage にアクセスしようとするASはAIRのサンドボックス違反により実行できず、書き出せない

データモッシング動画を AviGlitch で作る 備忘録


vlcsnap-2013-10-20-20h32m22s207

データモッシング動画が作りたくなってさまよっていたら AviGlitch というRuby のライブラリが便利そうなので使ってみました。コーデックが Xvid の AVI にする必要があるようです。

AviGlitch – A Ruby library to destroy your AVI files.

以下、swf ファイルをデータモッシングする手順をメモしていきます。例によって環境はMacですが、Windowsでも同じようなことはできるはず。

  1. Swivel を使って swf -> mp4
  2. ffmpeg を使って mp4 -> avi
  3. AviGlitch で壊す
    • コマンド
    • datamosh temp.avi -o output.avi
    • 他にもrubyでコードで書いて自分の好きな感じになるように壊し方を調整する。
  4. (必要なら)ffmpeg を使って avi -> mp4
    • ニコニコ動画に上げるときなど。
    • コマンド
    • ffmpeg -i output.avi -y -f mp4 -vcodec libx264 -acodec libfaac -b 800k -ac 2 -ab 128k -r 30 output.mp4

試したもの


上のやつが下のように変換されました。楽しい!!