Plagger::Plugin::Filter::FFmpeg #0

前のエントリの FFmpeg::Command を利用して、Plagger::Plugin::Filger::FFmpeg 書いてみた。(っていうか、このために FFmpeg::Command つくったわけですが。)

とりあえず形にして動くことを確認したかったので、変換パラメータが固定だったり、適当すぎるつくりになってますが、おいおい改善していくということで。

以下の様な設定で、YouTube の My Favorite 動画をダウンロード ⇒ mpeg4 へ変換 ⇒ enclosure url を rewrite ⇒ Publish::Feed で podcast、ってところまで確認済み。

2006/07/27 03:23:30 追記
miyagawa さんからの指摘で、URL の書き換えは Filter::RewriteEnclosureURL を使うようにしました。このプラグインの存在をすっかり見落としてました…

global:
  user_agent:
    cookies: /home/miya/plagger/cookies.txt
  log:
    level: info

plugins:
  - module: Subscription::Config
    config:
      feed:
        - http://www.youtube.com/my_favorites

  - module: Filter::TruePermalink
  - module: Filter::FindEnclosures
  - module: Filter::EntryFullText
  - module: Filter::HEADEnclosureMetadata
  - module: Filter::FetchEnclosure
    config:
      dir: /home/miya/mov

  - module: Filter::FFmpeg
    config:
      output_dir: /home/miya/mov
      ext: mp4

  - module: Filter::RewriteEnclosureURL
    config:
      rewrite:
        - local: /home/miya/mov/
          url:   http://mizzy.org/mov/

  - module: Publish::Feed
    config:
      format: RSS
      dir: /home/miya/plagger
      filename: %t.rss

これに合わせて、FFmpeg::Command で ffmpeg を exec で呼び出してたのを、system に変更しました。exec だと Publish::Feed が動いてくれなかったので。おそらく exec はプロセスをフォークした後 wait しないのが原因かな、と。