ブログが続かないわけ

この日記のはてなブックマーク数
Webエンジニアが思うこと by junichiro on Facebook

週末にRemedie を試してみた

このエントリーを含むはてなブックマーク hateb
レポジトリの移行に伴い、一部修正した(2009/03/03)

Remedie を試す

Shibuya.pm やYokohama.pm の予習として、最新のmiyagawa プロダクトであるRemedie を試してみた。

Remedie 概要


( From Google Code) 手抜きでごめんなさい。
Remedie is a perl based media center application with pluggable architecture. You can subscribe to videocast feeds, watch local folder with media files and keep track of your favorite video sites like YouTube, Nico Nico Douga or Hulu.

It works as a web server so you can use your favorite browser (Firefox, Safari) to browse your video collection, playback videos using your favorite player (JW Flash Player, VLC or Quicktime). Its plugin architecture will also allow you to add new subscription to online video sites.

If you're familiar with Plagger, Remedie is a fork of Plagger, optimized for media downloading and viewing, and comes with a HTTP web server with JSON APIs and web-based frontend built with jQuery and CSS.

(旧)インストール


まず、自分のPCに適当なディレクトリを用意する。
mkdir -p ~/Work/remedie
cd ~/Work/remedie
レポジトリから最新のソースコードを持ってくる
git svn init http://remedie.googlecode.com/svn/trunk/
git svn fetch
今後は
git svn rebase
で最新のコードを追いかけることができる。
cd trunk
trunk の中に

[追記]2009/03/03 Google Code のレポジトリ削除に伴い

新インストール


上記のインストール方法は古いのでこちらを参考に
作業ディレクトリに移動してレポジトリから最新のソースコードを持ってくる
git clone git://github.com/miyagawa/remedie.git
そうするとremedie というディレクトリができ、そこにソースコード一式が落ちてくる。cd remedie とかしてその中に入る。今後は
git pull
で最新のコードを追いかけることができる。ここにHACKING というファイルがあるので、これを見ればとりあえずの使い方がわかる。まずはこれを試してみる。いきなり実行してもほとんどの場合、CPANモジュールが不足していて、いろいろとエラーが出ると思うので、とにかく必要なモジュールをそろえないといけない。

僕の環境で、追加でインストールしたモジュールは下記の通り
DBD::mysql
DateTime::Format::Builder
DateTime::Format::MySQL
FindBin::libs
HTTP::Server::Simple
JSON::XS
Module::Install
MooseX::ClassAttribute
MooseX::ConfigFromFile
MooseX::GetOpt
MooseX::Types::Path::Class
Rose::DB
Rose::DB::Object
String::CamelCase
XML::RSS::LibXML

他にもやってみた人がいるので、こちらも参考になる
Remedie を試してみる #1 - Holidayworking::Diary
DBD::SQLite
DateTime
Feed::Find
FindBin::libs
HTTP::Engine
JSON::XS
Log::Log4perl
MIME::Types
Module::Install
MooseX::ClassAttribute
MooseX::ConfigFromFile
MooseX::Getopt
Rose::DB
Rose::DB::Object
String::CamelCase

この辺は、各自の現在の環境にも依存するので、これらは参考にとどめて、適宜トライアンドエラーでやって頂きたい。

ちなみに、XML::RSS::LibXML はRSS 0.91 問題でテスト時にエラーになるので、出来る人はXMLカタログを修正する等で、対応してほしい。そうでない人は、force install してしまえば良いだろう。

(参考)
本を読む RSS 0.9のDTDがlibxmlでエラーになる
本を読む RSS 0.9のDTDをXMLカタログでさしかえる
本を読む DebianやUbuntuでXMLカタログを変更する

起動


HACKING に書いてある最初の部分は初期化に関するもの
rm -r ~/.remedie
perl -Ilib -MRemedie::DB::Schema -e 'Remedie::DB::Schema->install'
初めて試すとき、もしくはまた一からやり直したいときにこの部分を実行する。
モジュールが足りない場合はこの時点でエラーが吐かれるので、それを参考に足りないモジュールを補う。
perl -Ilib ./bin/remedie-server.pl
これで実行できる。
これを実行すると、Web サーバのデーモンが起動するので、http://localhost:10010/ でそれにアクセスする。
うまくいくと、こんな画面が表示される。

だが、実際にはうまくいっていなくても、この画面が表示されるときもある。
内部的にJSなどでいろいろなURIが呼び出されていて、そこでエラーが起きているケースもあるからだ。例えばSafari で試している場合であれば、ウィンドウ > 構成ファイル一覧 とたどってみれば、どこのURIで内部エラーが出ているかがわかるので、それを見てみると良い。で、そこで出ているエラーの詳細は、log に吐かれているので、そちらも参考にすれば、何がいけないかもわかるはずだ。

log は ~/.remedie というディレクトリの中にある。
デバッグするときにこれは重要。


それでは、早速チャンネルを登録してみよう。
チャンネルの登録は、右上にあるNew Channel をクリックして、RSSフィードのURIを入力するだけ。YouTube で試してみよう。

(参考)YouTube のRSSについて
タグで絞り込んだRSS
feed://www.youtube.com/rss/tag/[ここにタグ名を入力].rss
例) soccer
feed://www.youtube.com/rss/tag/soccer.rss

ユーザーで絞り込んだRSS
feed://www.youtube.com/rss/user/[ここにユーザー名を入力]/videos.rss

登録が完了すると、先ほどの真っ黒だった画面に今登録したチャンネルが表示される。


そして、そのチャンネルをクリックすると、こんな感じで動画の一覧が表示される。

見たい動画のサムネイルをクリックするとその動画を閲覧することができるってわけだ。

これだけだと、本当にただ試してみただけになってしまうので、この後何ができるのかちょこちょこ見ていきたいと思う。
この記事のトラックバックURL
http://en.yummy.stripper.jp/trackback/1100711
トラックバック
遅ればせながらShibuya.pm #10 のまとめ
いっつも遅れちゃう。 そのくせ、たいしてまとまっちゃいない。 JPA(lestrrat dmaki)〜2008年 草の根活動 Perl をとりまくFUD Perl is deadPerl ってCGIと同じでしょ遅いよねPerl でシステムとか作れないPerl の習得コストが高杉Perl 覚えても仕事にならないでし
| ブログが続かないわけ | 2008/12/02 12:28 AM |
コメント









関連情報