再生/表示特化型UPnPブラウザ「ubrowser」を作りました
UPnPブラウザと言っても、ただ単にFirefoxのブラウザエンジン(XULRunner)を利用して作った表示アプリを、UPnPで操作制御できるようにしただけです。
それで何がしたかったと言うと、ブラウザ(FlashPlayer)の表示機能を使うことでJPEG/PNG/MP3/FLV/MP4を再生できるDLNA/UPnP互換(手抜きで作ってるので互換性はあまりないですが)の表示デバイス(DMR/MRD)にすることが出来るかなと思いました。
その(DMR/MRD)機能に追加して、一般的なWebのURLなども渡せるように作ってみました。この機能を使えばSlideShareやPicasaやYoutubeのようなコンテンツ共有Webサービスのページも表示させることが出来るのではないかと思いました。勿論UPnPの仕様ではブラウザ機能の制御方法なんて規定されてないので、「こうすりゃ良いんじゃないかな」って感じで適当に決めたんですけど(まだ全関数が動くわけじゃないですけど)。
もちろんUPnP機能を使わないとただのブラウザになるので、マウスとキーボードを使っても操作することは出来ます。(全画面化するうえでメニューバーとか消しちゃってるので操作し辛いと思います)
ダウンロード場所
ubrowser ver1.0
※現時点では使ってもらう事を考慮してないため、実行するまでかなり苦労する事になると思います。
推奨動作環境
- 大画面TVに接続されているPC
- PC環境
- Ubuntu10.04(デスクトップ版、ソースや設定ファイルを弄れば他環境でも動くかも)
- 以下のパッケージをaptでインストールしていること
- xulrunner-dev
- libupnp-dev
- flashplugin-installer
- libxml2-dev
- libcurl-ssl-dev
- libgtk2.0-dev
インストールすると/etcとかに配置されますが、実行だけならインストール不要でmakeコマンドでビルド後に
./upnpbrowser -r /home/user/ubrowser/
として起動する事ができます。
機能概要図
今のところこのソフトはGTK+の有効なデスクトップLinuxデーモンとして使用する事を想定しています。まだ開発が不完全なのでアプリ落ちる事も多いですけど。大まかな流れは↓のような感じです。
DLNA/UPnPサーバのコンテンツURLを渡すアプリはいくつかあるのですが、通常のインターネットURL(Youtubeなど)を渡せるようなコントローラは、今のところないです。今Firefoxのアドオンとして開発しようと思ってるのですが、僕自身JavaScriptに詳しいわけじゃないので開発が難航している状況です。現状では送りたいURLを表示中に右クリックで送信できるようなIFを考えています。(↓みたいな感じ)
このアドオンのゴールとしてはUPnPの機能で自動的にブラウザの命令を受けるポートを認識させたいのですが、アドオンだとJavaScriptで作る必要があり、実現が難しいです。JavaScriptに詳しい親切な方に作っていただけると助かるんですが。