SWFからPNGシーケンス、GIFアニメ、MP4動画を作成するAIRアプリ
Note: このリポジトリはオリジナルからフォークしたものです。
- 詳しい説明は https://flatv.fdempa.com/swf2pngsequence/ を参照
- 2012年2月ごろに作ったものです
- SWFファイルを選択、またはウィンドウへドラッグ&ドロップします。
- 必要に応じて「オプション」から出力先、ファイル名、サイズ、フレーム範囲、背景色を設定します。
- 「出力形式」タブで
PNGシーケンス、GIFアニメ、MP4動画を選びます。 - GIF/MP4を作成する場合は、ffmpegの実行ファイルパスを指定します。
- macOSでは「自動検出」で
/opt/homebrew/bin/ffmpeg、/usr/local/bin/ffmpeg、/usr/bin/ffmpegを探します。 - FPS欄を空欄にすると、SWFに設定されているFPSを使用します。
- FPSを入力した場合は、その値で出力します。
- macOSでは「自動検出」で
- 「変換開始」を押すと書き出しを開始します。
GIF/MP4出力は中間PNGを作成してからffmpegで変換します。変換成功時、中間PNGフォルダは削除されます。失敗時は確認用に残ります。
- Flash Builder 4.6 以上でビルドできます
- Adobe CS5.5 をインストールしているときのアップデートメモ http://cuaoar.jp/2011/11/flash-builder-46-flex-46.html
Apache Flex SDK + AIR SDK を使ってコマンドラインからビルドできます。
- Apache Flex SDK 4.16.1 + AIR SDK(オーバーレイ済み)
- Java JDK 8
- 環境変数
FLEX_HOMEに SDK のパスを設定 - GIF/MP4出力を使う場合は ffmpeg
| コマンド | 説明 |
|---|---|
./build.sh compile |
mxmlc で SWF をコンパイル(デバッグビルド) |
./build.sh debug |
コンパイル + adl でデバッグ実行 |
./build.sh package |
macOS向けアプリバンドル (.app) を作成 |
./build.sh package-native |
package の別名 |
./build.sh release |
リリースビルド + アプリバンドル作成 |
./build.sh gen-cert |
セルフ署名証明書 (sign.p12) を生成 |
./build.sh clean |
bin-debug, bin-release を削除 |
export FLEX_HOME=/path/to/flex_sdk
# コンパイル
./build.sh compile
# デバッグ実行
./build.sh debug
# リリースビルド(証明書がない場合は先に生成)
./build.sh gen-cert
./build.sh release./build.sh gen-cert で自己署名証明書を作る場合、証明書パスワードは環境変数 STORE_PASS で指定するか、省略すると対話入力になります。
GIF/MP4出力はAIRのNativeProcessを使うため、./build.sh package と ./build.sh release は extendedDesktop のアプリバンドル(macOSでは.app)を作成します。HARMAN AIR SDK 51系ではmacOSのネイティブ出力にKeychain上のコード署名IDが必要です。使用する署名IDを指定する場合は CODESIGN_IDENTITY="署名ID名" ./build.sh release のように実行します。
利用可能なコード署名IDは次のコマンドで確認できます。
security find-identity -v -p codesigningmacOS向けアプリバンドル作成時に AIR SDK の macOS ランタイム内シンボリックリンクが壊れています と表示された場合は、AIR SDKのzip展開時にシンボリックリンクが通常ファイルになっています。SDKを展開し直すか、エラーメッセージに表示された ln -s の手順で Adobe AIR.framework 内のリンクを修復してください。
デバッグ実行時は ./build.sh debug が extendedDesktop プロファイルで起動します。
- ffmpegはアプリに同梱していません。ユーザー環境にインストール済みのffmpegを指定してください。
- MP4は無音動画として書き出します。SWF内の音声は含まれません。
- MP4は
libx264/yuv420pで作成します。 - GIFはffmpegのpalette生成を使って作成します。
- 配布・実行には
./build.sh releaseで作成したアプリバンドルを使ってください。これで起動したアプリではGIF/MP4出力を利用できます。
libs,libs-src以下に入れています。