Miro――オンラインビデオの検索とカジュアル再生に特化したプレーヤ

 当初それはDTVという名称で登場し、次にDemocracy Playerと名を変え、そして現在ではMiroと呼ばれるようになった。その呼び名が何であれ、このMozillaベースのクロスプラットフォーム型オープンソース系ビデオプレーヤは、今やパブリックリリースの段階に到達している。MiroにおけるVLCなどのプレーヤとの最大の相違点は、操作性に優れたコンテンツの検索および管理ツールを装備している点だ。そのような機能に特別な意味はないと言う読者もおられるだろうが、その場合は本稿を一読した上で、是非とも再考して頂きたい。

 Miroのダウンロードに関しては、Linux、Mac OS X、Windows版を個別に取得することができる。現行の最新リリースはバージョン0.9.8.1であり、その位置づけはPublic Preview 1とされている。なおLinux版については、ビルドノート付きソースコードや、Fedora、Ubuntu、Debian用のバイナリ版を直接入手できるなど複数のダウンロードオプションが用意されており、こうした配布態勢は高く評価すべきだろう。

 Miroの開発ベースはMozillaプラットフォームであるが、それに付随する依存関係の多くもそのまま継承しており、Mozillaそのものが巨大かつ複雑な構造をしているため、予期せぬトラブルを誘発している。例えば、一部のユーザからはSunのMozilla用Javaプラグインがトラブルを引き起こすとのレポートが出されているが、MiroそのものはこのJavaプラグインをまったく使用していないのだ。こうした問題の最新情報についてはサポートフォーラムにて確認して頂きたい。

 ビデオコーデックのサポートに関しても注意が必要だ。Miroの場合、再生システムとしてはXineおよびGStreamerが使用できるが、現行のXineライブラリはH.264の再生に重大なバグを抱えているのである。

 そのような事情があるため、使用するならGStreamerということになると思うのだが、再生エンジンを変更する場合は設定ファイルを書き換えなければならない。設定ファイルは/usr/share/python-support/miro/miro/frontend_implementation/VideoDisplay.pyにあるので、その中にあるXine用の設定行をコメントアウトして、GStreamer用の設定行のコメントアウトを解除する。この設定変更法は初心者には分かりづらく、そもそもアプリケーション本体の動作設定用オプションパネルに装備しておくべき機能だと思うのだが、現状では他に設定変更の手段は無い。

ビデオの再生

miro_1_thumb.png
Miroのガイドサービス
 Miroのアプリケーション画面左側のペインはコンテンツリストに割り当てられており、この領域には、ガイドサービス、検索ツール、各ユーザのローカルライブラリ、プレイリストなどが表示される。画面右側のペインは、再生ウィンドウ兼ビデオの選択用ブラウザに割り当てられている。

 コンテンツの再生については、再生ボタンをクリックする以外に特に行うべきことはない。GStreamerが読み込めるデータであればMiro上ですべて再生できる。ただしフルスクリーン表示をするためのオプションを除き、画質の調整などはいっさい行えない。

 Miroが優れているのは、ネットワーク上のコンテンツを手元のPCに取得する能力である。ここでの処理は、Miroによって自動的にアップデートされる“チャンネル”というビデオフィードベースで行われる。通常のRSSフィードで提供されているビデオ形式のポッドキャストなどは、最も単純な形態のチャンネルの事例だが、Miroにはその他の方法でチャンネルを独自作成する機能も用意されている。例えば、ビデオの検索結果をチャンネルとして保存したり、YouTubeアカウントをチャンネルとして登録することも可能だ。そしてMiroではこうしたチャンネルに対して定期的なアップデート処理を施して、HTTP経由のダウンロードあるいは内蔵されたBitTorrentクライアントによって、該当するコンテンツを取得させることができるのである。

 テレビの番組もそうであるが、ネットワーク上に散在しているビデオの中から自分の見たい内容のものを探すのは一苦労である。そうした状況を反映してMiroの支援団体であるParticipatory Culture Foundation(PCF)が立ち上げたのがチャンネルガイドサービスである。このサービスでは、カテゴリ、キーワード、人気ランク、言語によるフィード検索が行えるようになっている。

 その謳い文句を信じるなら、このガイドサービスに登録されているチャンネル数は1,800を越えているそうだ。ここにはユーザ側からチャンネルを投稿することもできるが、送信した情報は無条件に掲載されるというシステムにはなっていない。投稿内容についてはPCFによるチェックが入り、ビデオやRSSフォーマットに関する技術的な要件および利用規約を満たしているものだけが採用される。

miro_2_thumb.png
MiroによるGoogle Videoの検索
 この数年間でビデオポッドキャストの普及がかなり進んだが、Miroのビデオ検索サービスを利用すると、より広範なコンテンツ検索が行える。このアプリケーションからは、1度に1箇所のみという制限は付くものの、YouTube、Veoh、Google Video、Blogdigger、Revver、DailyMotion、Blip.tvを対象とした検索が行えるのである。ここで行う検索結果は直ちに解析されてダウンロード用リンクが自動作成されるので、RSS形態で提供されているビデオと同等の感覚で、ユーザは希望のコンテンツを入手することができる。

 Miroは、各ユーザが別途収集したローカルライブラリからのビデオ再生にも対応している。ポッドキャストのビデオコンテンツは1度見れば削除される性質のものだという前提の下、これらは自動ダウンロードの取得データとは別扱いにされている。ダウンロードされたビデオについては、デフォルト設定下において6日後には“有効期限”切れとされるが、この失効期間に関する設定は変更が可能であり、必要であれば個々のビデオ単位で失効の対象外にしておくこともできる。

 ユーザの登録したチャンネル(ポッドキャストおよび検索結果の保存)は、Miroの画面左側に一覧される。これらの項目はフォルダベースの整理をすることも可能で、また個々のジャンルごとの登録数や未再生件数を確認できるようにもなっている。

散見される不備

 Miroには未完成な点がいくつか残されている。私が最初に試した際には、定期的にCPU使用率が100%に達し、起動してから数秒後にクラッシュするという現象に遭遇した。この原因については、Miroが個々のビデオに対して行うメタデータの収集とサムネール作成にあることが判明している。私の環境では、MythTVのコレクションなどを含めた相当な数のビデオライブラリが格納されているのだが、こうしたビデオファイルのヘッダやフレームにMiroや再生エンジン側で対処できないものがあると、それがクラッシュを誘発していたのである。

 この問題の対処については、再生エンジンをXineからGStreamerに切り換えたことが役立った。しかしながらカタログ情報の収集に関しては、ユーザによる命令がなくてもMiroが勝手に実行する点はもとより、この処理を停止させる方法が見つからないのである。その後判明したのは、Miroによるコンテンツの自動ダウンロード先を私の巨大なビデオコレクションと同じディレクトリに指定した点に問題があり、この設定については別のフォルダを指定し直すことにした。

 ところがこうした変更後も、Miroによる先のフォルダに対するスキャンは止まらなかったのである。結局のところ、他のユーザ設定がMiroの設定ファイルに書き込まれるのに対して、ユーザの“ダウンロードフォルダ”の設定はGConfキーに記録されることが判明した。つまりMiroのユーザ設定は、拡張子を.miroとするメインの設定ファイル、ここで触れたGConfキー群、そして/usr/share/python-support/miro/miro/にあるサポートファイル群といった、3つの異なる場所に分かれて記録されているのである。いくら何でも、これは統一性が無さすぎるだろう。

 原因が何であれ、ビデオのメタデータを読み込もうとする際にMiroがクラッシュするのは大きな問題である。インターネットからダウンロードしてくるビデオの中には、ヘッダ情報が狂っていたりフレームの一部が欠落しているものがざらに存在している。このことはMiroのログファイルにも記述されているが、それにもかかわらずMiroはガイドサービスの収録ビデオを読み込む際にかなり高い確率でクラッシュしているのである(検索エンジンで見つけたビデオについては、もっと危険である)。

 またMiroは、QuickTimeなど一部のプロプライエタリ系フォーマットをLinux上で再生することができない。この辺の権利関係をMiroが対処するのは不可能だとも思えないのだが、むしろこの不具合は都合が悪い問題への逃げ口上に使われているのではなかろうか。例えば『Ask a Ninja』などは2種類のビデオフォーマットでフィードが提供されているにもかかわらず、Miroはユーザに選択の余地を与えることなくデフォルトで“iPod”フォーマット版を取得するようになっているため、Linux上では再生できないのだ。

miro_3_thumb.png
ビデオダウンロード時のMiroのコンテンツチャンネル
 その他にMiroのユーザインタフェースに関しては、原因不明のフリーズを起こすケースがある。この場合、HTMLによりレンダリングされるガイドウィンドウを除いた残りの画面全体がマウスクリックに反応しなくなり、Miroを強制終了させるしかなくなるのである。またシステムの構成によってはFlashビデオがこのトラブルの原因となることもあり、その際にはサウンドサーバまで巻き添えになってクラッシュし、サウンドサーバを再起動するまで音声関係の再生がすべて不可能となるケースもある。

 私個人としては、BitTorrent経由でコンテンツをダウンロードするというMiroの機能に高い将来性を期待しているのだが、現状ではまだまだ未完成のようである。おそらくはこの方式でコンテンツを配信しているフィードがほとんどないためだろうが、現状のMiroの場合、一般に利用されている.torrentファイルのハンドラとして自分自身をFirefoxに登録するようにもされていない。

まとめ

 以上、いろいろとMiroに付随する不具合を取り上げたが、これらをもってコンテンツ検索機能を始めとする各種のメリットを切り捨てるのは賢明ではないだろう。特にMiroで気軽に行えるビデオ検索の操作性は、Webブラウザの比ではない。選択したビデオを1度クリックするだけで、その後のダウンロードおよびローカルフォルダへの格納がバックグラウンドで自動的に処理されるのである。この操作感に慣れてしまえば、よもや同様の作業をFirefox上で行おうとは思わなくなるはずだ。

 同じくMiroのガイドサービスも優れたユーティリティに仕上がっている。Apple製のiTunesプレーヤは装飾過剰で比較する気にもなれないのだが、多くのオープンソース系オーディオプレーヤはiTunesの外見だけを模倣することに目を奪われて、より重要度の高いiTunes Store型機能の実装がおろそかになっているのではなかろうか。Miroの場合は、コンテンツの作成元や発信元という枠組みを超えて利用できる操作性に優れたビデオ検索機能を装備することで、他の同種ソフトと一線を画していると見ていいだろう。

 かく言う私であるが、手元にあるMythTVのコレクションやDVDをLinux PCで再生する場合は、再生品質も高く各種の画質調整の行えるVLCをおそらく今後も使い続けることになるだろう。それでも1度見れば終わりという低解像度なポッドキャストやYouTubeを再生する場合は、その種の再生に特化したMiroを使うメリットが充分にあるはずだ。

 つまりMiroとは、アプリケーションを切り換えることなく興味のあるビデオコンテンツをその場で探して気軽に再生やダウンロードをしたいという用途に適したソフトウェアなのである。

Linux.com 原文