EPGStation-PLEX tuner-Ubuntu 22.04-自宅録画サーバー

<2023年8月22日>
最新版のMirakurunとEPGStationを使えるようにしました。
こちらをお使いください。

2022年5月現在、自宅録画サーバーを簡単に作る方法を紹介します。

PLEXチューナーが接続、あるいは搭載されたPCがあれば、
約1時間で録画予約ができるようになります。

  • (20分) Ubuntu 22.04インストール
  • (15分) 自宅録画サーバー完成
  • (20分) EPGStationで1週間の番組表を読み込み、予約録画ができる

入手可能な以下4点を利用します。

  1. Ubuntu LTS 22.04 日本語Remix
  2. EPGStation Mirakurun docker版
  3. 非公式Linuxドライバ for PLEX TVチューナー
  4. PLEX TVチューナー

    (PX-Q3PE4/5、PX-W3PE4/5)
    (PX-MLT5PE、PX-MLT8PE)
    (PX-Q3U4、PX-W3U4)

<2022年1月版からの改訂ポイント>

  • Ubuntu 22.04 LTS 日本語Remixで動作確認
  • BS新3チャンネル対応
  • スクリプトのディレクトリ整理
  • 3種のツール追加(トランスコードオプション、簡単samba、Munin)

用意するもの

No.品名説明
1B-CASカード
2USB接続カードリーダーSCR3310v2.0で検証済み
3PLEX社製TVチューナーPX-Q3PE4/5,
PX-W3PE4/5,
PX-Q3U4,
PX-W3U4,
PX-MLT5PE,
PX-MLT8PE
4アンテナケーブル
5LANケーブルかWiFi
6PCUbuntu 22.04がインストールできるPC
B-CASカード
USB接続カードリーダー
PLEX社製TVチューナー
アンテナケーブル
PC

PLEX TVチューナーには、使用できるPCに以下の制限があります。

PCW3U4
Q3U4
W3PE4
Q3PE4
MLT5PE
W3PE5
Q3PE5
MLT8PE
フルハイトの
PCI Expressカード
が使える

内部USBポート
接続が必要

内部USBポート
接続が必要
ロープロファイルの
PCI Expressカード
が使える

内部USBポート
接続が必要
PCI Expressカード
が使えないが
USBポートがある

それ以外に制約はありませんが、推奨事項がいくつかあります。

  • CPU
    第6世代 Intel Core i3 以上が推奨。
  • ストレージ
    システム用と録画データ用を分ける。
    システム用は、120GB以上のSSD、録画データ用は、HDDが推奨。
  • 電源
    TSからmp4へトランスコードを行う場合は、400W以上の安定した電源が望ましい。

ハードウェアの準備

  1. PCを組み立てます。
  2. (W3U4、Q3U4の場合)
    外部USBポートに接続します。
    (W3PE5、Q3PE5の場合)
    PLEX TVチューナーをPCI Expressのスロットに入れます。
    (W3PE4、Q3PE4、MLT5PE、MLT8PEの場合)
    PLEX TVチューナーをPCI Expressのスロットに入れます。
    内部USBポートとTVチューナーカードを接続します。
  3. B-CASカードをUSB接続カードリーダーに挿入する。
    B-CASカードの裏面を上にして挿入する。
  4. USB接続カードリーダーを外部USBポートに接続する。
  5. LANケーブルをPCに接続するか、WiFiを用意する。
  6. 準備した例を以下に示します。
  7. 最後に、PLEXチューナーのドライバをインストールするために、
    セキュリティーブートを「非UEFIモード」にします。
    PCの電源を入れて、「DEL」キーを押してBIOSユーティリティーを起動します。
    (本例は、ASUSのマザーボードの場合です。)
    画面下のメニュー左寄り「Advanced Mode」をクリックします。

    Advanced ModeのMain画面で、メニューから「起動」をクリックします。

    「起動」画面で「セキュリティブートメニュー」をクリックします。

    「セキュリティブートメニュー」画面で「OSタイプ」を「非UEFIモード」にします。

    メニューから「終了」をクリックし、「変更を保存しリセット」をクリックします。

    これで、リブートすれば、ハードウェアの準備は完了です。

インストールの準備

  1. 既に稼働しているdocker版EPGStationがある場合は、バックアップをしてください。
  2. Ubuntu 22.04をインストールします。
  3. root以外のユーザーでログインしてください。
    例えば、euserというユーザーを作成し、euserでログインします。
  4. インストールスクリプトをダウンロードします。
    <2023年8月22日 スクリプトの新しいバージョンを公開しました。
    2023年8月22日以降は、こちらのスクリプトを使って下さい。
    
  5. ダウンロードしたファイルをホームディレクトリに展開します。
    ダウンロードディレクトリを表示します。
    「temp-20220523T004118Z-001.zip」をダブルクリックします。

    「temp」を右クリックしてメニューを表示し、「展開」をクリックします。

    「ホーム」をクリックして、「展開」をクリックします。

    「アーカイブの展開が完了しました」と表示されたら、「ファイル表示」をクリックします。

    「ホーム」の配下に「temp」ディレクトリができたことを確認します。
  6. 「端末」アプリを開く。
    画面左下の「アプリケーションを表示する」をクリックします。

    「端末」を左クリックして、「お気に入りに追加」をクリックします。

    画面左のメニューから「端末」をクリックします。

インストールの実行

  1. 「端末」を実行して、スクリプトを確認します。
    euser@pc:~$ cd ~/temp/epg-plex
    euser@pc:~/temp/epg-plex$ ls -la
    合計 48
    drwxrwxr-x 3 euser euser 4096  5月 23 09:31 .
    drwxrwxr-x 4 euser euser 4096  5月 23 09:32 ..
    -rw-rw-r-- 1 euser euser  212  8月 28  2021 1-preprocess.sh
    -rw-rw-r-- 1 euser euser   85  8月 28  2021 2-carddriver.sh
    -rw-rw-r-- 1 euser euser  116  8月 28  2021 3-checkcard.sh
    -rw-rw-r-- 1 euser euser  576  8月 28  2021 4-tunerdriver.sh
    -rw-rw-r-- 1 euser euser   27  8月 28  2021 5-checktuner.sh
    -rw-rw-r-- 1 euser euser 1120  5月 17 02:00 6-install-mlt5.sh
    -rw-rw-r-- 1 euser euser 1120  5月 17 02:01 6-install-mlt8.sh
    -rw-rw-r-- 1 euser euser 1110  5月 17 02:02 6-install-q.sh
    -rw-rw-r-- 1 euser euser 1114  5月 17 02:02 6-install-w.sh
    drwxrwxr-x 2 euser euser 4096  5月 20 13:50 data
  2. スクリプトを順番に実行していきます。
    euser@pc:~/temp/epg-plex$ bash 1-preprocess.sh
    euser@pc:~/temp/epg-plex$ bash 2-carddriver.sh
    euser@pc:~/temp/epg-plex$ bash 3-checkcard.sh
    euser@pc:~/temp/epg-plex$ bash 4-tunerdriver.sh

    ここで自動的にリブートします。(ここまで5分
    リブート後端末を開き、~/temp/epg-plexまで戻ります。

    euser@pc:$cd ~/temp/epg-plex
    euser@pc:~/temp/epg-plex$ bash 5-checktuner.sh

    チューナードライバを確認したら、最後のインストールです。(ここから10分
    <Q3PE4/5、Q3U4>の場合

    euser@pc:~/temp/epg-plex$ bash 6-install-q.sh
    

    <W3PE4/5、W3U4>の場合

    euser@pc:~/temp/epg-plex$ bash 6-install-w.sh
    

    <MLT5PE>の場合

    euser@pc:~/temp/epg-plex$ bash 6-install-mlt5.sh
    

    <MLT8PE>の場合

    euser@pc:~/temp/epg-plex$ bash 6-install-mlt8.sh
    

インストールの詳細画面

  1.  1-preprocess.sh
    以下のスクリプトを実行します。

    euser@pc:~/temp/epg-plex$ bash 1-preprocess.sh
    

    結果は、以下のとおりです。

    docker-compose (1.29.2-1) を展開しています...
    python3-dotenv (0.19.2-1) を設定しています ...
    python3-distutils (3.10.4-0ubuntu1) を設定しています ...
    python3-attr (21.2.0-1) を設定しています ...
    python3-texttable (1.6.4-1) を設定しています ...
    python3-docopt (0.6.2-4) を設定しています ...
    python3-setuptools (59.6.0-1.2) を設定しています ...
    python3-pyrsistent:amd64 (0.18.1-1build1) を設定しています ...
    python3-websocket (1.2.3-1) を設定しています ...
    python3-dockerpty (0.4.1-2) を設定しています ...
    python3-docker (5.0.3-1) を設定しています ...
    python3-jsonschema (3.2.0-0ubuntu2) を設定しています ...
    docker-compose (1.29.2-1) を設定しています ...
    man-db (2.10.2-1) のトリガを処理しています ...
    docker-compose version 1.29.2, build unknown
    

    docker、docker-composeなどをインストールし、準備を完了します。

  2. 2-carddriver.sh
    以下のスクリプトを実行します。

    euser@pc:~/temp/epg-plex$ bash 2-carddriver.sh
    

    結果は以下のとおりです。

    + Historical bytes: 
    + TCK = 99 (correct checksum)
    
    Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
    3B F0 12 00 FF 91 81 B1 7C 45 1F 03 99
    	Japanese Chijou Digital B-CAS Card (pay TV)
    

    ctrl-cを入力して、スクリプトを終了します。
    これで、B-CASカードが有効になります。

  3. 3-checkcard.sh
    以下のスクリプトを実行します。

    euser@pc:~/temp/epg-plex$ bash 3-checkcard.sh
    

    結果は以下のとおりです。

    ○ pcscd.socket - PC/SC Smart Card Daemon Activation Socket
         Loaded: loaded (/lib/systemd/system/pcscd.socket; disabled; vendor preset:>
         Active: inactive (dead)
       Triggers: ● pcscd.service
         Listen: /run/pcscd/pcscd.comm (Stream)
    
     5月 23 10:22:29 motown systemd[1]: Listening on PC/SC Smart Card Daemon Activa>
     5月 23 10:23:51 motown systemd[1]: pcscd.socket: Deactivated successfully.
     5月 23 10:23:51 motown systemd[1]: Closed PC/SC Smart Card Daemon Activation S>
    lines 1-9/9 (END)
    

    「Active: inactive (dead)」を確認した後、
    ctrl-cを入力して、スクリプトを終了します。

  4. 4-tunerdriver.sh
    以下のスクリプトを実行します。

    euser@pc:~/temp/epg-plex$ bash 4-tunerdriver.sh
    

    結果は以下のとおりです。

    px4_drv.ko:
    Running module version sanity check.
     - Original module
       - No original module exists within this kernel
     - Installation
       - Installing to /lib/modules/5.15.0-30-generic/updates/dkms/
    
    Running the post_install script:
    './etc/99-px4video.rules' -> '/etc/udev/rules.d/99-px4video.rules'
    
    depmod....
    ドライバがインストールされました。enterキーを押すとリブートします。
    

    TVチューナーのドライバがインストールされました。
    enterキーを押してリブートしてください。

  5. 5-checktuner.sh
    以下のスクリプトを実行します。

    euser@pc:~/temp/epg-plex$ bash 5-checktuner.sh
    

    TVチューナーの非公式ドライバが正常にインストールされたことを確認します。
    Q3PE4/5、Q3U4の場合は、以下のように表示されます。

    crw-rw-r-- 1 root video 239, 0  3月 29 17:48 /dev/px4video0
    crw-rw-r-- 1 root video 239, 1  3月 29 17:48 /dev/px4video1
    crw-rw-r-- 1 root video 239, 2  3月 29 17:48 /dev/px4video2
    crw-rw-r-- 1 root video 239, 3  3月 29 17:48 /dev/px4video3
    crw-rw-r-- 1 root video 239, 4  3月 29 17:48 /dev/px4video4
    crw-rw-r-- 1 root video 239, 5  3月 29 17:48 /dev/px4video5
    crw-rw-r-- 1 root video 239, 6  3月 29 17:48 /dev/px4video6
    crw-rw-r-- 1 root video 239, 7  3月 29 17:48 /dev/px4video7
    

    W3PE4/5、W3U4の場合は、以下のように表示されます。

    crw-rw-r-- 1 root video 239, 0  3月 29 17:48 /dev/px4video0
    crw-rw-r-- 1 root video 239, 1  3月 29 17:48 /dev/px4video1
    crw-rw-r-- 1 root video 239, 2  3月 29 17:48 /dev/px4video2
    crw-rw-r-- 1 root video 239, 3  3月 29 17:48 /dev/px4video3
    

    MLT5PEの場合は、以下のように表示されます。

    crw-rw-r-- 1 root video 237, 0  9月 13 13:53 /dev/pxmlt5video0
    crw-rw-r-- 1 root video 237, 1  9月 13 13:53 /dev/pxmlt5video1
    crw-rw-r-- 1 root video 237, 2  9月 13 13:53 /dev/pxmlt5video2
    crw-rw-r-- 1 root video 237, 3  9月 13 13:53 /dev/pxmlt5video3
    crw-rw-r-- 1 root video 237, 4  9月 13 13:53 /dev/pxmlt5video4
    

    MLT8PEの場合は、以下のように表示されます。

    crw-rw-r-- 1 root video 237, 0  9月 13 13:53 /dev/pxmlt8video0
    crw-rw-r-- 1 root video 237, 1  9月 13 13:53 /dev/pxmlt8video1
    crw-rw-r-- 1 root video 237, 2  9月 13 13:53 /dev/pxmlt8video2
    crw-rw-r-- 1 root video 237, 3  9月 13 13:53 /dev/pxmlt8video3
    crw-rw-r-- 1 root video 237, 4  9月 13 13:53 /dev/pxmlt8video4
    crw-rw-r-- 1 root video 237, 5  9月 13 13:53 /dev/pxmlt8video5
    crw-rw-r-- 1 root video 237, 6  9月 13 13:53 /dev/pxmlt8video6
    crw-rw-r-- 1 root video 237, 7  9月 13 13:53 /dev/pxmlt8video7
    

    もし、ドライバが表示されない場合は、原因を調査します。
    解決しない場合は、先に進めません。

  6. 6-install
    インストールの最後のステップです。PLEX TVチューナー対応docker版mirakurun、mysql、epgstationをインストールします。
    (a) PX-Q3PE4/5、PX-Q3U4の場合、6-install-q.sh

    euser@pc:~/temp/epg-plex$ bash 6-install-q.sh
    

    (b) PX-W3PE4/5、PX-W3U4の場合、6-install-w.sh

    euser@pc:~/temp/epg-plex$ bash 6-install-w.sh
    

    (c) PX-MLT5PEの場合は、6-install-mlt5.sh

    euser@pc:~/temp/epg-plex$ bash 6-install-mlt5.sh
    

    (d) PX-MLT8PEの場合は、6-install-mlt8.sh

    euser@pc:~/temp/epg-plex$ bash 6-install-mlt8.sh
    

    スクリプト実行後、約10分で以下が表示されれば「インストール完了」です。

    Successfully built af61c6cadc6a
    Successfully tagged docker-mirakurun-epgstation_epgstation:latest
    Creating network "docker-mirakurun-epgstation_default" with the default driver
    Creating volume "docker-mirakurun-epgstation_mysql-db" with local driver
    Creating mirakurun           ... done
    Creating mysql-epgstation-v2 ... done
    Creating epgstation-v2       ... done
    
  7. Mirakurunの稼働確認
    ブラウザでMirakurunの稼働を確認する。
    「http://localhost:40772」

    2022年5月25日現在、Mirakurun 3.8.0がインストールできます。
    Mirakurun 3.8.0は固定です。3.8.0以降のバージョンで、メモリーリークやEPGStationで番組表が更新できないなどの不具合が発生したためです。
    今までMirakurun 3.8.0を使って、EPGStationで問題は発生していません。
    <2022年10月26日>Mirakurun 3.9.0-rc.2で安定稼働することを確認しました。今後、3.9.0正式リリース時にMirakurun 3.9.0に変更予定です。
  8. EPGStationの稼働確認
    ブラウザでEPGStationの稼働を確認する。
    「http://localhost:8888」

    2022年5月25日現在、EPGStation 2.6.20がインストールできます。
    BSの番組表の方が、地デジの番組表より早く表示されます。
    地デジの1週間後の番組表が表示されるまで、およそ20分かかります。

録画する前に必ず実施すること

EPGStationのストレージの所有者は、デフォールトでrootになります。
所有者をログインユーザーにする必要があります。
以下の設定を行わないと、ファイルの自動削除などの際に、きちんと削除されないことが起こります。
また、sambaなど他のシステムからファイルの変更や削除を行う場合、アクセス権限の変更が面倒になります。

録画を始める前に、必ず以下を実施してください。

idコマンドを使って、ユーザーIDを調べます。

euser@pc:~$ id
uid=1000(euser) gid=1000(euser) groups=1000(euser)

上記の場合は、uid=1000(euser)からユーザーIDが1000であることがわかります。
ユーザーIDをEPGStationのconfig.ymlに設定します。
以下の場所を開いて下さい。~/git/docker-mirakurun-epgstation/epgstation/config

config.ymlを開いて、調べたユーザーidを追加してください。
例えばユーザーIDが1000ならば、「uid: 1000」と追記して保存して下さい。

更に録画ファイルを入れるディレクトリ/media/tv_recordのオーナーをログインユーザーに変更してください。
例えばログインユーザーがeuserならば、

sudo chown euser /media/tv_record

変更後、リブートしてください。
問題なくシステムが立ち上がることを確認したら、EPGStationから録画を行ってください。

追加インストール情報

本記事の手順でEPGStationをインストールした後、参考になる記事は以下のとおりです。

ストレージの拡張について

トランスコードの最適化について

sambaについて

muninについて

全録サーバーについて

EPGStationのデータのバックアップとリストアについて

関連記事

コメント54件

  • ubunto初心者 より:

    ありがとうございました。環境構築完了しました。
    外付けHDDに録画ができたのですが、アクセス権が
    612616 -rw-r–r– 1 root video 627311068
    となり、毎回chmodで変更しております。
    録画の状態でアクセス権の設定は可能でしょうか。
    素人質問で申し訳ございません。回答いただけたら幸いです。

  • simplelife より:

    ubunto初心者さん

    EPGStationの仕様で、アクセス権はそうなりますね。そのままでも、視聴やコピーするには問題ないと思いますが。
    なぜchmodするんですか?

  • simplelife より:

    ubunto初心者さん

    ちょっと調べてみましたが、EPGStationのconfig.ymlの中で、グループやユーザー(gid、uid)を指定できるようです。
    デフォールトがrootなんですね。
    実を言うと、私も時々ファイル名を変更しようとして、「なんでroot?」と思うことはあります。
    しかし、gid、uidを使ったことはないので、うまく使えるか確認してもらえると助かります。

  • simplelife より:

    ubunto初心者さん

    先程試してみました。epgstation/config/config.ymlにuid: 1000
    と入れて、リブートしたら、うまくいきました。

  • ubunto初心者 より:

    ありがとうございました。こちらも設定できました。
    別なマシンでトランスコードするので、移動するためにchmodが必要でした。

  • simplelife より:

    ubunto初心者さん

    できましたか。良かったです。
    他のマシンでトランスコードですか、なるほど。
    半年前に、i5-10400で地デジ6チャンネル全録でMP4トランスコードしましたが、1台で全部こなせました。
    先日購入したi3-12100でもトランスコードは6倍速で、CPU温度も最高で70℃くらいに収まりました。
    今後は、Ubuntu 22.04では、ffmpeg 4.4.1が標準でインストールできるので、qsvが簡単に使えるようになるかもしれません。

  • id1028 より:

    お世話になります、
    前回のバージョンの記事を拝見させていただきながら、構築しました(お世話になりました。)
    しかしながら、今回のバージョンへ移行する際に、以前の予約データ等も引き継ぎたく、
    試行錯誤しました。(ubuntu自体理解してなかったので心が折れそうになりました)
    下記コマンドにより解決しましたので報告です。
    <旧環境>
    cd /home//git/docker-mirakurun-epgstation/
    docker exec -i -t epgstation-v2 bash
    npm run backup
    コンテナから抜ける ※1参照
    sudo docker cp epgstation-v2:/app/

    /home//git/docker-mirakurun-epgstation/epgstation/thumbnail
    もバックアップ取っておいた方が良い

    <新環境>※すべてインストール完了/起動してから
    sudo docker cp epgstation-v2:/app/
    docker exec -i -t epgstation-v2 bash
    npm run restore
    コンテナから抜ける ※1参照

    ※1コンテナから抜ける時は、Ctrlボタンを押しながら、Pキーを押して、その次にQキーを押すとデタッチすることができる。

    ubuntu初心者にとっては、このようなことも難しく感じるので共有しておきます。

  • simplelife より:

    id1028さん

    素晴らしい情報ありがとうございます。私もルールだけ新しい方に移したいと思ってました。
    確かに、以下の情報がバックアップできると書いてありますね。

    予約情報
    録画済み番組情報
    録画履歴
    録画予約ルール

    私の場合、予約ルール以外は必要ない(Plex Media Serverで管理)ので、
    他は消す方法も考えたいです。
    コメントでいろいろ気づくことが多く、ありがたいです。今後もよろしくお願いします。

  • term より:

    お世話になります。
    上記手順にしたがって実行していたのですが、手順6(PX-W3PE4使用)でどうやらmirakurunのインストールがうまく行っていないようです。以下に実行結果の最終部分をコピペします。
    なにかお分かりになりましたらご教授いただきたいです。

    ———–
    Successfully built b745ba99f964
    Successfully tagged docker-mirakurun-epgstation_epgstation:latest
    Recreating mirakurun …
    Recreating mirakurun … error

    ERROR: for mirakurun Cannot start service mirakurun: error gathering device information while adding custom device “/dev/px4video4”: no such file or directory

    ERROR: for mirakurun Cannot start service mirakurun: error gathering device information while adding custom device “/dev/px4video4”: no such file or directory
    ERROR: Encountered errors while bringing up the project.

  • simplelife より:

    termさん

    PX-W3PE4というのは、px4video3までしかありません。px4video4がないのは、当然です。

    PX-W3PE4で実行するスクリプトは、「bash 6-install-w.sh」です。再度確認して下さい。

  • term より:

    simplelife様

    夜分遅くに返信くださりありがとうございました。
    エラーを見れば簡単に分かりましたね。
    早とちりでコメントをしてしまい失礼しました。

    確かに-qを実行していました。-wの実行で問題なくいけました。

    今後ともよろしくお願いいたします。

  • simplelife より:

    termさん

    速いですね。無事インストールできて良かったです。
    まあ、ドライバの状態を判断すれば、最後のスクリプトは1つにできます。
    1つにすれば、今回のようなことも起こりません。今後検討します、

  • アラレちゃん より:

    PLEXのチューナーで視聴などをしていると
    TVやブルーレイレコーダーよりもフレームレートが低く感じるのですが
    これは仕方のない事なのでしょうか。
    PT3などだと無い事なのでしょうか。
    分かりますでしょうか。

  • simplelife より:

    アラレちゃん

    フレームレートは感じるよりも、数値を確認してみてください。
    現在、epgstationで録画した場合、tsもmp4も29.97fpsになっています。
    録画したtsやmp4をVLCで開いて、コーデック情報を確認できます。
    PT3とPLEXは、両方使っていますが、録画内容に違いはないです。
    というより、PT3からPLEXに乗り換えたのは、特に違いがないと思ったからです。

  • kugu より:

    はじめまして、便利に使わせていただいております。
    素人質問かもしれませんが、もしご存知でしたら教えてください。
    Ubuntu 22.04LTSとPX-Q3PE5の組み合わせで導入をしようとしております。
    使用させていただいているスクリプト:temp-20220523T004118Z-001
    5番目のスクリプトまでは問題がなかったのですが、6番目で6-install-q.shを
    実行したところ下記のエラーが出ました。

    ERROR: for docker-mirakurun-epgstation_mirakurun_1 Cannot start service mirakurun: error gathering device information while adding custom device “/dev/dvb”: no such file or directory

    色々と調べてみたのですが、わからない状況でした。
    もし対処法をご存知でしたら教えてください。

  • simplelife より:

    kuguさん、

    情報ありがとうございます。実は、PX-Q3PE5は実機で確認していません。PX-Q3PE4と同じと考えていましたが、何か問題があるのかもしれません。
    ちょっと調べてみます。

  • simplelife より:

    kuguさん

    まず、~/git/docker-mirakurun-epgstationの中をみましょう。
    docker-compose.ymlを開いてください。
    mirakurun: の中の項目で、devices:を調べてください。
    その部分をコメントで教えて下さい。
    その中に、/dev/dvbはありますか?

  • kugu より:

    御返事ありがとうございます。
    docker-compose.ymlを確認いたしました。
    —- docker-compose.yml
    version: ‘3.7’
    services:
    mirakurun:
    image: chinachu/mirakurun
    cap_add:
    – SYS_ADMIN
    – SYS_NICE
    ports:
    – “40772:40772”
    – “9229:9229”
    volumes:
    – ./mirakurun/conf:/app-config
    – ./mirakurun/data:/app-data
    environment:
    TZ: “Asia/Tokyo”
    devices:
    – /dev/bus:/dev/bus
    – /dev/dvb:/dev/dvb
    restart: always
    —-
    となっておりました。
    ここを、例えば、/dev/px4videoなどにすべきでしょうか?

    よろしくおねがいします。

  • simplelife より:

    きちんとインストールができていないようです。

    以下が、正常にインストールされた時のdocker-compose.ymlです。
    version: ‘3.3’
    services:
    mirakurun:
    container_name: mirakurun
    build:
    context: Mirakurun
    dockerfile: docker/Dockerfile
    image: chinachu/mirakurun
    cap_add:
    – SYS_ADMIN
    – SYS_NICE
    ports:
    – “40772:40772”
    – “9229:9229”
    volumes:
    – /etc/localtime:/etc/localtime:ro
    – ./Mirakurun/config/:/app-config/
    – ./Mirakurun/data/:/app-data/
    environment:
    TZ: “Asia/Tokyo”
    devices:
    – /dev/px4video0:/dev/px4video0
    – /dev/px4video1:/dev/px4video1
    – /dev/px4video2:/dev/px4video2
    – /dev/px4video3:/dev/px4video3
    – /dev/px4video4:/dev/px4video4
    – /dev/px4video5:/dev/px4video5
    – /dev/px4video6:/dev/px4video6
    – /dev/px4video7:/dev/px4video7
    – /dev/bus:/dev/bus
    restart: always
    logging:
    driver: json-file
    options:
    max-file: “1”
    max-size: 10m

    mysql:
    container_name: mysql-epgstation-v2
    image: mariadb:10.5
    volumes:
    – mysql-db:/var/lib/mysql
    environment:
    MYSQL_USER: epgstation
    MYSQL_PASSWORD: epgstation
    MYSQL_ROOT_PASSWORD: epgstation
    MYSQL_DATABASE: epgstation
    TZ: “Asia/Tokyo”
    command: –character-set-server=utf8mb4 –collation-server=utf8mb4_unicode_ci –performance-schema=false –expire_logs_days=1 # for mariadb
    restart: always
    logging:
    options:
    max-size: “10m”
    max-file: “3”

    epgstation:
    container_name: epgstation-v2
    build:
    context: “./epgstation”
    dockerfile: “debian.Dockerfile”
    volumes:
    – /etc/localtime:/etc/localtime:ro
    – ./epgstation/config:/app/config
    – ./epgstation/data:/app/data
    – ./epgstation/thumbnail:/app/thumbnail
    – ./epgstation/logs:/app/logs
    – /media/tv_record:/app/recorded
    environment:
    TZ: “Asia/Tokyo”
    depends_on:
    – mirakurun
    – mysql
    ports:
    – “8888:8888”
    – “8889:8889”
    #user: “1000:1000”
    restart: always

    volumes:
    mysql-db:
    driver: local

    インストールの状態がおかしいですね。
    ~/gitの中のdocker-mirakurun-epgstationを削除して、
    再度
    euser@pc:~/temp/epg-plex$ bash 6-install-q.sh
    を実行する方がいいでしょう。

    ユーザーをrootにしているとか、今までにインストールを独自に実行して、~/gitの中のdocker-mirakurun-epgstationが残っていたとか、
    とにかく、指示内容と異なった手順を実施しないと発生しないことです。

  • kugu より:

    申し訳ありません。そもそも解凍をしたフォルダが間違っていたことが問題でした。
    お騒がせして申し訳ありません。
    スクリプトを読んで、必要なファイルを手でコピーし、docker-composeを実施したところ、
    無事にインストールできました。
    本当に申し訳ありませんでした。

  • simplelife より:

    kuguさん

    解決できて良かったです。
    今後も何か問題ありましたら、コメントください。
    よろしくお願い致します。

  • 調理家電 より:

    こんにちは。本記事をもとに環境を構築しました。動作報告になります。
    Ubuntuのポイントリリースが出たので機械学習環境のアップグレード兼、録画サーバー構築です。
    OS:Ubuntu 22.04.1 LTS
    使用機材:自作機、PX-W3PE5
    導入記事内容とほぼ同様に構築。

    変えたところ
    docker-composeをv1からv2に変更。コンテナビルドが若干速くなります。v1はすでにメンテナンスフェーズ?なので普段使っているv2を使用しました。

    docker composeのYAMLファイルでbind mount されているところ、short syntaxからlong syntaxに変更。本記事の通りに実行すれば事故らないのですが、short syntaxだとマウント先にディレクトリがない場合、ディレクトリが自動作成されるため。マイグレーションやコンテナ停止した場合の運用を考えてのことです。

    gidとuid付加。ホスト側のボリュームにroot userのみで色々作られるのが嫌なので付加。
    以上です。

  • simplelife より:

    調理家電さん

    動作報告ありがとうございます。

    docker composeは、v2移行期間中なんですね。
    今のスクリプトだとdocker 20.10.12しかインストールできないので、
    20.10.14にあげないとだめですね。

    gidは付加する必要があります。rootで書き込まれると、いろいろと弊害があり、数日前に必ずインストールしたユーザーのIDを入れるように、注意書きを追加しました。

    それから、mirakurun 3.9.0-rc.2 で安定動作の検証ができたので、正式リリースされたら、3.8.0から3.9.0に変更しようと思っています。

    docker composeとmirakurun 3.9.0は、タイミングを見て、アップデートしたいと思います。

  • taktak より:

    はじめまして、こちらのスクリプトを利用させていただいて環境を構築しました。
    番組表の取得や視聴は問題なくできるのですが、録画だけができない状況になっています。
    操作としては、EPGstationの番組表から番組を右クリックして、予約を押すと赤枠になるのですが、しばらくすると消えてしまい、録画もされていません。
    理由や調べ方などが全く分からず、質問をさせていただきました。
    どうすればいいのか、ご教示いただければ助かります。

  • simplelife より:

    taktakさん

    録画できないのは、ファイルが書き込めない可能性が高いと思います。録画先のフォルダのアクセス権を誰でもできるようにして、確認してみてください。

  • simplelife より:

    taktakさん

    私もうっかりしていたのですが、最近追加したuidの変更をすると、録画ファイルが書き込めなくなります。
    /media/tv_record のオーナーをログインユーザーに変えるのが、一番簡単ですね。
    例えば、ユーザー名がeuserならば、
    sudo chown euser /media/tv_record
    とすればいいと思います。

  • いさお より:

    はじめまして。こちらのインストールスクリプトを使わせていただき、大変簡便に構築を行うことができました。
    当方環境はe-BettermのDTV02A-1T1S-Uですが、以下設定ファイル3本の修正で構築できました。

    シェルスクリプト
    ・5-checktuner.sh
    ・6-install.sh
    yamlファイル
    ・new-docker-compose.yml

    貴重な情報提供に感謝いたします。
    ありがとうございました。

  • simplelife より:

    いさおさん、

    e-Betterですか。ドライバが対応しているので、わずかな修正で済むんですね。
    貴重な情報ありがとうございます。

  • 島人 より:

    先日別のページで質問させて頂いた島人です。
    一度、OSから再インストールしたところ、epg-stationのLOGで下記のエラーがあり起動できてないようです。
    OSはUbuntu 22.04.1 LTSで、ここに掲載されているスクリプトを5までは手順通り、6は1行ずつ手動で実行しています。

    [2023-07-31T03:02:09.673] [FATAL] system – uncaughtException: TypeError: Cannot read properties of undefined (reading ‘sync’)
    [2023-07-31T03:02:09.896] [FATAL] system – uncaughtException: Error: must call SocketIoManageModel initialize

    よろしくお願いします。

  • simplelife より:

    島人さん

    報告ありがとうございます。
    EPGStationは、7月29日に2.7.0にアップデートしています。
    このスクリプトもリリースしてから、1年2か月ほど経っています。

    全体を見直してみます。

  • 島人 より:

    うちの環境でepg-stationが動かなくなったのは7月上旬になにも考えず、ubuntuで全てのパッケージを更新してからですね。22.04.2 でした。
    その時のログファイルは見ずに再インストールしてしまいました…。

  • simplelife より:

    島人さん

    こちらでも、アップデートして、以下の設定になっています。
    PRETTY_NAME=”Ubuntu 22.04.2 LTS”
    NAME=”Ubuntu”
    VERSION_ID=”22.04″
    VERSION=”22.04.2 LTS (Jammy Jellyfish)”

    本日、テストマシンで確認してみます。

  • simplelife より:

    島人さん

    こちらでも再現しました。EPGStationの変更が関係しているようです。
    これから調査して、とりあえず動くようにしてみます。

  • simplelife より:

    島人さん

    koron393という方が、問題を解決してくれました。
    EPGStation 2.7.0にversion upする際に、ミスがあったようです。
    とりあえずは、epgstation/dataの下に、uploadというディレクトリを作成すれば、動くようです。
    そのうち、EPGStationが修正されれば、何もしなくても動きます。

  • ポン より:

    ツールありがとうございます。
    >>epgstation/dataの下に、uploadというディレクトリを作成すれば、動くようです。
    初めてのインストールでうまく動かず悩んでいたところこちらの情報大変助かりました。

  • simplelife より:

    ポンさん

    本来なら、悩むことなくあっという間に使えるようになるんですが。。。
    EPGStationの方で修正がすめば、従来のようにすんなりインストールできます。

  • 島人 より:

    無事動きました。
    ありがとうございます。

  • simplelife より:

    島人さん

    動いて良かった。
    この問題に気がついたのは、島人さんだし、
    ここにコメントしてくれたことが、
    解決のきっかけになりました。
    こちらこそ、ありがとうです。

  • 島人 より:

    お世話になっています。
    今度はmirakurunが動かなくなったみたいです。8/10あたりから録画できなくなっていたみたいです。
    osから再インストールしても再現しました。

    コンテナは動いてるようですが、
    $ curl http://127.0.0.1:40772
    curl: (56) Recv failure: Connection reset by peer
    となります。

    epgstationのログは
    [INFO] system – check mirakurun
    で埋め尽くされています。

    —–CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    4283a77b1ecf docker-mirakurun-epgstation_epgstation “npm start” 13 minutes ago Up 3 minutes 0.0.0.0:8888-8889->8888-8889/tcp, :::8888-8889->8888-8889/tcp epgstation-v2
    3ded86f38dd5 chinachu/mirakurun “docker-entrypoint.s…” 13 minutes ago Up 3 minutes 0.0.0.0:9229->9229/tcp, :::9229->9229/tcp, 0.0.0.0:40772->40772/tcp, :::40772->40772/tcp mirakurun
    bad560e57d1b mariadb:10.5 “docker-entrypoint.s…” 13 minutes ago Up 3 minutes 3306/tcp

    よろしくお願いします。

  • 島人 より:

    ※うまく投稿できなかったみたいなので、文章を削って再投稿します。

    お世話になっています。
    今度はmirakurunが動かなくなったみたいです。8/10あたりから録画できなくなっていたみたいです。
    osから再インストールしても再現しました。

    コンテナは動いてるようですが、
    $ curl http://127.0.0.1:40772
    curl: (56) Recv failure: Connection reset by peer
    となります。

    epgstationのログは
    [INFO] system – check mirakurun
    で埋め尽くされています。

  • simplelife より:

    島人さん

    前回チェックした8月6日以降、Mirakurunは変更はされていません。
    こちらでは、EPGStation2.7.0で動作確認がとれていました。

    その後、2.7.1がリリースされて問題が解決したはずでしたが、確認はしていませんでした。

    私は、8月12日にdocker Compose V2でインストールを試みましたが、なぜかmirakurunが立ち上がりませんでした。
    エラーは、以下のとおり
    [+] Running 3/4
    ✔ Network docker-mirakurun-epgstation_default Created 0.2s
    ✔ Container mysql-epgstation-v2 Started 1.2s
    ⠿ Container mirakurun S… 1.3s
    ✔ Container epgstation-v2 Created 0.1s
    Error response from daemon: error gathering device information while adding custom device “/dev/px4video0”: no such file or directory

    docker Compose V2のせいだと思ったのですが、そのまま放置して、1週間経ってしまいました。

    これから確認してみますが、2.7.1に上げた際に、mirakurunが動かなくなった可能性があります。
    検証してみます。

  • simplelife より:

    島人さん

    現在のスクリプトでインストールしました。問題ありませんでした。
    Mirakurun 3.8.0
    EPGStation 2.7.1

    島人さんがインストールできない理由は、こちらではわかりません。
    OSからインストールしなおす必要はありません。

    再インストールの手順
    docker-compose down
    /git/docker-mirakurun-epgstationをフォルダごと削除する。
    再起動する。
    :~/temp/epg-plex$ bash 5-checktuner.sh でドライバ確認
    問題なければ、
    ~/temp/epg-plex$ bash 6-install-q.shなどを実行です。

    再インストールしてみてください。

  • 島人 より:

    ありがとうございます。

    コンテナの再インストールでは直らず、結局、OS再インストールしました。
    そうしましたら、無事起動しました。
    原因は分からずじまいですが…。

    そして、これを期に録画環境を実機から仮想環境にしました。
    ホストOSはproxmoxです。以前はESXiを使っていたのですが、カードリーダーがそのままではうまく使えなかったのですが、proxmoxでは特に問題なくパススルーできています。

  • simplelife より:

    島人さん

    原因わからず起動は、残念。コンテナの問題でないということは、やはりチューナードライバのような気がします。

    Proxmoxなかなか良さそうですね。仮想環境なら、イメージをそのまま公開すれば、もっと簡単になりそうですね。

    ところで、mirakurunもEPGStationも最新版で問題なかったので、2023年8月版としてコンテナ部分のインストールだけバージョンアップしました。

  • 島人 より:

    私はubuntu server(CUI)で構築しているんですが、もしかしたら、なにかのコマンドのときにsudoを付け忘れていたのかも…。

  • simplelife より:

    島人さん

    「sudoを付け忘れ」は、scriptを使っているならないと思います。
    ただ、私もEPGStationが突然動かなくなった時があります。
    調べたら、logディレクトリのオーナーがrootだったり、logファイルのオーナーがrootでした。
    アクセス権を変えたら、なんの問題もなく、動きました。

  • 島人 より:

    お世話になっています。
    録画環境のパーティションを拡大しようとしたところ、
    インストールで Done まではいったのですが
    epgstationのログで下記が多量に記録されていて起動できません。
    「[INFO] system – check mirakurun」
    コンテナを再インストールしてもおなじでした。

  • simplelife より:

    島人さん

    「[INFO] system – check mirakurun」が出ているということは、mirakurunが動いていないのでは?

    それと、この記事にコメントということは、古いscriptを使っているということですか。
    現在は、このscriptは配布していません。2023年8月版で確認し、そちらの記事でコメントしてください。

  • 島人 より:

    すいません。このページ開きっぱなしだったので、こちらのスクリプトを使っていました。

  • ryuzan より:

    インストールは問題なくできました。録画もできますが/media/tv_recordに録画ファイルがありません。uid 所有者などは設定しています。増設HDDを/media/tv_recordでマウントしています。

  • simplelife より:

    ryuzanさん

    https://www.digital-den.jp/simplelife/archives/6928/
    にある手順でやりなおせば、確実にマウントできると思います。
    お試しください。

  • simplelife より:

    ryuzanさん

    それから、/media/tv_recordのアクセス権を確認してください。
    最初はrootがオーナーでアクセス権も書き込みはオーナーだけになっています。

  • ryuzan より:

    simplelife様

    ありがとうございました。
    /mnt/dataに録画ファイルができました。
    minidlanaをインストールしましたが録画ファイルを認識してくれなかったので助かりました。

    epgstarionは以前にもほかのサイトを参考にして構築しましたが殆どオートマチックに構築できるは本当にすごいと思います。

  • simplelife より:

    ryuzanさん

    解決して良かったです。
    今後も何か不具合があったらお知らせください。

  • コメントを残す

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です

    このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください