2006年11月29日
大量にあるswfの縦横幅の調べ方 @ Flash
mixiのトピックにコメントした内容なのですが、
自分の日記にも書いておきます。
[mixi] Flash | swfのサイズを効率良く調べるには
>>関連リンク
大量のswfを処理する必用がある場合に役に立つと思います。
----------------------------------------
swfdumpで情報を取得する方法もあります。
SWFTOOLS
>>関連リンク
swfdumpを使うと以下のような感じで取得できます。
[HEADER] File version: 6
[HEADER] File is zlib compressed. Ratio: 65%
[HEADER] File size: 8135 (Depacked)
[HEADER] Frame rate: 30.000000
[HEADER] Frame count: 1
[HEADER] Movie width: 275.00
[HEADER] Movie height: 200.00
しかし、複数のファイルを調べたい場合、swfdump *.swfの様にすると上手く行かない様なので、
ls *.swf| awk '{print "echo ",$0,";swfdump ", $0;}'|sh
この様にした方がよいかも。(echoを入れているのは、何処がどのファイルの情報が分からないので、echoでファイル名を挿入しているだけです。) Unix系の場合ですが・・・。
----------------------------------------
捕捉です。
swfdumpは-eを付けると先に書いたような結果ではなく以下のような結果になるようです。
<OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
WIDTH="275"
HEIGHT="200"
CODEBASE="http:
//active.macromedia.com/flash5/cabs/swflash.cab#version=6,0,23,0">
<PARAM NAME="MOVIE" VALUE="wysiwys2.swf">
<PARAM NAME="PLAY" VALUE="true">
<PARAM NAME="LOOP" VALUE="true">
<PARAM NAME="QUALITY" VALUE="high">
<EMBED SRC="wysiwys2.swf" WIDTH="275" HEIGHT="200"
PLAY="true" ALIGN="" LOOP="true" QUALITY="high"
TYPE="application/x-shockwave-flash"
PLUGINSPAGE="http:
//www.macromedia.com/go/getflashplayer">
</EMBED>
</OBJECT>
以下のようなコマンドを実行して、出来たファイルをperlか何かで切り分けや処理を行えば、簡単にHTMLに出来ると思います。
ls *.swf| awk '{print "echo ",$0,";swfdump -e ", $0;}'|sh >output.txt
----------------------------------------
ココの日記に仕組みとしてURLを書き換える形になっているので、<OBJECT CLASSID・・・のCODEBASEとかPLUGINSPAGEは正しく見えてない形になってます。http:の後に改行を入れているので、実際には次の行も含めて続けて記述してください。mixiが利用できる人は先に紹介した元のトピックでもみて下さい。
・・・
よく考えてみたら、HTMLの出力がこれでは具合悪い場合もあるので、ソース(src/swfdump.c)を書き換えた方がよいかも。JavascriptでFlash関係の所は書き出した方がIE対策になるので、あとでPerlなどで整形するよりは、swfdump自体を書き換えた方が将来的にも便利だと思います。それから、ワイルドカードの問題も、mainの中でファイルの数だけループするように作れば対応できると思います。自分は時間がないので今は無理。必要な場面があれば自分で改造しますが・・・。
関連日記
- 2007年06月24日 swfから画像を抽出 (12839)@ Flash
- 2007年08月02日 古いswfからフレーム毎に画像書き出し (6822)@ Flash
- 2007年07月31日 D3S Importer Library for Papervision (6550)@ Flash
- 2007年12月22日 鏡面反射 (6132)@ Flash
- 2011年11月10日 ケータイ端末向けのFlash Player開発終了 (6118)@ Flash
- 2012年10月19日 Lightweight SWF (6093)@ Flash
- 2007年12月29日 Adobe AIRでfscommand (5961)@ Flash
- 2007年08月07日 Papervision3DでCubicVR (5926)@ Flash
- 2007年10月05日 Fireworks CS3でMXML その1 (5660)@ Flash
- 2007年12月26日 初めてのAIR (5321)@ Flash
- 2005年09月10日 Swift 3D Xpress (5122)@ Flash
- 2006年05月09日 Keynote 3 (5115)@ Mac
- 2007年06月29日 Yahoo! Flash版地図API (5040)@ Flash
- 2007年10月11日 UILoader.content[] (4903)@ Flash
- 2008年05月05日 swfから画像を抽出 (4819)@ Flash
- 2008年10月26日 swfから画像と音を抽出 (4807)@ Flash
- 2007年07月29日 Xcode + Flex SDK (4788)@ Flash
- 2007年07月15日 Papervision3Dを始めるにあたり (4780)@ Flash
- 2009年05月21日 10ピクセルフォント「Ten」 (4776)@ Mac
- 2008年12月04日 MS日本語フォントの埋め込み (4770)@ Flash
- 2009年03月07日 ランタイム・フォント・ローディング (4710)@ Flash
- 2008年01月25日 FlashプロジェクターからFlexで作ったswfを表示 (4629)@ Flash
- 2008年07月22日 Flash Decompiler Trillix (4539)@ Flash
- 2008年08月02日 ColdFIre基板の加速度センサーを使ってみる (4436)@ Flash
- 2007年07月18日 初めてのFlex SDK (4420)@ Flash
- 2007年07月27日 Papervision3Dで形状データの表示 (4419)@ Flash
- 2007年10月05日 初めてのAIR(Flex SDK編) (4331)@ Flash
- 2009年04月26日 wonderflのActionScriptをFlashで動かす (4152)@ Flash
- 2005年12月14日 Macromedia FlashPaper (4059)@ Mac
- 2011年06月29日 FlashからHTML5へのコンバータ「Swiffy」 (3893)@ Flash
アマゾン広告
この日記ページは閲覧数などの条件に応じて、閲覧制限を行っています。他からリンクしていただいても、そのリンクから辿った閲覧者が当ページの内容をご覧頂けない場合があります。ご了承下さい。