ちょっと前のブログ記事になりますが、Linux 版の Chrome/Chromium で Moonlight が有効になることを知りました。
拡張機能として登録するということで、ちょっと試してみようと思ったのですが、いかんせん Moonlight のビルドが必要ということで、二の足を踏んでおりました。
そんな中、Mono 公式サイトにある Moonlight のページをだらだらと見ていたのですが、どうやら Ubuntu 用のパッケージがあるみたい。
今まで、Firefox のアドオンとして、こちらのページから Moonlight を導入したことはあったのですが、同等のものなのでしょうか?
結論から言えば、Firefox 用の Moonlight プラグインを提供するパッケージなのですが、Chromium のプラグインとしても認識されることが分かりました。すばらしい。
moonlight-plugin-mozilla パッケージのインストール
パッケージを導入するだけ、と聞くと、まったく抵抗感はなくなります。$ sudo apt-get install moonlight-plugin-mozilla
たったこれだけです。
Chromium は、Daily Builds 版を使っております。
インストールされる Moonlight のバージョンは 2.2 なのですが、悲しいかな、Chromium 上での動作は完全とは言えないようです。
こちらで、サンプルサイトとして挙げられている SmoothHD は、見れませんし(Firefox(3.6.8)上では見ることができた)、コンソールから Chromium を実行してみたら、「libmoonplugin-webkitbridge.so」が見つからない、と出力されております。なんぞそれ、パッケージ内にそんなモジュールは存在しませんし。
ということで、パッケージ導入で楽できた、と喜んだのも束の間、まだ安定版には遠いという感じでしょうか。間もなくリリースされる予定(Q3 2010)の Moonlight 3 に期待したいところですが、Ubuntu 用のパッケージが提供されるのはいつ頃になるのか、また改善は見られるのか、気になってきました。そこで、
Moonlight(svn trunk)のビルドをしてみた
なんらかの改善はあるだろうと、結局やってみることにしました。Moonlight のビルドには、適時対応するビルド用 Mono 環境が必要になります。ビルドに必要なパッケージのインストール
既にインストールしていたり、個々の環境で違いはあるかもしれませんが、以下のパッケージをインストールしました。
$ sudo apt-get install autoconf bison gettext g++ libdbus-1-dev libdbus-glib-1-dev libexpat1-dev libgtk2.0-dev libnss3-dev libpoppler-glib-dev libpulse-dev librsvg2-dev libtool libwnck1.0-cil-dev libxmu-dev libxtst-dev xulrunner-1.9.2-dev
必要なソース資源のダウンロード
任意のディレクトリで、以下を実行します。
$ svn co http://anonsvn.mono-project.com/source/trunk/moon $ svn co -r 160675 http://anonsvn.mono-project.com/source/trunk/mono $ svn co -r 160675 http://anonsvn.mono-project.com/source/trunk/mcs $ svn co -r 160675 http://anonsvn.mono-project.com/source/trunk/mono-basic
svn checkout 時の mono、mcs、mono-basic のリビジョン番号については、moon 配下の README に記述がありますので、それに従って下さい。
pixel shader support を有効にする場合は、次の資源も必要に。
$ git clone git://anongit.freedesktop.org/mesa/mesa $ cd mesa $ git checkout 3ed0a099c70e9d771e60e0ddf70bc0b5ba83a483 -b moonlight $ ./autogen.sh --with-driver=xlib $ cd src/gallium $ make
ffmpeg support を有効にする場合は、ffmpeg の資源が必要になるのですが、事前に、Pigumer Group:Ubuntu 10.04にffmpegをインストールしてiPod touch用のmp4を作成を参考にして、ffmpeg のインストールを行っていたので、資源的には、これで大丈夫でした。
実行後のディレクトリ構成は、次のようになります。
$ ls mcs mesa mono mono-basic moon
Moonlight のビルド
moon 配下の README に、三つの方法が記述されていますが、その内の Manual Mode、Mono を手動でビルドしてから、Moonlight のビルドを行う方法をとりました(一番楽そうな Automatic Mode でのビルドは、途中でエラーが発生してうまくいかなかった)。
Mono のビルドでは、次のようなビルド用環境変数設定ファイル「mono_build_env」を用意して、
#!/bin/bash export MONO_HOME="/opt/mono/trunk" export PATH="$MONO_HOME/bin:$PATH" export LD_LIBRARY_PATH="$MONO_HOME/lib:$LD_LIBRARY_PATH" export PKG_CONFIG_PATH="$MONO_HOME/lib/pkgconfig:$PKG_CONFIG_PATH" export MANPATH="$MONO_HOME/share/man:$MANPATH" export XDG_DATA_DIRS="$MONO_HOME/share:$XDG_DATA_DIRS"以下を実行します。
$ . mono_build_env $ cd mono $ ./autogen.sh --prefix=$MONO_HOME --with-moonlight=yes $ make $ sudo paco -D make install
Moonlight のビルド時に、gtk-sharp 2.0(2.12)のいくつかのアセンブリが必要になったので、インストールを行いました。
$ wget http://ftp.novell.com/pub/mono/sources/gtk-sharp212/gtk-sharp-2.12.10.tar.bz2 $ tar -xvf gtk-sharp-2.12.10.tar.bz2 $ cd gtk-sharp-2.12.10 $ ./configure --prefix=$MONO_HOME $ make $ sudo paco -D make install
そして、Moonlight のビルドになります。
$ cd moon $ ./autogen.sh --with-manual-mono=yes $ make $ sudo paco -D make install
試してみる
上記でインストールした「moonlight-plugin-mozilla」パッケージ(とその依存パッケージ「libmoon」「moonlight-plugin-core」)をアンインストールして、以下を実行後(~/.mozilla/plugins/ 配下に libmoonloader.so がコピーされる)、Chromium を起動します。$ cd moon $ make test-plugin
インストールした Moonlight のバージョンは、2.99.0.8.99 で、サンプルサイトのうち、2.2 ではうまく動作しなかった Experience Smooth Streaming が見れるようになり、SmoothHD では、UI が少しずつ表示された末にクラッシュと、おしい?ところまできています(しかし、この占有メモリは占有しすぎだろ)。がんばって、Moonlight の中の人、であります。
0 件のコメント:
コメントを投稿