« カステラと電話と1番2番 | メイン | 自分を他人と感じるとき »

swfファイルから音声データを抽出する

- MacOSX

タイトルのことをしたかったわけだが、MacOSXはswfの扱いが弱く、ちょっと調べた限りでは、フリーのアプリではできないようだった。 しかし「SWFTOOLS」というUNIXのアプリを使ったらswfファイルからmp3ファイルを取り出すことができたので、メモを残しておく。 QuickTimeで開ければ一発だったのになぁ・・・。

さて、この方法はターミナルを色々使う上、私の説明も不親切なので、苦手な人は注意。 必要性と知識 or ガッツがある人が対象。

手順

  1. 下準備
  2. SWFTOOLSインストール
  3. 音声ファイル抽出

以下、手順を簡単に説明する。

1.下準備

SWFTOOLSのインストールするには、Cのコンパイラとlibjpegとやらが必要な模様。

1-1.Cコンパイラインストール

OSXのインストールDVDがあれば、ついているXcodeをインストールすればOK。 OSインストール時に一緒にインストールしている人も多いだろう。 Xcodeは入れておいてもよいと思う。

Xcodeをインストールしていない人で、インストールDVDが手元にない人は、Appleのサイトからダウンロードできる。
Apple Developer Connection - Developer Tools and Technologies - Download Xcode

驚くべきことにファイルサイズが1GBとかあるので、DVDを持っている人はそちらを使うことを強く推奨する。

Cコンパイラがインストールされているかわからない人は、ターミナルで「cc」と入力してリターンを押してみる。 「no input files」とか表示されれば、既にインストールされているのでOK。

1-2.libjpegインストール 次に、jpeglibというものをインストール。これもSWFTOOLSに必要らしい。
(↑不要でした!次のSWFTOOLSのインストールへ)

2.SWFTOOLSインストール

これが今回の主役。ターミナルからコマンドでSWFファイルをいじれるもの。

SWFTOOLSのインストール SWFTOOLSから、「Linux Version」の「swftools-0.8.1.tar.gz」をダウンロードする('08 7月末時点の最新版)。

このファイルが、また「ダウンロード」フォルダに保存されたとすると、ダブルクリックすると「swftools-0.8.1」フォルダが「ダウンロード」フォルダにできる。 ここですかさず、ターミナルで以下のように入力。

% ./configure
% make
% sudo make install
% rehash

rehashしないとパスが通らない。 あとSWFTOOLSの機能のうち、pdf2swf と png2swf と gif2swf あたりが無効化された気がするが、 今回使うのはswfextractというものだけなので無視。

<追記> Macの手書き説明書のveadarさんがswfファイルからmp3などを抜き出す方法というエントリーで、 MacPortsを使って簡単にSWFTOOLSをインストールする方法を紹介されているので、そちらも参考にすると良いです。
<追記ここまで>

3.音声ファイル抽出

さて、やっと準備が整ったので、本題である音声を抽出したいswfファイルを準備する。 またもや簡単のため、「ダウンロード」フォルダの「test.swf」ファイルであるとする。 またもやターミナルで、おもむろに以下のコマンドを入力する。

% cd Download
% swfextract -m test.swf -o test.mp3

想像通り、「test.swf」の部分を変えると入力ファイル名が変わるし、 「test.mp3」の部分を変えると出力ファイル名が変わる。 好きな名前で入出力しまくって欲しい。


ということで、Mac用フリーウェアでは不可能な(調べたが見つからなかった)swfファイルからの音声抽出に成功した。UNIXえらいね。 GUIかぶせれば適当なソフトは作れるような気がするが、めんどくさいので作らない (ものすごく気が向けば、あるいは・・・)。

あと、SWFTOOLSの機能をフルに使おうと思ったら、SWFTOOLS「7.) How do I compile swftools on Mac OS X?」の記述に従うべき。 そうするとpdf2swfなどが使えるようになるでしょう。

以上、ご機嫌よう!

web拍手とは

トラックバック

このエントリーのトラックバックURL:
http://soap.s216.xrea.com/umu/mt/mt-trackback-script.cgi/1401

コメント (4)

wakaba:

「jpeglib」なしでもswfからmp3に変換できましたね。

フリーウェアでやろうと思えば、「WireTap」
http://www.macupdate.com/info.php/id/12272/wiretap
を使えば、できるかも。
(これでは試してないけど、WireTap Pro ではOK)

「変換」する訳ではないけど・・・。

haru:

wakabaさん、どうもです。
jpeglib、やはり要らなかったですか。ありがとうございます。本文も変えておきました。

WireTapは録音するアプリですね。確かに「変換」「抽出」ではないですが、音質を気にしなければ可能ですね。用途に応じて、というところですね。

duke:

swfファイルからの音声抽出でここにたどり着きました。
お聞きしたいのですが、safariで構成ファイルからswfファイルをDLしたのですがその音源が期間限定のものとなっています。
ファンサイトになるのでパスワードなどがかかっているサイトになるのですが(自分はそこで登録しております)、そういうファイルでも上のやり方で音声のみ抽出できるのでしょうか?

haru:

dukeさん

えー、ちょっとわかりません。試してみてくださいとしか言えないです。

そこがどういう方法で期間を限定しているのかもわかりませんし、わかってもその対策がとれるとは思えません。試してみてもらって、ダメだったらお役に立てないということになると思います。

あんまり役に立たない感じですみません。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

最近のトラックバック

アーカイブ

クリエイティブ・コモンズ

Creative Commons License
このブログは、次のライセンスで保護されています。 クリエイティブ・コモンズ・ライセンス.
Powered by
Movable Type