Raspberry PI4にEPGStation

EPGStationのインストール

本家本元の「Linux / macOS 用 セットアップマニュアル」の手順通り
https://github.com/l3tnun/EPGStation/blob/master/doc/linux-setup.md

インストール準備

◆使用するデータベースはMySQLサーバのインストールが面倒なのでSQLite3。

◆ubuntu22.04ではPythonはPython3となっているのでリンクを張る。
  cd /usr/bin/
  sudo ln -s python3 /usr/bin/python

◆ffmpegのインストールと場所の確認
sudo apt install ffmpeg
whereis ffmpeg —–> /usr/bin/ffmpeg

EPGStation のインストール

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

設定ファイルの作成

cp config/config.yml.template config/config.yml 
cp config/operatorLogConfig.sample.yml config/operatorLogConfig.yml
cp config/epgUpdaterLogConfig.sample.yml config/epgUpdaterLogConfig.yml
cp config/serviceLogConfig.sample.yml config/serviceLogConfig.yml
cp config/enc.js.template config/enc.js
config.ymlの中身
port: 8888
mirakurunPath: http+unix://%2Fvar%2Frun%2Fmirakurun.sock/
#mirakurunPath: http://192.168.x.xxxx:40772  <--- Mirakurunが他のサーバーで動いている場合、そのサーバーのアドレス:40772

dbtype: sqlite
sqlite:                                  <--- SQLite3で正規表現正規表現での検索の有効化  extensions:                            <---   〃
    - /home/yyyyyy/EPGStation/regexp.so <---   〃  
  regexp: true                           <---   〃

# dbtype: mysql
# mysql:
#     host: 192.168.xx.xx
#     port: 3306
#     user: epgstation
#     password: epgstation
#     database: epgstation
#     charset: utf8mb4

# 囲み文字を置換するか
needToReplaceEnclosingCharacters: true

epgUpdateIntervalTime: 10

conflictPriority: 1
recPriority: 2

recordedFormat: '%TITLE%_%CHNAME%_%YEAR%_%MONTH%_%DAY%_%HOUR%_%MIN%'
recordedFileExtension: .m2ts    <---
recorded:
    - name: recorded
      path: '%ROOT%/recorded'
      limitThreshold: 100000    <---
      action: remove            <---

thumbnail: '%ROOT%/thumbnail'
thumbnailSize: 480x270
thumbnailPosition: 30               <---

gid: 1000  
uid: 1000

ffmpeg: /usr/bin/ffmpeg             <---
ffprobe: /usr/bin/ffprobe           <---

encodeProcessNum: 4
concurrentEncodeNum: 1
encode:                           
    - name: Amatsukaze             <---AmatsukazeでCMカット、エンコードするとき
      cmd: '/bin/bash /home/yyyyy/EPGStation/config/AmatsukazeTask.sh'
      suffix: .mkv
      rate: 4.0

    - name: H.264
      cmd: '%NODE% %ROOT%/config/enc.js'
      suffix: .mp4
      rate: 4.0

urlscheme:
    m2ts:
      ・
      ・
      ・
以下 省略

SQLite3 使用時の正規表現での検索の有効化

shared library の作成
1. ソースコードのダウンロード
SQLite Download Page から sqlite-amalgamation-*.zip と sqlite-src-*.zip をダ ウンロードし、適当な場所(「~/SQLite3正規表現」)に解凍する

2. ソースコードの配置
sqlite-src-*/ext/misc/regexp.c を sqlite-amalgamation-* へコピーする
cd ~/SQLite3正規表現

3. ビルド
cd sqlite-amalgamation-*
gcc -g -fPIC -shared regexp.c -o regexp.so

ファイルの配置

生成された regexp.so を~/EPGStation/へ配置する
mv regexp.so ~/EPGStation/
~/EPGStation/config/config.yml に以下の項目を追加
sqlite:
    extensions:
        - '/home/yyyyy/EPGStation/regexp.so'
    regexp: true

起動方法

手動で起動

cd /home/yyyyy/EPGStation
npm start
停止するときは npm stop

自動で起動する場合

・初回のみ以下の起動設定が必要
cd /home/yyyyy/EPGStation
sudo npm install pm2 -g
sudo pm2 startup
pm2 start dist/index.js --name "epgstation"
sudo env PATH=$PATH:/usr/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u yyyyy --hp /home/yyyyy
pm2 save

     部分は、/usr/lib/node_modules/pm2/bin/pm2 とlocalが無いことがある。
yyyyは、ユーザーの名前

・終了する場合
pm2 stop epgstation

コメント