前のエントリの 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 しないのが原因かな、と。