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