CustomFeed::MediaServerプラグイン

WMC の調査には若干時間がかかりそうだし、DiXiM の評価期限もあと 3 日で切れてしまうので、そろそろ諦めて初野良プラグインを晒してみます。

Plagger::Plugin::CustomFeed::MediaServer

機能としては LAN 内の MediaServer を検索して全アイテムデータをフィードします。単位は ContentDirectory サービス毎で、日付順にソートされます。また複数のフォルダにリファレンスが存在する場合でも、一つのエントリになります。その時、そのアイテムが格納されているコンテナのタイトルがタグとして付くようにしました。

例えば仮に

-[photo]
  +[Albums]
    +[family]
      +DSC00001.jpg (id=2,refID=1)
  +[Date]
    +[2006/4]
      +DSC00001.jpg (id=1)
  +[All]
    +DSC00001.jpg(id=3,refID=1)

のようにアイテムが存在する場合、

DSC00001.jpg (tag:2006/4,All,family)という 1 件の entry が生成されることになります。それから MediaTomb とか DiXiM でも dc:date が付かないアイテムがあるので、そういうときには無理矢理古い日付をデフォルトではつけてます。

一応現在分かっている問題としては、東芝の RD-X6 では若干列挙されないアイテムがあるみたいだということ。(某友人談)

あとは Filter::FetchEnclosure とか mizzy.org さんの FFmpeg::Command とかであんなこととかこんなこととかしたいなあ。でも GLAN TANK じゃちょっと荷が重いかも。でもせめてサムネイルくらいはなんとかしたいところ。

ここからは言い訳になりますが、Plagger 自体の理解もまだまだ浅いので Plugin の実装方法についてはイマイチ自信がないです。他のサイトで情報収集したり trac や trunk のログをボチボチと追っかけたりはしているのですが、なかなか理解が進みません。

そんなヘタレが作ったプラグインなので見よう見まね率の高いちょっとハズカシめなコードです。Perl 自体不慣れですし、きっと Perl 使いの方から見ればおかしな点も沢山あるのでしょうが、その辺ご容赦ください。というより何かあれば是非ご教授いただければ幸いです。(^^;

さらに今までも書いてきましたが、僕自身はきちんとした MediaServer 機器を持っていないので十分なテストは出来ていません。

One comment

コメントを残す

メールアドレスが公開されることはありません。