2018年9月最新!ネイティブWindows版Chianchu的存在「EPGStation」導入方法!

EPGStation
スポンサーリンク

今回はスマホやガジェット関連ではなく久々の録画サーバー関連のお話です。

2017年10月15日に公開した「ネイティブWindows版Chianchu的存在の「EPGStation」を使ってみた。」から、かれこれ1年が経とうとしている今、MySQL関連で以前の記事ではうまく動作しなくなりました。
今回は補足説明としてMySQL関連のみ解説していきます。(あとからここに書き直すかもしれません)

2018/09/17追記
補足ポイントのみではなく細かい部分に修正すべきポイントがあったため、全面改訂しました!
スポンサーリンク

EPGStationをWindowsで使う方法(2018年9月最新版)

PT3 Rev.A
PT3 Rev.A
  • アースソフト
  • 価格   ¥ 42,300
  • 販売者 Best Price店
クリックして今すぐチェック
アースソフト PT2
アースソフト PT2
  • アースソフト
  • 価格   ¥ 17,800
  • 販売者 【【ろかひ堂】】 *年中無休~安心の即納サービス~
クリックして今すぐチェック
PLEX 地上デジタル・BS・CS対応TVチューナー PX-W3PE4
PLEX USB接続 地上デジタル・BS・CS対応TVチューナー PX-Q3U4
NTTコミュニケーションズ 接触型 USBタイプ ICカード リーダーライター ACR39-NTTCom

Mirakurunの導入

MirakurunはEPGStationのコア部分とも言えるチューナー管理と録画部分を担当するツールです。
元々Chinachuプロジェクトの一貫で作られたツールですが、公開当初からWindowsでの動作をサポートしているため、簡単に導入することができます。

この記事内ではMirakurun導入に関しては解説しないので、ご自分で調べて導入してください。

Node.js のインストール

EPGStationのベースとなる前提ソフトです。

Node.jsはMirakurunを導入済みの人は既に入っていると思いますが一応書いときます。

まずは公式サイトから安定版をダウンロード。

 

ダウンロードが終わったら起動します

うちの環境では↓この画面で5分ぐらい待たされました。(理由は謎)

↓特に弄る必要なければ「NEXT」

Node.jsのインストールは以上です。

MySQLのインストール

MySQLはEPGや予約のデータベース管理する前提ソフトです。
MySQLダウンロードページ内のインストーラーページからダウンロードします。
※Zip版はpath通し等が面倒なのでインストーラーでやります。


↓Webインストーラー版とオフラインインストーラー版があります。個人的には、なにかあったときのためにオフライン版をおすすめします。

※(x86, 32-bit)と書いてありますが、これはインストーラーのbit数なので、64bitOSなら64bit版をインストールしてくれます。

↓「登録してね」ってページに飛びますが「No thanks, just start my download」でスキップできます。

ダウンロードが終わればインストールします。

 

以前は「Developer Default」でインストールしましたが、色々試した結果「Server Only」で十分だったので、「Sever Only」で進めます。

 

↓「Execute」でインストール

↓インストールが完了すると設定ウィザードが始まります

大体「NEXT」で大丈夫です

↓MySQLのrootパスワードは適当に決めてください。

Add UserでEPGStation用のユーザーアカウントを作成します。

Username、Passwordを決めます。今回はUsernameをepgstation、Passwordをpasswordにしています。
※ここで設定したユーザー名、パスワードはEPGStationの設定の際に使います。

そしてHostをlocalhostにします。

ほとんどデフォルト設定のままNextで進めるだけで十分です。

 

↓画像ではチェック入れてますがこの2つは起動しても特にやることないのでチェックを外して「NEXT」。

MySQLでデータベース作成の前準備

スタートメニューからMySQLを見つけて「MySQL 8.0 Command Line Client」を起動します。
※2つ目の方はUnicode版らしいです。

まずはrootパスワードを要求されるので、入力しエンター。

次に文字コードを確認するためshow variables like "char%";と入力しエンター。

以前はutf8だったのですが、どういうわけか変わってしまったようです。

ここで一旦「exit」もしくはウィンドウを閉じてください。

文字コードをUTF8にする

Linuxでは

mysqlで文字コードをutf8にセットする - Qiita
mysqlの文字コードはチェックする場所が多いので原因を突き止めるのに毎回苦労します。 大きく二種類に分けられて、 1. クライアント側、サーバー側(mysqlサーバー)、及びそれらの接続の文字コード 2. データベース/テーブル/...

に書いてあるように、my.confを書き換えれば良いようですが、Windowsの場合my.iniになっているため「C:\ProgramData\MySQL」の中にある「MySQL Server 8.0」フォルダ内のmy.iniを書き換えます。メモ帳などのテキストエディタで開いてください。

参考までに↓

MySQLのmy.iniファイルの在り処 - Qiita
##mysqlをインストールしてみた 先日、mysqlをインストールしたのですが、 (手順は以下のサイトを参照) my.iniファイルを設定する箇所でファイ...

書き換えるとこが上記サイトと少しことなり、下記の2つを書き変えます。

  • 66行目の「default-character-set」の#消してutf8を記入 (画像がcp936になってますが、正しくはutf8です)
  • 100行目の「character-set-server」の#消してutf8を記入

ここまで書き換えたら上書き保存します。

MySQLを再起動

今回はMySQLの8.0.12.0だったのでMySQL80というサービスでインストールされています。
管理者権限でコマンドプロンプトを起動して

net stop mysql80
net start mysql80

を実行すればMySQLが再起動されます。

データベース作成

再び「MySQL 8.0 Command Line Client」を起動します。

次にUTF8であることを確認するためshow variables like "char%";と入力しエンター。
↓の画像のようになればOK。

UTF8なことがわかったらデータベースを作成します。
※MySQL 5.7とコマンドが変わっているのでご注意ください。

今回はepgstationというデータベースを作ります。

grant all on epgstation.* to epgstation@localhost;
alter user epgstation@localhost identified with mysql_native_password BY 'password';

という2行を実行します。

このコマンドは
grant all on 「データベース名」.* to 「作成したユーザー名」@localhost;
alter user [作成したユーザ名]@localhost identified with mysql_native_password BY '[設定したパスワード]';
となっています。

OKとか出ていれば問題ありません。

ビルドツールのインストール

スタートボタンを右クリックして「コマンドプロンプト(管理者)」で起動します。

↓「はい」を選ぶ

npm install -g windows-build-toolsと入力しエンター

↓最終的にこうなれば成功です

「EPGStation」本体を導入

公式ドキュメントではGitからの導入を推奨されているので、まずはGitを導入します。
Gitの導入方法は

自分用 Git For Windowsのインストール手順 - Qiita
# 概要 GitのWindows用クライアントをインストールする。 手順をすぐ忘れてしまうので自分用にメモする。 # ダウンロード 以下のページからダウンロードします。 (

ここを参考にすれば簡単に導入できるはずです。
インストーラーでパス通しまでしてくれるので便利ですね。

Gitが導入できたらEPGStationをgit cloneします。

C直下などのフォルダパスの分かりやすい場所でコマンドプロンプトかパワーシェルを開き下記コマンドを入力して実行します。

git clone https://github.com/l3tnun/EPGStation.git

次にクローンしたフォルダに入って、インストール作業を行います。

cd EPGStation

インストール作業は下記2つのコマンドのみです。

npm install
npm run build

これでインストールは完了です。

もし「npm install」で「node-gyp rebuild」のエラーが出たら下記コマンドを実行してみてください。

npm install node-gyp -g

「EPGStation」を仮起動

最低限の設定をして、試しに起動してみましょう。

起動前の準備

準備1. 設定ファイルをコピーしてリネームする

configフォルダ内のconfig.sample.json、operatorLogConfig.sample.json、serviceLogConfig.sample.jsonを同じフォルダ内にコピーして、「.sample – コピー」を消す。

準備2. config.jsonの編集(簡易バージョン)

とりあえず動かせればいいので仮バージョンです。
より細かく設定したい場合は作者様の解説ドキュメントを御覧ください。

{
    "readOnlyOnce": false,
    "serverPort": "8888",
    "mirakurunPath": "http://localhost:40772",
<<<<↑要編集>>>>
    "dbType": "mysql",
    "mysql": {
        "host": "127.0.0.1",
        "port": 3306,
        "user": "epgstation",
        "password": "password",
<<<<↑要編集>>>>
        "database": "epgstation",
        "connectTimeout": 1000,
        "connectionLimit": 10
    },
~~~~~~~~省略~~~~~~~~~~

同じPC内にmirakrunサーバーを立てていればmirakrunPathは↑のようにして、「<<<<↑要編集>>>>」を各自変えるだけです。
別のPCにmirakrunが、ある場合「”mirakurunPath”:」が「http://192.168.0.4:40772」みたいな感じになるようにします。

前準備も終わったので仮起動

npm start

と入力し、エンター

こんな風になれば起動は成功です。

↓こういう警告がでると思うので不具合回避のため、一応両方にチェックを入れて「アクセスを許可する」をクリックしてください。

こうしてhttp://127.0.0.1:8888にブラウザでアクセスすると起動が確認できると思います。

起動が確認出来たら、コマンドのウィンドウに戻り「CtrlとC」をして

バッチ ジョブを終了しますか (Y/N)? 

と、でたらyでエンターすると終了します。

 FFmpegの導入

FFmpegはライブストリーミングや録画の圧縮で使われるソフトです。

FFmpegはhttp://ffmpeg.zeranoe.com/builds/からビルド済みのものがダウンロードできます。

zipを解凍してbinフォルダをわかりやすいとこに置きましょう。

今回はC:\EPGStation\ffmpeg\binとなるように配置します。

Config.jsonの編集

"ffmpeg": "C:\\EPGStation\\ffmpeg\\bin\\ffmpeg.exe",
<<<<↑要編集>>>> "ffprobe": "C:\\EPGStation\\ffmpeg\\bin\\ffprobe.exe", <<<<↑要編集>>>> "maxEncode": 2, "encode": [ { "name": "H264", "cmd": "C:\\PROGRA~1\\nodejs\\node.exe %ROOT%\\config\\enc.js main", <<<<↑要編集>>>> "suffix": ".mp4", "default": true }, { "name": "H264-sub", "cmd": "C:\\PROGRA~1\\nodejs\\node.exe %ROOT%\\config\\enc.js sub", <<<<↑要編集>>>> "suffix": "-sub.mp4" } ],

「<<<<↑要編集>>>>」の部分を各自環境に合わせて編集してください。
「C:\\PROGRA~1\\nodejs\\node.exe」の部分は公式解説ドキュメントにある通りですが、
Step1のときにインストールフォルダを変えていない場合はこれで良いと思います。

OS起動時に「EPGStation」が起動できるようにする

まずはwinserをインストール。

npm install winser

でエンター

続いてEPGStationのインストールフォルダでコマンドプロンプトかパワーシェルを管理者権限で開き

npm run install-win-service

を実行すればサービス化されます。

これでOS起動後に「EPGStation」を起動することが出来ます。

因みに、サービス化解除は

npm run uninstall-win-service

です。

EPGStationアップデート方法

今回はGitを導入しているので、アップデートが来ても簡単に対応することができます。

アップデート方法はインストールしたフォルダでコマンドプロンプトかパワーシェルを開き下記4行のコマンドを入力するだけ。

git pull
npm update
npm update -D
npm run build
スポンサーリンク

総括的な何か

最近では本家であるChinachuの開発が滞っているようで、UI関連では後釜のEPGStationの方が発展しているようです。

個人的には録画鯖を始めたきっかけがChinachuだったのでChinachuも頑張って欲しいところです。
とはいえ、これだけのプロジェクトになるとほぼ一人で開発してる作者さんが要望とバグを解消のプレッシャーで色々思い悩むところがあるのかなぁ、なんて思っています。

そして、EPGStationはWindowsで動くという利点もあるのでLinuxの低画質なQSVエンコードではなく比較的高画質なQSVエンコードすることもできます。
Twitterの方でQSVエンコードをEPGStationに組み込む方法を伝授してもらったので、後日別記事にでご紹介したいと思います。

2018年10月14日追記
QSVエンコードをEPGStationに組み込む方法を含む便利Tipsの記事を公開しました。https://till0196.com/post4654
PT3 Rev.A
PT3 Rev.A
  • アースソフト
  • 価格   ¥ 42,300
  • 販売者 Best Price店
クリックして今すぐチェック
アースソフト PT2
アースソフト PT2
  • アースソフト
  • 価格   ¥ 17,800
  • 販売者 【【ろかひ堂】】 *年中無休~安心の即納サービス~
クリックして今すぐチェック
PLEX 地上デジタル・BS・CS対応TVチューナー PX-W3PE4
PLEX USB接続 地上デジタル・BS・CS対応TVチューナー PX-W3U4
PLEX USB接続 地上デジタル・BS・CS対応TVチューナー PX-W3U4
  • プレックス
  • 価格   ¥ 16,100
  • 販売者 D-PLAZA(ディープラザ)
クリックして今すぐチェック
PLEX USB接続 地上デジタル・BS・CS対応TVチューナー PX-Q3U4
NTTコミュニケーションズ 接触型 USBタイプ ICカード リーダーライター ACR39-NTTCom

コメント

  1. 匿名 より:

    とても参考になる記事、ありがとうございます。
    ただ、1つ詰まってしまった点があったので、共有したいと思います。
    記事の通りに進めていったあと、npm startをした時点で以下のログが表示され続けるようになってしまいました。
    [2019-01-10T23:16:09.609] [WARN] system – reserves.json is not found.
    [2019-01-10T23:16:09.716] [INFO] system – wait DB
    [2019-01-10T23:16:14.722] [INFO] system – wait DB
    [2019-01-10T23:16:19.727] [INFO] system – wait DB
    [2019-01-10T23:16:24.732] [INFO] system – wait DB
    [2019-01-10T23:16:29.738] [INFO] system – wait DB
    [2019-01-10T23:16:34.744] [INFO] system – wait DB
    [2019-01-10T23:16:39.747] [INFO] system – wait DB
    [2019-01-10T23:16:44.751] [INFO] system – wait DB
    [2019-01-10T23:16:49.760] [INFO] system – wait DB

    そこで、以下のコマンドをmysqlのコマンドプロンプト上で実行したらあとはすんなりいけました。
    create database epgstation;
    たぶん「今回はepgstationというデータベースを作ります。」のあとのコマンドの最初に実行すべきだったのだと思います。

    • Till0196 より:

      コメントありがとうございます。
      ああ、ホントですね。
      データベース作成のコマンドが入っていませんでした。
      お手数掛けてしまい申し訳ありません。
      後ほど追記しておきます。