Androidでニコニコ動画を見るためのトランスコードサーバー「coroid-server」

電車の待ち時間など外出先での時間つぶしに動画サイトを閲覧している人は多いだろう。だが、現在人気のAndroidスマートフォンにはニコニコ動画の公式アプリがないため、最新のフラッシュ対応端末や非公式アプリを動かせる高性能端末以外ではニコニコ動画を見るのは難しかった。そこで利用したいのが「coroid-server」(coroid)だ。
coroidは、ニコニコ動画で公開されている動画をAndroidで再生可能な形式に変換(トランスコード)し、ストリーミング配信するソフトウェアである。Androidアプリとしてではなく、WindowsまたはLinux上でサーバーとして動作するという点が特徴だ。このため、MP4動画をストリーミング再生できるスマートフォンであれば、CPUの性能やフラッシュの対応状況を一切問わずにニコニコ動画を楽しめる。
動画のダウンロードには内部で「さきゅばす」の改造版を利用しており、ニコニコ動画の醍醐味であるコメントも問題なく表示可能だ。しかも動画を端末に適したサイズへ変換してくれるので、動画がコマ落ちするといった問題が発生する可能性も低い。
サーバーという性質上、導入と管理には手間がかかるのがネックだが、比較的低スペックのスマートフォンでもニコニコ動画を閲覧したいという人におすすめだ(図1)。

coroidのダウンロードと準備
coroidはSourceForge.JPのダウンロードページから入手できる。「リリースファイル一覧」の「coroid」から「coroid<バージョン番号>.zip」をクリックしてファイルを保存しよう。「nicobrowser」と「saccubus_nibr」はcoroidから機能の一部を抜き出したツールであり、元からcoroidに内蔵されているためダウンロードする必要はない(図2)。coroidにはインストーラが用意されていないため、ダウンロードしたファイルは解凍し「C:\coroid」のような適当なフォルダに配置しておく。

coroidは「Grails」というJava上で動作するフレームワークによって作られているため、利用にはGrailsおよび「Java Development Kit」(JDK)が必要となる。同じJavaでも一般的なJavaランタイム(JRE)では使えないので注意してほしい。まずはJDKをダウンロードしてインストールする。OracleのJavaダウンロードページを開いたら「JDKダウンロード」をクリックしよう(図3)。

するとプラットフォームの選択画面が表示されるので、Windowsで利用する場合はプルダウンメニューから「Windows」を選択する。64ビット版Windowsの場合は「Windows x64」を選択するとよい。下部に表示されているライセンスの同意を確認するチェックボックスにチェックを入れ「Continue」をクリックする(図4)。

中央部分にJDKインストーラへのリンクが表示され、ダウンロードが可能になる。ダウンロードの後にインストーラを実行し、ウィザードの指示に従ってインストールを行う。インストーラは日本語なので操作は簡単だ(図5)。

JDKの導入が終わったら、次にGrailsをダウンロードする。Grailsの最新バージョンは原稿執筆時点で「1.3.6」だが、coroidが正式に対応しているのは「1.3.3」だ。筆者の環境ではどちらのバージョンでも動作を確認できたが、1.3.6ではcoroidを起動する前に特定のコマンドを実行し、コンポーネントのアップデートを行う必要があった。いずれかのバージョンをGrailsの公式サイト内にあるダウンロードアーカイブページから入手しよう(図6)。Grailsもcoroid同様にインストーラがないので、解凍して「C:\grails」のような適当なフォルダに配置する。

coroidで動画を再生するにはニコニコ動画のアカウントが必要だ。無料の一般会員で構わないので、アカウントがない場合は取得しておこう。なお、すでにニコニコ動画のアカウントがある場合は好みの動画を集めた公開マイリストを作成しておくとよい(図7)。

coroidを設定して起動する
coroidの動作に必要なソフトを用意したら、次に環境変数の書き換えを行う。書き換えるべき環境変数は表1の通りである。「JAVA_HOME」と「GRAILS_HOME」の2つは新規の環境変数として追加し、「Path」は既存の環境変数を編集すればよい。Pathを編集する際は末尾に「;」(半角のセミコロン)を付けてから、その後ろに値を追加しよう。環境変数にはユーザー環境変数とシステム環境変数の2種類があるが、追加するのはどちらでも構わない。ただし、GRAILS_HOMEとPathはどちらか同じ方にまとめて追加/編集しないと正常に動作しないので注意されたい。
変数名 | 変数値 | 備考 |
---|---|---|
JAVA_HOME | C:\Program Files\Java\jdk<バージョン番号> | JDKをインストールしたフォルダを指定する |
GRAILS_HOME | C:\grails | Graisを配置したフォルダを指定する |
Path | <既存の値>;C:\grails\bin | Graisを配置したフォルダ以下のbinフォルダを指定する |
環境変数の設定は通常デスクトップ上にある「コンピュータ」(XP以前ではマイコンピュータ)アイコンを右クリックし、「プロパティ」を選択すると表示される「システム」から「システムの詳細設定」をクリックして設定する。しかし、慣れないと非常に分かりにくいため、今回は簡単に設定可能なバッチファイル「setpath.bat」を用意した。 このリンクをクリックしてアーカイブをダウンロードしたら解凍し、生成されたバッチファイルを右クリックして「編集」を選択する。ファイルがメモ帳で開くので、JDKをインストールしたフォルダとGrailsを配置したフォルダの場所を環境に合わせて書き換えよう(図8)。

バッチファイルの編集が終わったら上書き保存する。その後、エクスプローラ上からファイルを右クリックして「管理者として実行」を選択すると、環境変数の書き換えが行われる(図9)。なお、Windows XPの場合はバッチファイルの実行に「上級者向けサポートツール」が必要になる。マイクロソフトのダウンロードセンターから入手し、導入してから実行してほしい。また、このバッチファイルではシステム環境変数に変数値が設定される。ユーザー環境変数に設定したい場合はファイル内の「-m」を削除してから実行しよう。

環境変数の書き換え後にcoroidの設定ファイルを編集する。coroidを配置したフォルダ内から「grails-app」フォルダを開き、さらに「conf」フォルダを開く。中にある「Config.groovy」ファイルをメモ帳などのテキストエディタで開き、109行目「coroid.saccubus.mail」の「your@mail.address」をニコニコ動画にアカウント登録した際のメールアドレスに書き換える。同じく110行目「coroid.saccubus.password」の「your_password」もニコニコ動画のパスワードに書き換えよう。もし自分用の公開マイリストを作成しているなら111行目「coroid.mylist」の「12345」をマイリストの番号に書き換えておくとよい(図10)。

設定がすべて完了したらcoroidを実行する。スタートメニューからコマンドプロンプトを開いて、キーボードから以下のコマンドを入力しよう。なお、C:\coroidの部分はcoroidを配置したフォルダの場所に合わせて変更してほしい。
CD /D “C:\coroid”[Enter] grails run-app -https[Enter]いちいちコマンドを入力してカレントディレクトリを変更するのが面倒だったり、コマンドプロンプトの使い方がよく分からなかったりする場合は、coroidを配置したフォルダに「grails run-app -https」とだけ書かれたバッチファイルを作成して実行するとよい。このバッチファイルは「coroid.bat」という名称で用意しておいたので、必要に応じてダウンロードしてほしい(図11)。

初回起動時はコマンドプロンプトにさまざまなメッセージが表示され、自動的にプラグインのダウンロードと読み込みが行われる。この際、Windowsファイアウォールが有効になっていると警告が表示されることがあるが、「ブロックを解除する」をクリックしよう。しばらく待つとcoroidの起動が完了し「Server running. Browse to http://localhost:8080/coroid」と表示される(図12)。ただし、バージョン1.3.3以外のGrailsを使っているとエラーが発生し、バッチファイルから実行しているならコマンドプロンプトの画面が閉じてしまう。この場合はcoroidを配置したディレクトリにおいて「grails upgrade」コマンドを実行し、確認メッセージに対して「y」を押下する。もしくはcoroidの起動と同様に「upgrade.bat」という設定用バッチファイルを用意したので、適宜利用してほしい。アップグレードが終わったら再度coroidを実行しよう。

コマンドプロンプト画面は開いたままにしておき、ブラウザで「http://localhost:8080/coroid」にアクセスする。ブラウザによっては図13のような警告が表示されることがあるが、構わずに「このサイトの閲覧を続行する」をクリックする。図14のようなログイン画面が表示されたらcoroidは正常に動作している。


coroidを通してAndroidからニコニコ動画再生
サーバーの動作が確認できたら早速Androidスマートフォンからニコニコ動画を見てみよう。ホーム画面からブラウザを開き「http://<coroidが動作しているPCのIPアドレス>:8080/coroid」を入力して移動する(図15)。ここではLAN内なので「192.168.0.3:8080」にアクセスしているが、外出先から利用するときは当然グローバルIPアドレスを入力しなければならない。またルータ環境ではポートの開放も要する。

接続が成功するとログイン画面が表示される。ニコニコ動画に登録したメールアドレスとパスワードを入力し「Login」をクリックしよう(図16)。なお、一部の機種はブラウザで8080番ポートに接続できないため、ログインページを正常に開けない。この場合はcoroid projectのWikiに書かれているドキュメントを参考に、HTTPを80番、HTTPSを443番で動作するよう設定してcoroidを再起動するとよい。

正常にログインするとcoroidのトップページが表示される。上部に表示されているラジオボタンの中から「ランキング」を選択し「Submit」をタップするとニコニコ動画の再生ランキングを表示できる。「マイリスト」を選択した場合は、Config.groovyに設定した公開マイリストを表示可能だ。「検索」を選択してキーワードかタグを入力することで動画検索を実行することもできる。見たい動画をそれぞれの手段で探しだそう(図17)。

ランキングなどは図18のようにリスト形式で表示される。動画のタイトルをタップすると投稿者による動画の説明文やサムネイル画像が表示され、内容を手軽に確認できる。下部に表示される「nicomimi」または「さうんど」をタップすると動画のMP3変換ページを開くことが可能だ。音楽系の動画では重宝するだろう。再生したい動画を見つけたらリスト右側の「取得」欄にある「⇩」をタップする。

するとcoroidによってPC上で動画のダウンロードと形式変換が行われる。しばらく経ってからAndroid上でページを再読み込みしてみよう。動画タイトルの左側に「OK」と表示されていたら形式変換が終了して再生待ちの状態になっている。右端に表示されている「▶」をタップすると動画がPCからAndroidへストリーミング再生される(図19)。

今回紹介したツール:coroid-server
- 作者:雪羽
- 動作環境:Windows、各種Linux
- ライセンス:AGPLv3
- ホームページ:http://feather.cocolog-nifty.com/weblog/2010/01/coroidnicoroid-.html
- ダウンロードページ:http://sourceforge.jp/projects/coroid/