XBMC 9.04 Babylon をインストールしました

何か愉快なことがないかな、、とおもっていたら XBMC がバージョンアップしているじゃないですか! これは導入しなくてはいけません。

XBMC は初代 XBOX のメディアプレイヤー化プロジェクトを発端として、現在 Windows / Linux / Mac OS X でも動作する STB っぽいインターフェースを持つメディアセンターです。 テレビにつないで、サーバとかローカルストレージにある音楽とか動画を再生することができます。(テレビにつながなくてもいいですが、要はフル画面向けということですね!)

XBMC Media Center for Mac OS X, Windows and Linux

XBMC is an award winning media center application for Linux, Mac OS X, Windows and XBox. The ultimate hub for all your media, XBMC is easy to use, looks slick, and has a large helpful community. Try it now!

ということで、ドキドキしながら初代 XBOX にインストール。。 XBOX へのインストールはちょっとハッキッシュなので、トラブルと大変なのです(笑)

途中、FTP ディレクトリ間違って XBOX 起動不能にしたり泣きそうになりそうでしたが、なんとか DVD 起動などを駆使して・・・

[tegaki]動いた![/tegaki]

以下、XBOX 版の 9.04.1 の画面です。 🙂

Visualization かっこいい。

xbmc04 

動画も OK です。 codec が新しいものになったそうなので、再生互換もあがっていることでしょう。

xbmc02 

音楽再生。 どっかでみたインターフェースもいけてます。

xbmc03

ネットワーク上の Windows の共有ディレクトリもちゃんとみえます。

xbmc01

OKOK!

XBOX 版は新機能は少ないのですが、こなれていていい感じですね。 動画再生のレジュームがついたのがうれしいところです。 ちなみに、Linux 版もみていますがやはり古くからあるだけあって XBOX 版がいちばんきれいに動いている印象があります。

さて、XBOX の動作試験もかねて動画とかみていたのですが、なんか、、ねむい表示。。 と冷静に考えたら、最近テレビでみるのってハイデフ画質ばっかりなんですよね。 XBOX は 16:9 に対応しているとはいえ 720×480 どまりなのでほかでなれてしまうと動画はちょっとさびしいのかもしれません。(とはいえ、3秒起動でネットラジオかけれるのは今なお魅力です)

で、ちかごろ XBMC は Linux ほかのプラットフォームの移植に力が入れられています。 というわけで、Linux 版もいれてみました。 LiveUSB 版とかもあってなかなかいい感じです。

いつも使っている Ubuntu で動かしたので動画にしてみました。

かっこいいでしょ。 🙂

PC 移植版は当然、最新の PC で動かすことができますので、XBOX では不可能な H264 の HD とか重い圧縮ファイルを高解像度で再生することができます。

で、もうひとつ。

xbmc00

動画再生設定の Render method のところで、VDPAU を選択することができます。 これは NVIDIA のグラフィックカードの動作再生支援です。 まぁここで動かした PC はある程度 CPU が速いのであまり恩恵は…。

は! NVIDIA ION + ATOM!

最近よくきくミニベアボーンの構成ですが、これで XBMC を動かして HDMI でテレビ接続したらファンレスとかもできて低電圧でかなりいい感じかも、、、って思ったら、

やっぱり、やっている人が(笑)

HD 動画もコマ落ちせずにきれいに再生できているようにみえます。 っていうか、Linux の NVIDIA ドライバ、もう ION に対応していたのか。。(笑)

もし、リビングで音楽とか動画とかネットラジオとかしてみたい方がいたら挑戦してみるといいかもしれません。 ちなみに AppleTV でも XBMC は動作するらしいです。 🙂

WordPress 2.8 の xmlrpc 経由の投稿で記事とメディアの関連がつかない場合

WordPress 2.8 リリースということでみなさん続々とアップデートされていますね! 🙂

そんなこんなで、twitter をのぞいていたら 2.8 以降の投稿で wp-kougabu の画像がでてこないという話がちらほら。 なんかやらかしたかと思ってみてみたら、どうも kougabu じゃない模様。 コアの不具合なのか、xmlrpc 経由の投稿だと記事とメディアがくくりつかない現象がでているようです。

記事とメディアのくくりつけは管理画面のメディアライブラリでみることができます。

xmlrpc02

ちょっと小さくて見づらいですが、”リンク先” という項目があって記事名がでているのが見えていると思います。 これがでているメディアは、記事が結びついているということになります。

wp-kougabu を使われている方は気がつきやすかったのですが、どうも 2.8 で xmlrpc 経由で投稿するとうまくこのリレーションが結びつかないようです。 実際には、(wp_)post テーブルの post_parents という項目で制御されています。

なんでだろーとおもって、xmlrpx.php を追っていく。 と、

$post_id = –1;

動きとしては、まず post_parents を –1 の未確定状態として画像を (wp_)posts に登録して、その後のシーケンスで –1 になっているものを探して、記事の id で post_parents を上書きするようになっています。

だがしかし、(wp_)post をみると 0 で登録されているのです。 なぜ?

ふと、(wp_)posts テーブルの DDL をみてみると、

CREATE TABLE wordpress_28x.wp_posts
(
    (略)
    ID                          BIGINT UNSIGNED NOT NULL,
    post_parent                 BIGINT UNSIGNED NOT NULL,
    (略)
)

ありゃ、UNSIGNED になっていますねぇ。。 これでは –1 は入りません。

というわけで、超ハックコードですが直し方。

xmlrpc.php を –1 で検索して、それを 999999 とかにしてください。(コメント含めて 3カ所)

とりあえず、なおるとおもいます。。。 このコードはいんちきなので、緊急避難という扱いでお願いいたします。

しかしながら xmlrpc 的にはこのへんあんまり変わってないぽいんですよね、、、なんでいままで動いていたか追う元気はありませんでした。 原因も間違ってたらごめんなさい。

2.8 ではデータベースのフィールドをみて SQL を組み立てるようになっているのですが、そのへんとからんで潜在的な不具合が出たのかもしれません。

xmlrpc01

trac みてないけどもうあがっているかな・・・。 xmlrpc 投稿をしている方はみてみてください~。

この投稿がうちのギャラリーにでてばとりあえずは、直ったということで。(ほんとにとりあえずですが。。

あとあと、これはまったく別件ですが、xmlrpx 経由の投稿でタグが削れるという環境的な問題が起きている方は Toru さんのエントリが参考になります。 (今の xampp が該当かもしれません

さくら+WordPressでHTMLタグが消えるバグ « Waviaei

Vistaを入れ直した際に、最近使い始めてたWLWな再インストールしたんですが、ローカルからサーバへ投稿した時になぜかHTMLタグの<や>が取り除かれると言う不具合が。再インストールが原因とも思わなかったけど、原因が分からずアンインストール。

しかしその原因と対策方法がようやく分かりました。

PHP がつかっている libxml2 ライブラリの問題ですが、以下のプラグインをいれると解決することができます。 Toru さんありがとうございました!

WordPress › LibXML2 Fix « WordPress Plugins

Work around for some versions of libxml2 2.7.x that strip out brackets when parsing XML. This plugin fixes XML-RPC requests that are mangled because of this problem. The real fix for this (making the use of this plugin unnecessary) is to use PHP 5.2.9+ with libxml2 2.7.3+.

静的 HTML に WordPress を埋め込む方法

実は昔の hiromasa.zone なんかがそうだったりしましたが、WordPress の情報を WordPress 管轄以外から取得したいときがあります。

たとえば、静的 HTML のトップページに WordPress の新着をだしたい、、とかですね。 全部のページ WordPress でやるのもおっくうってこともあるわけです。 🙂

そんな場合は以下のようなコードを使うのもひとつの方法かもしれません。

とりあえず、静的 HTML の場合は、拡張子を .php とか変更して PHP が動くようにします。

すでに、.html で他からリンクしちゃっていてリネームできないよーって方は mod_rewrite で化かすとかとかしてください。 / で終わる URL のときは、index.html をリネームして index.php にすれば OK です。

で、こんなコードを元 html に挿入します。

<?php // wp-load.php を include して WordPress をテーマなしで起動する ?>
<?php // 該当 HTML の先頭行に wp-load.php のパスを自分にあわせて以下を挿入 ?>
<?php include_once "../wordpress-another/wp-load.php" ?>
<html>
<head></head>
<body>
 
<!-- このへんまで普通の HTML かく -->
 
<?php // たとえば WordPress から最新5件のエントリ名を持ってきたい場合 ?>
<?php // 以下 7行を HTML にコピペする ?>
<?php query_posts('showposts=5'); // 最終5エントリ取得のループをつくる ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<!-- ここからWordPressのテンプレートタグをかく -->
<p><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></p>
<!-- ここまで -->
<?php endwhile; ?>
<?php endif; ?>
 
<!-- このへんからも普通の HTML かく -->
 
</body>
</html>

wp-load.php を WordPress 以外から include して、query_posts 関数でループをつくってあげれば、好みの条件でループの作成ができます。

一点注意ですが、この方式の場合 WordPress の状態、というかまぁ MySQL の動作にひっぱられるので、MySQL がよくおちるサーバだとページに不具合がでてしまう可能性があります。

それを嫌う場合、をかもとにいさんの方式が良いと思います!

Google AJAX Feed API : dogmap.jp

これを実現するために JavaScript で RSS フィードを取得して表示する方法を調べたので、自分用にメモ。

JavaScript 経由で WordPress の RSS をよんでうめこみます。 非同期なので体感表示速度的にも、をかもとさんの方式が有利だと思います。

ぼくのこの記事、 WordPress 直読みは方式は、ページに投稿を即反映したいとか RSS 以外の情報を取りたいとか、投稿を100件とりたい(笑)とかいった要件がある場合によいかもです。 WP のテンプレートタグがそのまんま使えます。

というわけで、呼ばれて飛び出て、メモおしまい。。

お休み中のためオチはないのです。 ←そこの違いなのか!?