録画PC環境のリプレース計画を進めていました。ギリギリまで現役だったのは Atom 330 で組んだ PT1 機でした。しかしながら、非力さも目立ってきて録画以外のことは安心してやらせられない状態でした。この環境がとうとう電源周りから異音を発するようになってしまい、急遽計画を前倒しして進めることにしました。
今回の機材は予備としていた PX-W3PE rev1.3 を使用します。このボードもまた十分に古いものですが、 PT3 が今は手に入りにくいことと、後継の PX-W3PE4 はまだ怪しい状態なので仕方なくです。
PX-W3PE のドライバが CentOS 6.x の環境でしか動かないということも足かせになって、 Linux で組むのを諦めました。そんな中、 Windows 環境で Mirakurun を動かした話を見かけたのでこれでやってみることにしました。
参考にさせてもらったのがこちらのサイトです。
さわっても熱くない花火 / Windows10で作るMirakurun + Chinachu Gammaな録画サーバー ~VagrantとPT3(BonDriver)を添えて~
今回はこの中の Windows10 で Mirakurun の動作を確認するまでをまとめました。
準備
使用するチューナーの OS 用のドライバは既にインストール済みであるとします。 また BCAS カードリーダーも使えるようにセットアップ済みであるとします。
Node.js 準備

まずはNode.js をインストールします。今回は 8.9.1 LTS をインストールしました。
BonRecTest 準備
続いて Mirakurun には、コンソールで実行出来る録画アプリケーションを必要とするので、 BonRecTest を取得します。
(コンソールで実行出来る&標準出力に出力してくれるの2つが必要そうでした)。
rndomhack/BonRecTest GitHub
これを適当な場所に展開しておきます。ここでは、 “C:\rec\BonRecTest” に配置したと仮定します。
BonRecTest で使用する BonDriver も準備して、同様に配置しておきます。今回 PX-W3PE なので、対応する BonDriver を探してきたのところ、 32bit 版しかなく、BonRecTest も 32bit 版を使用することになりました。
あと、他の動作環境から B25Decoder.dll (32bit) も取り出して、同フォルダに配置しておきます。 B25Decoder.dll は現在は標準的に含まれているものはなさそうなので、以前の環境からの使い回しが一番楽かと思います(おそらくバージョンアップなどそんなにしていないものでしょうから)。
続いてこれらのプログラムらが Visual C++ 再頒布ランタイムを要求するので、以下のものを追加でインストールしました。
- Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ
- Microsoft Visual C++ 2010 SP1 再頒布可能パッケージ
片方だけ入っていると、今後に悩まされそうだったので x86/x64 両方インストールしておきました。
BonRecTest の動作確認
Mirakurun のインストールの前に、 BonRecTest での動作確認をしておきます。
通常のコマンドプロンプトで以下のように入力して実行します。
BonRecTest --driver BonDriver_PX_W3PE_T0.dll --output hoge.ts --channel 14
適当な時間がたったら Ctrl+C で実行を停止します。このとき、 hoge.ts がそれなりのファイルサイズで出来ていれば成功といえるでしょう。
また以下のコマンドで実行して生成されたファイルを VLC メディアプレイヤーで再生を確認してみます。
BonRecTest --driver BonDriver_PX_W3PE_T0.dll --output hoge.ts --decoder B25Decoder.dll --channel 14
チャンネル番号は Linux で言われている番号のものではなく、 Windows の BonDriver 系での番号になるので読み替えが必要です。
具体的には住んでいる地域での放送局の物理チャンネル番号を調べます。そしてその番号から 13 引いた数が、今回指定するチャンネル番号となります。
ここで動作を確認できない場合には、 Mirakurun インストールは無駄です。どこがおかしいのか調査が必要です。

Mirakurun インストール
コマンドプロンプトか PowerShell を管理者権限で開きます。そして以下のコマンドを実行します。
npm install @kanreisa/winser -g npm install mirakurun -g --production
管理者権限で動いていないと、インストールに失敗するようなので、失敗時には管理者権限ついているかどうかを確認しましょう。

設定ファイルは、 “%USERPROFILE%\.Mirakurun” フォルダにあります。
この中のファイルを UTF-8 を扱えるテキストエディタで編集します。
tuners.yml は以下のような内容に書き換えました。BS/CS は今回不要だったので記載しませんでした。
- name: PX-W3PE-T0 types: - GR command: C:\rec\BonRecTest\BonRecTest.exe --driver BonDriver_PX_W3PE_T0.dll --decoder C:\rec\BonRecTest\B25Decoder.dll --output - --channel decoder: ~ isDisabled: false - name: PX-W3PE-T1 types: - GR command: C:\rec\BonRecTest\BonRecTest.exe --driver BonDriver_PX_W3PE_T1.dll --decoder C:\rec\BonRecTest\B25Decoder.dll --output - --channel decoder: ~ isDisabled: false
chennels.yml は以下のような感じです。
- name: NHK総合 type: GR channel: '14' - name: NHKEテレ type: GR channel: '13' - name: TVK type: GR channel: '5' - name: 日本テレビ type: GR channel: '12' - name: テレビ朝日 type: GR channel: '11' - name: TBS type: GR channel: '9' - name: テレビ東京 type: GR channel: '10' - name: フジテレビ type: GR channel: '8'
server.yml は今回編集しませんでした。ポート番号(デフォルト 40772)を変更したい場合には変更する必要があるでしょう。
Mirakurun 動作確認
ひとまず動作確認を行います。Mirakurun UI というものがあり、これを利用すると GUI で状態を見ることが出来るのでこれをインストールします。
インストールすると、タスクトレイに常駐した状態となっていると思うので、そこを確認します。
右クリックして Preferences を選択すると接続先を聞かれるため、Mirakurun をインストールした環境の IP アドレスを指定します。
このとき、自分自身であっても 127.0.0.1 は設定不能でした。 NIC に付いている IP を指定することが必要みたいなので注意しましょう。
うまくいくと、以下のように状態が出てくるものと思われます。

初回であれば、チャンネルの情報を取得している様子が Logs にて確認できるかと思います。 yml ファイルを編集した後、 mirakurun のサービスの再起動が必要になるので、サービスの再起動時に、この Logs にて動きを確認にしてみるのがよさそうに思います。
確認その1
EDCB の環境があったのでここに BonDriver_Mirakurun を導入してみました。
BonDriver_Mirakurun.ini ファイルを開いて、 SERVER_HOST に IP アドレスを設定します。
Chinachu/BonDriver_Mirakurun GitHub
この BonDriver を使って、 EDCB でチャンネルスキャンを実行して正常終了すれば、録画も確認することが出来ます。
確認その2
自分はその1の方法で確認が出来たのでやりませんでしたが、参考にしたサイトでは TVTest を用いて確認をしていました。
BonDriver を使用するソフトを用いて、 BonDriver_Mirakurun でアクセスしてみて録画が出来るかどうかを確認できれば、好きな方法で良いと思います。
まとめ
ひとまず Windows10 の Mirakurun で録画が出来そうなところまでを準備しました。
あとは、Mirakurun を使用する側の準備になります。LAN内の別の環境で録画&エンコードさせるもよし、他の環境でストリーミングするもよし。
最近は、Mirakurun に対応するものは Chinachu だけでなく、 EPGStation というものがあるようです。こちらもまた Docker の準備があるようなので手軽に導入できそうです。
録画環境入替を迫られている状況ですが、折角なのでギリギリまで最近の録画環境周り再構築を楽しみたいと思います。