前回のポストで2台以上のXBMCでライブラリをシンクロさせましたが、バナー/サムネイルの画像ファイルはDBには含まれず別途ローカルに保存されるため、2台目のXBMCではバナー/サムネイルが表示されませんでした。その対策ですが、画像もNAS上に置いて共有すると言う方法が考えられますが、それだと描画に時間がかかるだろうという懸念があったので、原始的ですがXBMC間でコピーすることにしました。
我が家のXBMCは1台がUbuntuでもう1台がWindows、画像ファイルは1台目のUbuntuが持っています。Windows側はあんまり起動しないので、必要な時に手動でWindows側からUbuntuのファイルを取得することにしました。SSHでやればいいか、ということでWinSCPを使って簡単に実現する事に。
それぞれ以下のフォルダに画像を持っています。
Ubuntu:/home/xbmc/.xbmc/userdata/Thumbnails
Windows:%APPDATA%\XBMC\userdata\Thumbnails
なのでこのフォルダの内容を同じにするだけです。かんたん。
WinSCPのSynchronizeを使いました。こんな感じ。僕のライブラリの場合フォルダのサイズが2Gくらいあるのでやや時間がかかりました。
で、次回以降はGUI上げないでバッチファイルでやることにしました。Windows側でライブラリ更新しちゃったときの為に、synchronize bothで両方向のコピーに。ややめんどいけど現状とりあえずこれで解決。ライブラリ更新したらバッチ実行。
この方法だと3台以上XBMCがある場合には面倒なので、どうしようかなーとう感じですが、今は2台なのでいいか。
2010/11/27
2010/11/25
2台以上のXBMCでライブラリデータベースを共有・シンクロさせる方法
XBMCのライブラリは本当に素晴らしいです。2台以上XBMCがある場合にもNAS上のファイルをライブラリに登録しておけば同じコンテンツは共有できます。ですが、どうやって同じライブラリを維持するのか、rsyncでデータベースファイルを同期すればいいのか、など色々考えていました。ですが、少し調べてみたらr28117よりも新しいバージョンであれば、MySQL上にライブラリを置いて複数台のXBMCから参照する事ができるようです。これはホントに素晴らしい機能です。つい先日ガレージのPCに2つ目のXBMCを導入したのもこの機能が使いたいが為です。
これでどんな事ができるかというと、
必要なもの : 2台以上のXBMC、各XBMCから(同じpathで)参照できるコンテンツ、MySQL
僕の場合コンテンツは全てNAS上に置いてあって、MySQLは玄箱で動いていたのをそのまま使っています。
こんな感じです。では同じ画面を子XBMCで見てみると、
あれ、おかしいな。バナーが表示されないぞ。。。
バナーは表示されていませんが、右上のアイテム数やページ内の番組は同じになっていて、ライブラリの共有が成功している事がわかります。また、視聴済みのチェックもちゃんと同じになっている。素晴らしい。かなり画期的な事ですよ、これ。
次に気になる一時停止の情報が共有されるかを試してみます。親XBMCで適当なファイルを再生し、以下の適当なところで停止してみます。20:14らへんで停止。
これでいつもどおりなら親XBMC上では同じ場所から再生ができます。このとおり20:15から再開するかと聞かれます。ここまでは普通の動き。
ではいよいよ、同じファイルを子XBMCで再生してみます。
全く同じ20:15から再開するか聞かれました。うおおおお!これは便利すぎる!!!
というわけで、リビングで途中まで観た映画を別の部屋で再開する、といった運用が可能になりました。なんて素晴らしいんだXBMC。
ちなみにこの内容はほとんどこのlifehackerの記事を参考にしただけです。ありがとうlifehacker。サムネイル/FanArtに関しては既にワークアラウンドを見つけたのでまた別途紹介します。
これでどんな事ができるかというと、
- ライブラリの共有
2台のXBMCでスキャンを繰り返す必要がなくなります。視聴済み情報も共有されます。 - Bookmark、一時停止箇所の共有
リビングで観ていたドラマの続きを別の部屋で観るといったことができます。
必要なもの : 2台以上のXBMC、各XBMCから(同じpathで)参照できるコンテンツ、MySQL
僕の場合コンテンツは全てNAS上に置いてあって、MySQLは玄箱で動いていたのをそのまま使っています。
- すでにライブラリを構築しているXBMCと、新たに作成するXBMCがあるとします。前者を親、後者を子と仮に呼びます。子は複数台あっても同じ手順でOKです。
- 親XBMCで、既存のライブラリをエクスポートしておきます。まずはビデオ。[設定]-[ビデオ]-[ライブラリ]-[Export Video Library]で"Single file"を選択し、任意のディレクトリに保存します。ライブラリの量にもよりますが、時間がかかります。
- 次にミュージックライブラリのエクスポート。[設定]-[ミュージック]-[ライブラリ]-[Export Music Library]で"Single file"を選択し、こちらも任意のディレクトリに保存します。これらのエクスポートしたライブラリは後ほど使用します。
- MySQLの設定をします。XBMC用のDB2つとユーザを追加します。まあとにかく以下の操作をしてください。
# mysql -u root -p
これでユーザ名xbmcパスワードxbmcでXBMCから接続ができるようになります。
Enter password: <パスワード入力>
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.0.32-Debian_7etch4-log Debian etch distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> CREATE USER 'xbmc' IDENTIFIED BY 'xbmc';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL ON *.* TO 'xbmc';
Query OK, 0 rows affected (0.00 sec)
mysql> CREATE database xbmc_video;
mysql> CREATE database xbmc_music; - 次に親XBMC側で以下のディレクトリに"advancedsettings.xml"というファイルを以下の内容で作成してください。
Linux: /home/xbmc/.xbmc/userdata
Windows: %APPDATA%\XBMC\userdata
<advancedsettings>
<videodatabase>
<type>mysql</type>
<host>mysqlサーバのIP</host>
<port>3306</port>
<user>xbmc</user>
<pass>xbmc</pass>
<name>xbmc_video</name>
</videodatabase>
<musicdatabase>
<type>mysql</type>
<host>mysqlサーバのIP</host>
<port>3306</port>
<user>xbmc</user>
<pass>xbmc</pass>
<name>xbmc_music</name>
</musicdatabase>
</advancedsettings> - これでXBMCを再起動し、[設定]-[ビデオ]-[ライブラリ]-[データベースの更新]を行うと、正しく設定ができていればMySQLのxbmc_videoにテーブルが追加されるはずです。
- MySQLとのやり取りが確認できたら、親XBMCでライブラリのインポートを行います。まずビデオから。 [設定]-[ビデオ]-[ライブラリ]-[Import Video Library]で項番2でエクスポートしたディレクトリを選択してください。"xbmc_videodb_yyyy-mm-dd"のようなディレクトリです。
ライブラリのサイズにもよりますが、僕の場合インポートに4時間ほどかかりました。。。 - 次にミュージックライブラリのインポートをします。[設定]-[ミュージック]-[ライブラリ]-[Import Music Library]で項番3でエクスポートしたディレクトリから"musicdb.xml"を選択してください。
- これでライブラリの状態が最初と同じになりました。ただ、ライブラリはMySQL上に格納されているのが違いとなります。
- 次に子XBMCの設定です。項番5と同じ作業をしてください。
- 子XBMCを再起動すれば、2台とも設定は完了です。
こんな感じです。では同じ画面を子XBMCで見てみると、
あれ、おかしいな。バナーが表示されないぞ。。。
そうなんです。バナーやサムネイル、FanArtはMySQLに格納されないので個別のXBMCに持つ必要があるのです。現状ではライブラリをDBに置くだけではScrapeしたXBMC(ライブラリのスキャンをし、画像ファイルをローカルに持っているXBMC)上でしかサムネイル/FanArtは表示されないのです。この点については別の方法で解決したので、また別途紹介します。今回はとりあえず、ライブラリの共有がうまく行っているかを引き続き確認します。
バナーは表示されていませんが、右上のアイテム数やページ内の番組は同じになっていて、ライブラリの共有が成功している事がわかります。また、視聴済みのチェックもちゃんと同じになっている。素晴らしい。かなり画期的な事ですよ、これ。
次に気になる一時停止の情報が共有されるかを試してみます。親XBMCで適当なファイルを再生し、以下の適当なところで停止してみます。20:14らへんで停止。
これでいつもどおりなら親XBMC上では同じ場所から再生ができます。このとおり20:15から再開するかと聞かれます。ここまでは普通の動き。
ではいよいよ、同じファイルを子XBMCで再生してみます。
全く同じ20:15から再開するか聞かれました。うおおおお!これは便利すぎる!!!
というわけで、リビングで途中まで観た映画を別の部屋で再開する、といった運用が可能になりました。なんて素晴らしいんだXBMC。
ちなみにこの内容はほとんどこのlifehackerの記事を参考にしただけです。ありがとうlifehacker。サムネイル/FanArtに関しては既にワークアラウンドを見つけたのでまた別途紹介します。
2010/11/23
Windows版XBMCのセットアップ(日本語化+Transparency!導入)
今日久しぶりにXBMCのWindows版を入れてみたので、その方法を紹介しておきます。今はXBMC本体及びTransparency!の配布されているパッケージに僕がちょこちょこっと整備した日本語言語ファイルが含まれているので、作業としては至って簡単。フォントのファイルを入れてあげるだけです。ややこしい言語ファイルの入れ替えとかは必要ありません。
用意するもの: XBMCのインストーラー、適当な日本語フォント
ホーム画面もこんな感じでちゃんと日本語になりました。

下に流れているRSSフィードはRssFeed.xmlってファイルをいじって日本語のフィードを取るようにすればOKなんですが、説明は割愛します。
僕はTransparency!を好んで使っているのでこの方法ですが、ConfluenceやXperienceなんかも基本的にはこれと同じ手順で日本語化できます。フォントを用意して、skin.xxxx\fontsに上書きするだけ。ただ、スキンはそれぞれ専用のフォントに合わせてサイズが計算されていたりしますので、適当なフォントでやると枠からはみ出たりしますので色々試してみてください。
ちなみに今回メモリ512MBしかないThinkPad X31にXBMC入れたんですが、720pの動画まではSMB経由で問題なく視聴できました。結構ぼろいPCでもいけるんだなと。
これから2台のXBMCでMySQL上のライブラリを共有する方法を試してみるので、それもできたら書きます。リビングで見てたドラマの続きをガレージのPCで見る、とかやりたいんですよね。便利すぎる。
用意するもの: XBMCのインストーラー、適当な日本語フォント
- 今日現在一番新しいのはDharmaのRC1なので、xbmc-r35326-Dharma_rc1.exeをダウンロードし、ダブルクリックしてインストーラーを起動します。
- 基本的にはNextNextでOKですが、言語はEnglishとJapaneseだけあればいいです。他の言語があってもいいですが、僕は外しちゃいます。
- インストールが終わるので、"Run XBMC"にチェックを入れてそのままXBMCを起動してしまいます。
- 最大化して起動してくるので、"\"キーを押下してWindow表示にしましょう。その方がこのあとの作業がやり易いので。というか、このキーがわからないといちいちXBMC落としたりしちゃうので、ここで覚えましょう。\。
ちなみにこのスキンはConfluenceってデフォルトのやつ。かっこいいですね。でも僕はこれを使っていないので、Confluenceの日本語化は飛ばしてしまいます。 - カーソルキーとEnterキーを使って、 [System]-[Add-ons]-[Get Add-ons]-[XBMC.org Add-ons]-[Skin]-[Transparency!]の順に遷移進んでください。そんで、[Install]でEnter(またはマウスクリック)。
- 待ってるとダウンロード/インストールが終わり、「このスキンに切り替える?」ってポップアップが出るので[Yes]でEnterまたはクリック。
- これでTransparency!にスキンが切り替わりました。いったんXBMC上での設定はここでストップ。
- さて、XBMCのスキンには通常日本語フォントが含まれていないので、ここでは日本語フォントを用意します。僕が使っているのは、「VL Pゴシック」というオープンソースのフォントです。なんとなくXBMCの雰囲気に合っていると思って使っているんですが、ここは好みでどうぞ。メイリオが好きならメイリオでも。
- 用意した日本語フォントのファイルを、"arial-caps.ttf"にリネームして以下のディレクトリに上書きコピーしてください。
%USERPROFILE%\Application Data\XBMC\addons\skin.transparency\fonts - コピーが終わったらXBMCに戻り、[Appearance]-[Skin]-[Fonts]で"Arial"を選んでください。
- 次[International]-[Languages]で"Japanese"を選んで少し待ちます。すると表示が日本語に切り替わります。
- これで日本語化は完了です。簡単ですね。
ホーム画面もこんな感じでちゃんと日本語になりました。
下に流れているRSSフィードはRssFeed.xmlってファイルをいじって日本語のフィードを取るようにすればOKなんですが、説明は割愛します。
僕はTransparency!を好んで使っているのでこの方法ですが、ConfluenceやXperienceなんかも基本的にはこれと同じ手順で日本語化できます。フォントを用意して、skin.xxxx\fontsに上書きするだけ。ただ、スキンはそれぞれ専用のフォントに合わせてサイズが計算されていたりしますので、適当なフォントでやると枠からはみ出たりしますので色々試してみてください。
ちなみに今回メモリ512MBしかないThinkPad X31にXBMC入れたんですが、720pの動画まではSMB経由で問題なく視聴できました。結構ぼろいPCでもいけるんだなと。
これから2台のXBMCでMySQL上のライブラリを共有する方法を試してみるので、それもできたら書きます。リビングで見てたドラマの続きをガレージのPCで見る、とかやりたいんですよね。便利すぎる。
2010/10/07
男性用小便器について便器屋さんに聞いてみた
男性用小便器。みんな使ってますよね。外で。だって滅多に家には無いですもんね。俺も家建てるとき最初は付けたいって言ってたんですけど、妻と建築家にサクッとスルーされて諦めたって経緯があります。んでもって今はもっぱら座りしょんですよ。え、情けない?いやいや飛沫で汚れるよりいいですよ。ホント。
閑話休題。オフィスや駅や店舗のトイレでお世話になってる男性用小便器。あれってどこを狙うのが正解なんですかね。正解っていうか、一番飛沫が少なくて済むのはどうやって使ったときなんですかね。あれどうやっても飛沫がハネますよね。
俺が良くやるルーティーンとしては、 排水口直撃→真正面→内側側面をなるべく角度ゼロで狙う→とかって感じで、毎回違う方法で使ってます。排水口狙うとジョボジョボうるさいんですよね。でもなんか、狙っちゃう。側面は結構賢いんじゃないかと思うんですが、ちょっと体勢が不自然になったりします。うーん、うーんと試行錯誤してたらもう33歳ですよ。そもそも設計時はどう考えてあれ作ったんだろ、と考え出したら止まらなくなって、結局便器メーカーに聞いてみるのが一番いいという結論に達しました。
さっそくTOTOとINAXのWebサイトから、問い合わせのページを探して以下のような質問をしてみました。冷やかしかと思われるだろうなあと心配しながら。でもいたって真面目です 。
いつも(お手洗いでは)お世話になっております。八王子市のキョウヘイと申します。返事が来るかなーと待っていたら、さっそく翌日にINAXお客様相談センターから回答を頂戴しました。以下に転載します。
店舗やオフィスに設置されている男性用小便器に対して質問させてください。男性用小便器を使用する際には、どこを狙って用を足すのが正解でしょうか?つまり、設計時にはどこに目掛けて小便が飛んでくると想定されているでしょうか?正面の壁を狙うべきか、排水口を直接狙うべきか、それとも側面の壁に小さい角度で入射するべきか、日々試行錯誤しております。というのも、どのようにしても飛沫がズボンにかかることが避けられず、少しでも飛沫の少ない方法で用を足したいからです。
大変お手数ですが、設計時のお考えについてご回答いただけますでしょうか。
よろしくお願いいたします。
お問合わせ頂きました小便器狙い位置の件ですが、 設計上の目安と致しましては排水口よりも10~15cmぐらい高い壁面中心辺りが条件的にはいいのではないかと考えております。なるほど、参考になるわ!10〜15cm上ね。でも設計上どうしてその位置がいいのかって部分についてはちょっと弱いかな。でも何しろ、これがきっと便器メーカーの公式見解としては世界初に違いない(?)わけで、今後の指標にはなるだろう!!というか、その位置狙って用足してみますね。
それでも完全に飛沫を解消させるという事は難しいかもしれませんが、飛沫がより少なくなる様な商品開発を今後も努力していく所存でございます。
INAXお客さま相談センター
そう言われてみると、飲み屋なんかでその辺の位置にシールが貼ってあったりしますね。あのシール剥がすとき嫌だろうな、とかそんなことばっかり考えながらいつも狙ってますけれども。うーんでもどうしてその位置なのかについてもうちょっと聞いてみたいなー。
でもまあ取り合えずTOTOの回答も来るかもしれないので、もう少し待ってみることにしました。
そして翌日、なんとTOTOからも回答頂戴しましたー!転載します。
小便器ご使用時の小水ハネに関する趣き、承りました。
ご指摘のようにご小用の際、ご体調(水勢)や放水角度、着地ポイントなどによって小水ハネ生じることがございます。物理的な事象ではありますが、ご不快のことと申し訳なく存じております。
水勢が大きいほど、また当り角度が直角に近いほど小水はハネ易くなります。
逆に小水の放水軌跡がボウル前面に平行に近くなりますと、ハネは軽減されます。したがいまして、便器の機種により異なりますが放水角度を加減され排水口への傾斜が始まるやや上方辺りが適切ポイントと申せます。簡単ですがイメージ図を作りましたので、ご参考とされたくお願い申し上げます。
これとて、さまざまな要素が関わるためハネを完全撲滅いただけるレベルではないことをご理解賜りますと、幸いでございます。
公共建物の施設管理者様ではハネによる床などの清掃負荷軽減の見地から、便器に接近し上図同様のポイントに当てることを心理的に促すため、ポイントシールを貼付されるケースが増えていることは、ご存知かと存じます。
メーカーといたしましても、このような事象は課題であると認識し改善研究に注力しておりますが、残念ながらハネ発生0レベルには至ってはおりません。
明快なご回答が差し上げられず恐縮でございますが、事情ご賢察のうえご了承賜りますようなにとぞよろしくお願い申し上げます。
TOTO株式会社 お客様相談室
何てちゃんと誠実な回答なの!結構心打たれました。INAXには悪いですが、ちょっとTOTOの方がカスタマーサットとしてはポイント高いかなと思いました。 いや、INAXも回答すごく早いし全然不満はないんですよ。まあこれは客対応の良し悪しを比較するのが目的じゃないのでそれは置いておいて、なんと図まで添付してもらっちゃいました!これも転載しちゃいますね。

なるほどなあ。つまりこれってやっぱり角度ゼロに近ければ近いだけ良い、ということなんだろうな。そりゃそうだ。直角に当てちゃダメって言ってるしね。でもこの絵って床まである長いタイプの小便器なんだよね。一般的には腰高の方が多いと思うんだけどどうだろうか。その場合この角度で放物線描くのって難しいよね。まだ勢いがあるから。だから俺は内側側面狙う方法考えたんだけどね。うーん。
まあとにかく、角度をなるべく小さく入射させるようにせよ、ってことだな!なんかちゃんと回答もらったけどそれほど目新しい事実は無かったね、実際。まあそりゃそうなんだけどね。でもまあ今日のところはこれで良しとしよう。衛生陶器大手2社がこんなに真面目に商売をしているってのがわかっただけでよし。TOTOとINAXにはこの場を使ってお礼を言おう。どうもありがとうございました。
とりあえずまとめると、
とりあえずまとめると、
- なるべく小便が便器にあたる角度を小さくする事
- 排水口の上12,3cmほどを狙う事
となりますね。排水口の上12,3cmがちょうど傾斜が始まるあたりか。だとするとなんだか整合性が取れて、いい感じ。みんなもこんな感じで小便をしましょう。
ってわけで、明日からも真面目に小便をしようと心に誓いましたよ。真面目に作ってくれてるなら俺も真面目にやらないと。大体お前らみんな真剣に小便器の使い方考えた事あるわけ?これはメーカーと俺達のガチンコ勝負なわけだからさ。頼むよ。
ところで、実はとっておきの1m以上離れるって方法があるにはあるんだけど、人前じゃ出来ないし自分のズボンに飛沫はハネ無いけどトイレ全体が汚れるから実用化はしてないんだよね…よし、また新しい飛沫の少ないスタイルを模索しようっと。
2010/09/29
sshリバースポートフォワードのメモ
普段から順方向のポートフォワードはやたら多用してるんですが、逆方向、つまりかっちょよく言うとリバースポートフォワードを使えるようにsshサーバを設定変更したのでそのメモ。
# vi /etc/ssh/sshd_configで、以下の1行を追加。
GatewayPorts yes"yes"じゃなくて"clientspecified"の方がいいかもしれませんが、これ設定したところでどのIP使ってリスンするかが変わるだけなので別にいらないかな。接続してくるホストを制限できるわけではない。
で、sshd再起動したらクライアント側から、
# ssh -N -f -R 10022:localhost:22 usename@remotehostでOK。便利ですね。
具体的な使い道としては、クライアント側がinboundの通信許可してなかったりNATの下だったりしたときかな。さらに具体的に言うと、NAT下(どこ?)で起動させたままのPCのリモートデスクトップに家から接続したりとか、かな。。。localhostじゃなくてホスト指定したりするとすっかりバックドアなので、セキュリティには気を配って使いましょう。かなり便利。
なんかもうsshサーバが1台あるとすっかりVPN装置/FWの如く遊べるから楽しいわ。
2010/09/23
XBMCで音が出ない動画をffmpegでどうにかしたメモ
いつからかわからないんですが、以前はちゃんと再生できてたモノラル音声かつサンプリングレート48kHz以外の動画ファイルをXBMCで再生しようとすると、音が出ないことに気づきました。どっちが悪いのか切り分けてませんが、この2つの条件が重なると”failed to initialize audio device”ってエラーが出たりして(出ないパターンもあるので難解。。)音が出ない。つってもかなり昔にエンコードしたようなファイルだけなので実害は無いのですが、なんか嫌なのでForumで質問したり.asoundrcいじったり色々してみましたが、全然改善しないので発想を変えて再エンコードしてみました。その時のメモ。
携帯動画変換君とか使えばいいのかなと思いましたが、自宅サーバ上で一気にやりたかったのでffmpegを使ってやってみました。便利ですねffmpeg。めっちゃ便利。ubuntu10.04でやった。
とりあえずこれで特に音ズレとかも無しでXBMCから再生できる動画になりました。ホントffmpeg便利なのねえ。
携帯動画変換君とか使えばいいのかなと思いましたが、自宅サーバ上で一気にやりたかったのでffmpegを使ってやってみました。便利ですねffmpeg。めっちゃ便利。ubuntu10.04でやった。
- ffmpegが入ってなければaptitudeで入れる。
- 音声をmp3で再エンコードしたいので、libmp3lameを入れる。単にlibmp3lameと指定しても見つからないけど、以下のパッケージを入れると使える。
# aptitude install libavcodec-unstripped-52
- 対象の動画の音声だけを2chにしてサンプリングレートを48kHzにして書き出す。ビットレートは適宜(デフォルト64kb/s)。
# ffmpeg -i hoge.avi -vcodec copy -acodec libmp3lame -ab 128k -ar 48000 -ac 2 hoge.mod.avi
-vcodec copy: ビデオは同じ設定で書き出す。
-acodec libmp3lame: 音声コーデック指定。
-ab: 音声ビットレート指定。kをつける。
-ar: 音声サンプリングレート指定。
-ac: 音声チャンネル数指定。2chに。
# for i in *.avi ; do ffmpeg -i $i -vcodec copy -acodec libmp3lame -ab 128k -ar 48000 -ac 2 $i.mod.avi ; done実は最初はこうやって一発でできるってわからなくて、一度mp3だけ設定変えて書き出し→音声消した動画だけ書き出し→両者を結合、とか3回も処理させてました。なんでかって、まずmp3だけ書き出し→元の動画と結合、ってやってみたら元の動画の音声がそのままになっちゃったからでした。じゃあ一度音消して結合すればいいや、というわけですね。色々試してみたら、先に読み込ませた方の音声が有効になる(?)みたいでした。つまり、音の入っている動画ファイルに音声かぶせるときは、
# ffmpeg -i hoge.avi -vcodec copy -i hoge.mp3 -acodec copy hoge.mod.aviだとダメで、
# ffmpeg -i hoge.mp3 -acodec copy -i hoge.avi -vcodec copy hoge.mod.aviだとOK。なんだかそういう事みたい。ふーん。紆余曲折っと。
とりあえずこれで特に音ズレとかも無しでXBMCから再生できる動画になりました。ホントffmpeg便利なのねえ。
Categories:
Home Server,
Ubuntu,
XBMC
2010/09/05
TVDB bulk uploader
僕が最高にお世話になっている、TheTVDB.comというサイトがあります。このサイトはなにかっつーのをかいつまんでお話ししますと、TVシリーズの情報を集めたオープンのDBで、XBMCなんかのメディアセンターから参照してシリーズやらエピソード情報が取得できるそんなサービスです。もうちょっと詳しく言うと、Aというテレビ番組があって、そのシーズン1の第1話だったら録画したファイルを「A 1x01.mp4」とかってファイル名にしておいて処理をすると、XBMCのライブラリにこんな風に情報を取りこめるんですね。
まあ多分日本国内で10人位しか興味の無い話だと思います。
でですね、例えば大量に話数のあるシリーズを登録する時とかって、1話1話TVDBのWebからせっせと登録が必要なわけですよ。これがちょー面倒なんです。4クールあるアニメとかであらすじまで入れ出すともう日が暮れます。基本的に公式サイトからのコピペなんですが、それにしても面倒です。それでもXBMCのファイルブラウザから視聴するよりもライブラリに登録したほうが150倍メディアセンターの意味があるので、せっせと登録したりしてました。
余談ですが、これって本来オープンなDBなのでWikiみたいにいろんな人が編集してくれるもんなですよね。例えば本場の24とかLostなんかはすげースピードで登録されてて一切手伝う必要がないくらい。ただ日本でTVDBっていうかXBMC使ってライブラリ管理してるのってもしかして俺が一番ヘビーユーザなんじゃねえの?ってくらい日本語情報が無いので、せっせと登録とかになっちゃうんですよね。もっとユーザ増えないかなあ。 かと思うとこんなマニアックなドラマが登録されてるの?って事もあったりして、密かに使用者はいるみたいなんですが。
閑話休題。そういうわけで、プログラムを組んだりとかできないですがなんとかCVSを読み込ませてエピソード情報の登録ができないかなと考えてみました。で、例によってJMeterを使ったら結構簡単にできました。とりあえずこれが入ってないとダメだろ、っていうエピソード名とオンエア日くらいは簡単にまとめて入れられるようになった。
詳しくJMeterのシナリオの作り方とかTVDBのエピソード管理の方法とか書こうと思ったんですが、面倒なので割愛しちゃいます。どうせ誰も興味ないしw 簡単に言うと、以下みたいなCSVファイルを作ってJMeterの「CSV Data Set Config」機能で変数としてPOSTパラメータに入れてあげるってだけです。
んでもってCSV Data Set Config。
まあ多分日本国内で10人位しか興味の無い話だと思います。
でですね、例えば大量に話数のあるシリーズを登録する時とかって、1話1話TVDBのWebからせっせと登録が必要なわけですよ。これがちょー面倒なんです。4クールあるアニメとかであらすじまで入れ出すともう日が暮れます。基本的に公式サイトからのコピペなんですが、それにしても面倒です。それでもXBMCのファイルブラウザから視聴するよりもライブラリに登録したほうが150倍メディアセンターの意味があるので、せっせと登録したりしてました。
余談ですが、これって本来オープンなDBなのでWikiみたいにいろんな人が編集してくれるもんなですよね。例えば本場の24とかLostなんかはすげースピードで登録されてて一切手伝う必要がないくらい。ただ日本でTVDBっていうかXBMC使ってライブラリ管理してるのってもしかして俺が一番ヘビーユーザなんじゃねえの?ってくらい日本語情報が無いので、せっせと登録とかになっちゃうんですよね。もっとユーザ増えないかなあ。 かと思うとこんなマニアックなドラマが登録されてるの?って事もあったりして、密かに使用者はいるみたいなんですが。
閑話休題。そういうわけで、プログラムを組んだりとかできないですがなんとかCVSを読み込ませてエピソード情報の登録ができないかなと考えてみました。で、例によってJMeterを使ったら結構簡単にできました。とりあえずこれが入ってないとダメだろ、っていうエピソード名とオンエア日くらいは簡単にまとめて入れられるようになった。
詳しくJMeterのシナリオの作り方とかTVDBのエピソード管理の方法とか書こうと思ったんですが、面倒なので割愛しちゃいます。どうせ誰も興味ないしw 簡単に言うと、以下みたいなCSVファイルを作ってJMeterの「CSV Data Set Config」機能で変数としてPOSTパラメータに入れてあげるってだけです。
1,364,Pilot,2010/09/051つ目のカラムはエピソード番号。2つ目はTVDBで使ってる"id"ってパラメータの番号(e.g. 425023→425024だったり、2743641→2743651だったり法則ちゃんと調べてないんですが、前者だったら023→024、後者だったら364→365を使う)。3つ目はエピソードの題名。4つ目はオンエア日です。適宜あらすじとか脚本家の名前とかも追加できますが、この4つがあれば少なくともライブラリに登録できます。日付はなくてもOKかな。
2,365,xxxxxxx,2010/09/12
んでもってCSV Data Set Config。
これで今後新しいシリーズまとめて登録するのが億劫じゃなくなりました。なんかあんまり連続したリクエスト送るとTVDBに制限されちゃいそうですが、しばらくこれでやってみます。いや、まとめて何十話も登録するって滅多に無いんですけども。
登録:
投稿 (Atom)