録画サーバを作る Part5 EPGstationインストール編

EPGStation

やっとここまできました

EPGstationは色々と前提条件が多いのです。
公式にもさらっとかかれていますが・・・

$ node --version
$ curl -o - http://<MirakurunURL>:<Port>/api/version
$ ffmpeg -version
$ python --version
$ gcc --version

これまでの記事で一通り入れてきましたが、Pythonだけは入れてないので
適当にdnfでインストールしておきます。足りないものがあれば、適宜インストールしてください。

# dnf -y install python3

おっと。データベース 忘れてた。

デフォルトでは、sqliteなのですが、色々な理由でmysql(というかmariadb)がいいとのことなので、ここでインストールしておきましょう。
インストール後にやる、例のあれもお忘れなく。

# dnf -y install mariadb mariadb-server
# mysql_secure_installation

何かが足りないとエラーになるので、適宜不足分はインストールするということで。

いざインストール

ここまでくると後は、ちゃっちゃかインストールするだけです。
ま、設定はその後で。
先ずは必要なものが入っていることを確認しましょう。
逆に言うとここまで揃っていないと、先に進むほどにハマります。

[root@nas01 ~]# cd /usr/local/etc
[root@nas01 ~]# node --version
v10.19.0
[root@nas01 ~]# curl -o - http://192.168.3.250:40772/api/version
{"current":"2.14.0","latest":"3.0.0"}
[root@nas01 ~]# ffmpeg -version
ffmpeg version n4.1.4 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 8 (GCC)
configuration: --enable-gpl --enable-libx264 --enable-nonfree
libavutil      56. 22.100 / 56. 22.100
libavcodec     58. 35.100 / 58. 35.100
libavformat    58. 20.100 / 58. 20.100
libavdevice    58.  5.100 / 58.  5.100
libavfilter     7. 40.101 /  7. 40.101
libswscale      5.  3.100 /  5.  3.100
libswresample   3.  3.100 /  3.  3.100
libpostproc    55.  3.100 / 55.  3.100
[root@nas01 ~]# python3 --version
Python 3.6.8
[root@nas01 ~]# gcc --version
gcc (GCC) 8.3.1 20191121 (Red Hat 8.3.1-5)
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

ビルドというかインストールというか・・・
ほんとこれだけなんですよねぇ。
でも設定は別。

# git clone https://github.com/l3tnun/EPGStation.git
# cd EPGStation
# npm install
# npm run build

次に設定ファイルの元ネタを生成します。

$ cp config/config.sample.json config/config.json
$ cp config/operatorLogConfig.sample.json config/operatorLogConfig.json
$ cp config/serviceLogConfig.sample.json config/serviceLogConfig.json

最後に設定ファイルを編集します。
実は元ネタの設定ファイルは結構よく出来ていて大抵デフォルトのままでOKなのですが、いくつかは編集する必要があります。

    "readOnlyOnce": false,
    "serverPort": 8888,
    "mirakurunPath": "http+unix://%2Fvar%2Frun%2Fmirakurun.sock/",
    "dbType": "mysql",
    "ffmpeg": "/usr/local/bin/ffmpeg",
    "ffprobe": "/usr/local/bin/ffprobe",
    "recorded": "/array/smb/share/video",
    "recordedTmp": "/array/smb/share/video/tmp",
    "maxEncode": 2,
    "mysql": {
        "host": "localhost",
        "port": 3306,
        "user": "epgstation",
        "password": "データベース のパスワード",
        "database": "epgstation",
        "connectTimeout": 20000,
        "connectionLimit": 10
     },

私が追記したのは、mysqlに関する項目と録画したファイルの出力先だけです。
mysqlに関する記載は別ファイルに書き出すことができるそうですが、何度やってもwait DBになってしまったので、ここに直接書き込みました。
録画先パスについては、各自の環境に合わせて書いておくと良いと思います。

ここまで出来たら後は自動起動の設定をするわけですが、でもその前に一旦手動で起動して正しく動いている事を確認する事をお勧めします。

# cd /usr/local/etc/EPGstation
# npm start

私はいきなり自動起動にしてしまい、wait dbで動かなかったり、ffmpegによるトランスコードが走らなくてログも出なくなったり・・・・色々ハマりました。
最初にちゃんと動作確認をしておきましょう!

もうこれで本当に動かしても大丈夫となったら、pm2コマンドで自動起動するように設定しましょう。

# cd /usr/local/etc/EPGstation
# pm2 start dist/server/index.js --name "epgstation"
# pm2 save

最後に

全ての設定が問題なく、動作していれば、このように番組表が見えるはずです。
ここまで来ていれば、まずまず大丈夫かなと思います。

EPGstation番組表

コメント

タイトルとURLをコピーしました