ストリーム swf の保存

通常の Flash ファイルの保存は、real player downloader などやちょっとネット検索をすれば方法が分かります。しかし、NECN に掲載しているオバマさんのニュース画像 Barack Obama plays with robot toys in Japan は、ストリーム swf になっていて、通常の Flash ダウンローダーではダウンロード出来ません。数日ネットを放浪しましたが、Mac でダウンロードできるフリーソフトはない(有償ならあるみたいですけど)という結論に達しました。
何故、これほど執着したかというと、この動画、iDevice に対応していないんです。リンクコピーはできても、Flash がみられない限り、本家でも表示されない…ムカつく!。
さてどうするか?。Windows には、GetASFStream という優秀なソフトがあるのですが、せっかくですので、 Mac 上で、 Parallels を使いその上の Windows XP で GetASFStream より強力と噂の、StreamTransport を使ってダウンロードできるか検証しました。

結果:非常に簡単にダウンロード出来ました。Mac で(無償で)出来ないことがまたひとつ…。

環境 MacBook Snow leopard + Parallels Desktop5
仮想環境:Windows XP SP3 + IE8(デフォルトブラウザを IE にする必要あり) + StreamTransport v1.0.2.2171(Free)

  1. StreamTransport からインストールファイルをダウンロードして、インストール。
  2. StreamTransport のアイコンをクリックして起動する。
  3. 上部のアドレスバーに、取得したい動画のある URL を入力する。
  4. 上部の”Start”ボタンを押下する。
  5. アドレスバーに入力したアドレスのページが表示されるので、ダウンロードしたい画像を再生する。
  6. 下部に解析結果が表示されるので、ダウンロードしたい画像を選択する
  7. 右下の”Download”ボタンを押下する。”Change Folder” でダウンロードファイルを格納するディレクトリを指定する(パスに日本語が入っていない方が良い)
  8. ダウンロードが開始され 100% ダウンロード終了すれば見事成功!

下の画面を参考にしてください(クリックすると拡大します)。簡単すぎ。

で、変換したのが下の画像。しかしこの前紹介した ffmpeg のフロントエンド Datura ですが、この FLV ファイルを上手く変換出来ません。どうも Datura の更新も止まっていて ffmpeg と同期が取れていないのかバグなのか、ffmpeg へのパラメータに誤りがあり、入力ファイルによっては上手く動作しないようですorz。>ならお前が作れとか言われそう….。
まあ、失敗したログを見ると(xxxx.log というファイルができています)パラメータは分かるので、直接ターミナルからコマンドを入力すれば画像変換ができます。今回 H.264 に変換するためには、log ファイルに書かれている以下のパラメータを修正します。

ffmpeg:-passlogfile 1635934958_ -y -threads 1 -ss 0:00:00 -i Barack_Obama.flv 
-ss 0:00:00 -i Barack Obama.flv -vcodec copy -vb 716000 -r 24 -s 640x360 
-cmp sad -mbd simple -me_method epzs -precmp sad -skipcmp sad 
-strict normal -subcmp sad -aspect 640:360 -map 0:0 -acodec copy -ab 96000 
-ar 44100 -ac 2 -alang und -map 1:1 -sn -f ipod Barack_Obama.mp4

以下のように赤い部分を修正し、余計な部分を削除して、変更しターミナルから実行します。

ffmpeg -ss 0:00:00 -i Barack_Obama.flv -vcodec libx264 -vpre default 
-vb 716000 -r 24 -s 640x360 -cmp sad -mbd simple -me_method epzs -precmp sad 
-skipcmp sad -strict normal -subcmp sad -aspect 640:360 -map 0:0 -acodec libfaac 
-ab 96000 -ar 44100 -ac 2 -alang und -map 0:1 -sn Barack_Obama.mp4

これで、H264 の mp4 ファイルが出来ます。前回は 拡張子 flv でも、内部コーディックは H264 だったので問題ありませんでした。確認不足…すみません。
ffmpeg は、H264 の変換パラメータファイルを /opt/local/share/ffmpeg/ の下に持っていて -vper default を指定しないと、H246 のパラメータが反映されないですね。エラーメッセージはよく見ましょう。

変換したファイルが以下です(m4v + ogg)。見られない方は、オリジナルリンクの Flash ファイルを御覧ください。
しかし、APEC で来たオバマ氏一番の楽しみ(目的?)は、鎌倉観光だったとか。まあそんなもんか…。

 

One Response to “ストリーム swf の保存”

  1. […] Datura では、flv->H264 の変換に失敗します。このあたりのことは、ストリーム swf の保存 […]

Leave a Reply