2023年8月版 45分で作れる自宅録画サーバー(Ubuntu 22.04.3LTS)
<2024年8月18日>linuxカーネルのアップデートで不具合
2024年8月14日の更新で、以下に変わります。
- linux-modules-6.8.0-40-generic
(uname -r コマンドで確認してください。)
(今までは、6.5.0-14-generic です。)
そのために、非公式PLEX用ドライバがインストールできない事象が発生しています。
本スクリプトを使用している場合は、当面カーネルアップデートは避けてください。)
grub-customizerをインストールしている場合は、指定したカーネルが起動するので、
不具合は発生しません。
(追加情報:8月28日)
linux-modules-6.8.0-40-genericのカーネルでは、以下の要領で
非公式PLEX用ドライバをインストールしてください。
cd ~/git
sudo apt -y install gdebi
wget https://github.com/tsukumijima/px4_drv/releases/download/v0.4.5/px4-drv-dkms_0.4.5_all.deb
sudo gdebi -n ./px4-drv-dkms_0.4.5_all.deb
————————————————————————————————
<2024年1月18日>スクリプト更新
カーネル6.5.0-14-genericに対応しました。
2023temp-20240118T060315Z-001.zip
変更点は、一つのスクリプトだけです。
4-tunerdriver.sh → 4-tunerdriver202401.sh
今までにインストールして使用している方は、
以下の手順を実行して下さい。
(古いドライバの削除)
sudo dkms remove px4_drv/0.2.1 –all
sudo rm -rf /usr/src/px4_drv-0.2.1
(カーネルを6.5.0-14-genericにアップデート)
(新しいドライバのインストール)
cd ~/git
sudo apt -y install gdebi
wget https://github.com/tsukumijima/px4_drv/releases/download/v0.4.2/px4-drv-dkms_0.4.2_all.deb
sudo gdebi -n ./px4-drv-dkms_0.4.2_all.deb
sudo reboot
以上
————————————————————————————————
<2024年1月13日>緊急報告
カーネルをアップデートして6.5.0-14-genericにすると、
非公式PLEX用ドライバがインストールできなくなります。
mirakurunもepgstationも動きません。
復帰するには、再起動して、Shiftキーを押して待ちます。
grubメニューが出たら、Advanced Optionを選択して、
6.2.0-39-genericを選んで起動します。
当面はこれで問題なく使えますが、
再起動したら毎回6.2.0-39-genericを指定する必要があります。
そうしないと6.5.0-14-genericで起動してしまいます。
もし、それが面倒だという方は、以下のコマンドを実行して下さい。
sudo add-apt-repository ppa:danielrichter2007/grub-customizer -y
sudo apt update
sudo apt install grub-customizer
grub-customizerというアプリがデスクトップにできるので、
そのアプリで、デフォールトで起動するカーネルを
6.2.0-39-genericに指定して保存してください。
6.5.0-14-genericでドライバがインストールできるようになったら、
またお知らせします。
————————————————————————————————
2023年8月現在、自宅録画サーバーを45分で作る方法を紹介します。
<前提条件>
- PC(PLEXチューナーカード搭載、あるいはUSB接続PLEXチューナー)
- USB接続カードリーダー
- B-CASカード
上記が揃っていれば、約45分でインストール完了。
- (30分) Ubuntu 22.04.3インストール
- (15分) 自宅録画サーバー完成
- (20分) EPGStationで1週間の番組表を読み込み、予約録画ができる
入手可能な以下4点を利用します。
- Ubuntu LTS 22.04 日本語Remix
- EPGStation Mirakurun docker版
- 非公式Linuxドライバ for PLEX TVチューナー
- PLEX TVチューナー
(PX-Q3PE4/5、PX-W3PE4/5)
(PX-MLT5PE、PX-MLT8PE)
(PX-Q3U4、PX-W3U4)
<2022年5月からの改訂ポイント>
- Mirakurun 3.9.0-rc.4(最新版がインストールされる)
- EPGStation 2.7.1(最新版がインストールされる)
docker Compose V2は、次回のバージョンで対応予定
用意するもの
No. | 品名 | 説明 |
---|---|---|
1 | B-CASカード | |
2 | USB接続カードリーダー | SCR3310v2.0で検証済み |
3 | PLEX社製TVチューナー | PX-Q3PE4/5, PX-W3PE4/5, PX-Q3U4, PX-W3U4, PX-MLT5PE, PX-MLT8PE |
4 | アンテナケーブル | |
5 | LANケーブルかWiFi | |
6 | PC | Ubuntu 22.04がインストールできるPC |
B-CASカード
USB接続カードリーダー
PLEX社製TVチューナー
アンテナケーブル
PC
PLEX TVチューナーには、使用できるPCに以下の制限があります。
PC | W3U4 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以上の安定した電源が望ましい。
ハードウェアの準備
- PCを組み立てます。
- (W3U4、Q3U4の場合)
外部USBポートに接続します。
(W3PE5、Q3PE5の場合)
PLEX TVチューナーをPCI Expressのスロットに入れます。
(W3PE4、Q3PE4、MLT5PE、MLT8PEの場合)
PLEX TVチューナーをPCI Expressのスロットに入れます。
内部USBポートとTVチューナーカードを接続します。 - B-CASカードをUSB接続カードリーダーに挿入する。
B-CASカードの裏面を上にして挿入する。
- USB接続カードリーダーを外部USBポートに接続する。
- LANケーブルをPCに接続するか、WiFiを用意する。
- 準備した例を以下に示します。
- 最後に、PLEXチューナーのドライバをインストールするために、
セキュリティーブートを「非UEFIモード」にします。
PCの電源を入れて、「DEL」キーを押してBIOSユーティリティーを起動します。
(本例は、ASUSのマザーボードの場合です。)
画面下のメニュー左寄り「Advanced Mode」をクリックします。
Advanced ModeのMain画面で、メニューから「起動」をクリックします。
「起動」画面で「セキュリティブートメニュー」をクリックします。
「セキュリティブートメニュー」画面で「OSタイプ」を「非UEFIモード」にします。
メニューから「終了」をクリックし、「変更を保存しリセット」をクリックします。
これで、リブートすれば、ハードウェアの準備は完了です。
インストールの準備
- 既に稼働しているdocker版EPGStationがある場合は、バックアップをしてください。
- Ubuntu 22.04をインストールします。
- root以外のユーザーでログインしてください。
例えば、euserというユーザーを作成し、euserでログインします。 - インストールスクリプトをダウンロードします。
script: 2023年8月版 45分で作れる自宅録画サーバー
1 ファイル 21.58 KB - ダウンロードしたファイルをホームディレクトリに展開します。
ダウンロードディレクトリを表示します。
「2023temp-20240118T060315Z-001.zip」をダブルクリックします。
「2023temp」を右クリックしてメニューを表示し、「展開」をクリックします。
「ホーム」をクリックして、「展開」をクリックします。
「アーカイブの展開が完了しました」と表示されたら、「ファイル表示」をクリックします。「ホーム」の配下に「2023temp」ディレクトリができたことを確認します。
- 「端末」アプリを開く。
画面左下の「アプリケーションを表示する」をクリックします。
「端末」を左クリックして、「お気に入りに追加」をクリックします。
画面左のメニューから「端末」をクリックします。
インストールの実行
- 「端末」を実行して、スクリプトを確認します。
euser@pc:~$ cd ~/2023temp/epg-plex euser@pc:~/2023temp/epg-plex$ ls -la 合計 48 drwxrwxr-x 3 euser euser 4096 8月 21 12:25 . drwxrwxr-x 4 euser euser 4096 8月 21 12:25 .. -rw-rw-r-- 1 euser euser 212 8月 26 2021 1-preprocess.sh -rw-rw-r-- 1 euser euser 85 8月 26 2021 2-carddriver.sh -rw-rw-r-- 1 euser euser 116 8月 26 2021 3-checkcard.sh -rw-rw-r-- 1 euser euser 576 8月 26 2021 4-tunerdriver202401.sh -rw-rw-r-- 1 euser euser 27 8月 26 2021 5-checktuner.sh -rw-rw-r-- 1 euser euser 1115 8月 20 19:30 6-install-mlt5.sh -rw-rw-r-- 1 euser euser 1115 8月 20 19:31 6-install-mlt8.sh -rw-rw-r-- 1 euser euser 1105 8月 20 19:31 6-install-q.sh -rw-rw-r-- 1 euser euser 1109 8月 20 19:31 6-install-w.sh drwxrwxr-x 2 euser euser 4096 8月 21 12:25 dat
- スクリプトを順番に実行していきます。
euser@pc:~/2023temp/epg-plex$ bash 1-preprocess.sh euser@pc:~/2023temp/epg-plex$ bash 2-carddriver.sh euser@pc:~/2023temp/epg-plex$ bash 3-checkcard.sh euser@pc:~/2023temp/epg-plex$ bash 4-tunerdriver202401.sh
ここで自動的にリブートします。(ここまで5分)
リブート後端末を開き、~/2023temp/epg-plexまで戻ります。euser@pc:$cd ~/2023temp/epg-plex euser@pc:~/2023temp/epg-plex$ bash 5-checktuner.sh
チューナードライバを確認したら、最後のインストールです。(ここから10分)
<Q3PE4/5、Q3U4>の場合euser@pc:~/2023temp/epg-plex$ bash 6-install-q.sh
<W3PE4/5、W3U4>の場合
euser@pc:~/2023temp/epg-plex$ bash 6-install-w.sh
<MLT5PE>の場合
euser@pc:~/2023temp/epg-plex$ bash 6-install-mlt5.sh
<MLT8PE>の場合
euser@pc:~/2023temp/epg-plex$ bash 6-install-mlt8.sh
インストールの詳細画面
- 1-preprocess.sh
以下のスクリプトを実行します。euser@pc:~/2023temp/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-carddriver.sh
以下のスクリプトを実行します。euser@pc:~/2023temp/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-checkcard.sh
以下のスクリプトを実行します。euser@pc:~/2023temp/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-tunerdriver202401.sh
以下のスクリプトを実行します。euser@pc:~/2023temp/epg-plex$ bash 4-tunerdriver202401.sh
結果は以下のとおりです。
depmod.... ドライバがインストールされました。enterキーを押すとリブートします。
TVチューナーのドライバがインストールされました。
enterキーを押してリブートしてください。 - 5-checktuner.sh
以下のスクリプトを実行します。euser@pc:~/2023temp/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-install
インストールの最後のステップです。PLEX TVチューナー対応docker版mirakurun、mysql、epgstationをインストールします。
(a) PX-Q3PE4/5、PX-Q3U4の場合、6-install-q.sheuser@pc:~/2023temp/epg-plex$ bash 6-install-q.sh
(b) PX-W3PE4/5、PX-W3U4の場合、6-install-w.sh
euser@pc:~/2023temp/epg-plex$ bash 6-install-w.sh
(c) PX-MLT5PEの場合は、6-install-mlt5.sh
euser@pc:~/2023temp/epg-plex$ bash 6-install-mlt5.sh
(d) PX-MLT8PEの場合は、6-install-mlt8.sh
euser@pc:~/2023temp/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
- Mirakurunの稼働確認
ブラウザでMirakurunの稼働を確認する。
「http://localhost:40772」
2023年8月21日現在、Mirakurun 3.9.0-rc.4がインストールできます。 - EPGStationの稼働確認
ブラウザでEPGStationの稼働を確認する。
「http://localhost:8888」
2023年8月21日現在、EPGStation 2.7.1がインストールできます。
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
euser@pc:~$ cd ~/git/docker-mirakurun-epgstation euser@pc:~$ docker-compose down euser@pc:~$ cd epgstation/config
epgstationを停止してから、config.ymlを開けて、編集してください。
config.ymlを開いて、調べたユーザーidを追加してください。
例えばユーザーIDが1000ならば、「uid: 1000」と追記して保存して下さい。
編集が完了したら、epgstationを立ち上げてください。
euser@pc:~$ cd ~/git/docker-mirakurun-epgstation euser@pc:~$ docker-compose up -d
ここで、EPGStationが立ち上がらないことがあります。
問題は、~/git/docker-mirakurun-epgstation/epgstation/logsで発生していました。
logファイルがrootで書き込まれて、アクセスができなくなっていました。
例えばログインユーザーがeuserの場合、以下のようにオーナーを変更します。
euser@pc:~$ cd ~/git/docker-mirakurun-epgstation/epgstation euser@pc:~$ sudo chown euser -R logs
更に録画ファイルを入れるディレクトリ/media/tv_recordのオーナーをログインユーザーに変更してください。
例えばログインユーザーがeuserならば、
sudo chown euser /media/tv_record
変更後、Ububtuをリブートしてください。
問題なくシステムが立ち上がることを確認したら、EPGStationから録画を行ってください。
追加インストール情報
本記事の手順でEPGStationをインストールした後、参考になる記事は以下のとおりです。
ストレージの拡張について
トランスコードの最適化について
sambaについて
muninについて
全録サーバーについて
EPGStationのデータのバックアップとリストアについて
関連記事
コメント107件
風小僧さん
インストールできて良かったです。
softcasに関しては、きちんと調べたわけではありませんが、違法の可能性があったので、
使っていません。B-CASに関しては、管理している会社そのものの権利が無効の可能性が
高く、法律に触れない範囲で流用できるという解釈で利用しています。
詳しくは、このブログの中でも記事にしています。
https://www.digital-den.jp/simplelife/archives/5191/
こちらのページのスクリプトを使用して、Ubuntu22.04にドライバーとmirakurunとEPGStationのインストールを行いました。
EPGStationから番組表の取得はできるようになったのですが、放送中の番組を視聴しようと思ってm3u8ファイルをVLCで開いても、録画した番組のm2tsファイルをVLCで再生しても、映像が何も表示されない状態です。再生時間だけは進んでおりました。
EPGStationにて録画一覧の画面を開いても、各録画にサムネイルは何も表示されていません。
番組表は取得できていることや、pcsc_scanコマンドでB-CASカードが認識できていることから、ケーブルやカードの抜けは無いように思います。
装着しているチューナーはPX-W3PE5です。
PCのパーツ構成は、Asrock J3160-ITXという、intel celeron J3160 CPUがオンボードで取り付けられているマザーボードを使用しています。グラフィックボードは装着できません。
CPUなどハードウェアが原因で、視聴や録画に失敗しているのでしょうか?
もしくは、他に原因が存在するのでしょうか?
m3u8やm2tsをVLCで開いたとき、mirakurunには下記のようなログが表示されていました。
info: TSDecoder#4 process has spawned by command `arib-b25-stream-test` (pid=960)
info: TSDecoder#4 process has closed with exit code=0 by signal `null` (pid=960)
error: TSDecoder#4 unexpected dead
warn: TSDecoder#4 has been fallback into pass-through stream
warn: TSDecoder#4 process will force killed because no respond…
error: TSDecoder#4 unexpected dead
warn: TSDecoder#4 has been fallback into pass-through stream
B-CASカードがきちんと認識されていないと思います。裏返しにさしこんでいるとかあ。
SCR-3310/V2.0というカードリーダーを使用していますが、pcsc_scanを実行したときには「Japanese Chijou Digital B-CAS Card (pay TV)」という結果が出ます。
カードは裏面が上になるように差し込んでいます。
mmmmさん
3-checkcard.shの実行結果はどうなっていますか?
pcscd.socket – PC/SC Smart Card Daemon Activation Socket
Loaded: loaded (/lib/systemd/system/pcscd.socket; disabled; vendor preset: enabled)
Active: inactive (dead)
Triggers: ● pcscd.service
Listen: /run/pcscd/pcscd.comm (Stream)
12月 16 20:13:43 mmmm-ubuntu systemd[1]: Listening on PC/SC Smart Card Daemon Activation Socket.
12月 16 20:14:11 mmmm-ubuntu systemd[1]: pcscd.socket: Deactivated successfully.
12月 16 20:14:11 mmmm-ubuntu systemd[1]: Closed PC/SC Smart Card Daemon Activation Socket.
このようになっていました。
すみません、先程まではUbuntuとは別の、同じネットワークにあるPCから起動していました。
Ubuntuから直接m3u8を開いた場合は下記のようなlogになりましたが、映像が映らないことは相変わらずです。
2023-12-16T20:27:27.712+09:00 info: TSDecoder#7 has created (command=arib-b25-stream-test)
2023-12-16T20:27:27.768+09:00 info: TSDecoder#7 process has spawned by command `arib-b25-stream-test` (pid=208)
2023-12-16T20:27:27.770+09:00 info: TSFilter: created (serviceId=2056, eventId=0)
2023-12-16T20:27:27.771+09:00 info: TSFilter: waiting for serviceId=2056, eventId=0
2023-12-16T20:27:27.771+09:00 info: TunerDevice#2 streaming to user `172.18.0.3:43220` (priority=0)
2023-12-16T20:27:27.909+09:00 info: TSFilter#_onPMT: now ready for serviceId=2056
何度もコメントしてすみません。
先程のlogは、一度PCの電源を落としたためカードが認識されておらず、違う結果となっていました。
もう一度認識させたあと、ubuntuにて番組を開き直しましたが、16:54に書いたような、またもやwarnとerrorが含まれたlogとなりました。
docker exec -it mirakurun /bin/bash
checksignal 13 –device /dev/px4video2
device = /dev/px4video2
C/N = 25.507984dB^C
SIGINT received. cleaning up…
C/N = 25.984348dB
mirakurunのコンテナにログインして、checksignalで電波強度を確認してみましたが、受信に問題はないようでした。
mmmmさん
いただいた情報をみる限り、原因はわかりません。
「放映中」で、きちんと表示されるまで、いろいろ試した方がわかりやすいと思います。
まず、「放映中」で「NHK総合1・東京」をクリックし、「WebM」を選択し。「視聴」ボタンを押すとどうなりますか?
「NHK総合1・東京」が受信できない地域なので、「NHKEテレ1大阪」で試してみました。
「外部アプリで開く」をオフにすると「WebM」が選択できるようになったので、その状態で視聴を押してみると、黒い背景に中央にぐるぐる回るマークが出たまま、一向に進みませんでした。
また、視聴を押した直後、下記のようなlogが残りました。
2023-12-16T22:29:55.287+09:00 info: TSDecoder#2 has created (command=arib-b25-stream-test)
2023-12-16T22:29:55.318+09:00 info: TSDecoder#2 process has spawned by command `arib-b25-stream-test` (pid=549)
2023-12-16T22:29:55.318+09:00 info: TSFilter: created (serviceId=2056, eventId=0)
2023-12-16T22:29:55.319+09:00 info: TSFilter: waiting for serviceId=2056, eventId=0
2023-12-16T22:29:55.347+09:00 info: TunerDevice#3 process has spawned by command `recpt1 –device /dev/px4video3 13 – -` (pid=551)
2023-12-16T22:29:55.348+09:00 info: TunerDevice#3 streaming to user `172.18.0.2:39294` (priority=0)
2023-12-16T22:29:56.410+09:00 info: TSFilter#_onPMT: now ready for serviceId=2056
mmmmさん
デフォールトのチャンネルが、地上波は東京なので、mirakurunでチャンネルを編集してください。
BSなら、全国どこでも同じだから、BS1で試してみたら、うまくいくかもしれませんね。
BSでも映像は表示されませんでした。
もしかしたらdockerなしで行くしかないのかもしれません。
後日改めてインストールし直すことにします。
お手数をおかけして申し訳ないです。
すみません、ようやく解決いたしました。
原因ですが、dockerにログインしていない状態で「pcsc_scan」を実行するとカードを認識していないような結果が出力されるので、本来は行う必要のない「service pcscd restart」を実行してしまい、カードの認識がdocker外に移動してしまうためでした。
また、「service pcscd restart」をしなかった状態であっても、B-CASカードではなくケーブルテレビ用のC-CASカードに差し替えていたせいで、地上波とBSが認証できなかったのも原因でした。
mmmmさん
解決して良かったです。結局B-CASカードの認識ができなくて、デコードできなかったということですね。
いろいろなトラブルの情報は、とても参考になります。
なた、何かありましたら、コメントください。
チャンネル設定が、東京以外でどうなるのかわからなかったのですが、問題なく使えるようですね。
参考になりました。
こちらの記事を参照し、Ubuntu22.04にドライバーとmirakurunとEPGStationのインストールを行わさせていただきました。
その結果地上波のチャンネルはすべて表示でき、録画も良好に行うことができました。しかし、BS、CSのチャンネルがmirakurun上に表示されません。また、checksignalコマンドを入力すると、’No signal.’と’Cannot tune to the specified channel message’というメッセージが表示されます。アンテナ線の接続とチューナーに問題はなさそうなのですが、解決にお力をお借りできないでしょうか?
実行した際以下のようなEventsとlogが表示されました
[Events]
[“BS”,”CS”],”command”:”recpt1 –device /dev/px4video1 –lnb 15 CS16 – -“,”pid”:7414,”users”:[{“id”:”Mirakurun:getServices()”,”priority”:-1,”disableDecoder”:true,”streamSetting”:{“channel”:{“_name”:”CS:CS16″,”_type”:”CS”,”_channel”:”CS16″},”parseNIT”:true,”parseSDT”:true},”streamInfo”:{}}],”isAvailable”:false,”isRemote”:false,”isFree”:false,”isUsing”:false,”isFault”:false}
[Logs]
2023-12-30T16:36:34.853+09:00 info: ChannelItem#’CS:CS16′ serviceId=353 check has started
2023-12-30T16:36:34.853+09:00 info: TSFilter: created (serviceId=0, eventId=0)
2023-12-30T16:36:34.853+09:00 info: TSFilter: waiting for serviceId=0, eventId=0
2023-12-30T16:36:34.860+09:00 info: TunerDevice#0 process has spawned by command `recpt1 –device /dev/px4video0 –lnb 15 CS16 – -` (pid=7428)
2023-12-30T16:36:34.860+09:00 info: TunerDevice#0 streaming to user `Mirakurun:getServices()` (priority=-1)
2023-12-30T16:36:37.807+09:00 info: TunerDevice#1 process has closed with exit code=1 by signal `null` (pid=7427)
2023-12-30T16:36:37.908+09:00 info: TunerDevice#1 released
2023-12-30T16:36:42.236+09:00 info: TunerDevice#0 process has closed with exit code=1 by signal `null` (pid=7428)
2023-12-30T16:36:42.339+09:00 warn: TunerDevice#0 respawning because request has not closed
2023-12-30T16:36:42.347+09:00 info: TunerDevice#0 process has spawned by command `recpt1 –device /dev/px4video0 –lnb 15 CS16 – -` (pid=7429)
2023-12-30T16:36:43.853+09:00 warn: TunerDevice#1 will force killed because SIGTERM timed out…
2023-12-30T16:36:50.024+09:00 info: TunerDevice#0 process has closed with exit code=1 by signal `null` (pid=7429)
2023-12-30T16:36:50.126+09:00 warn: TunerDevice#0 respawning because request has not closed
2023-12-30T16:36:50.134+09:00 info: TunerDevice#0 process has spawned by command `recpt1 –device /dev/px4video0 –lnb 15 CS16 – -` (pid=7430)
2023-12-30T16:36:54.861+09:00 info: TSFilter#_close: closed (serviceId=null, eventId=null)
2023-12-30T16:36:54.861+09:00 info: TunerDevice#0 end streaming to user `Mirakurun:getServices()` (priority=-1)
2023-12-30T16:36:54.862+09:00 warn: ChannelItem#’CS:CS16′ serviceId=353 check has failed [Error: stream has closed before get network
at TSFilter. (/app/src/Mirakurun/Tuner.ts:198:28)
at TSFilter.emit (/app/node_modules/eventemitter3/index.js:201:33)
at TSFilter._close (/app/src/Mirakurun/TSFilter.ts:1098:14)
at TSFilter.close (/app/src/Mirakurun/TSFilter.ts:303:14)
at Timeout._onTimeout (/app/src/Mirakurun/Tuner.ts:175:39)
at listOnTimeout (node:internal/timers:569:17)
at processTimers (node:internal/timers:512:7)]
mimimiさん
ソフトウェアの問題ではないと思います。
・アンテナケーブルをTVに接続してNHK BSが映るか?
・カードがきちんと刺さっているか?
くらいしか思いつきません。
・
simplelifeさん
ご返信ありがとうございます。
ケーブルをテレビにさしてみた結果問題なく映りました。
またカードも問題なく刺さっていることを確認しました。
もしかしたらチューナーの問題かもしれませんね、、、
mimimiさん
私も自分のPCでチェックしました。
~$ docker exec -it mirakurun /bin/bash
root@a4579f1e5f2c:/app# checksignal –device /dev/px4video5 101
Cannot open tuner device: /dev/px4video5
root@a4579f1e5f2c:/app# checksignal –device /dev/px4video0 101
device = /dev/px4video0
C/N = 18.583437dB
たまたま使われていると、開けない場合があります。
px4video0、px4video1、px4video4、px4video5で全部試してください。
カードの型番を教えてください。 PX-Q3PE4ですか?
mimimiさん
検索したら、以下のメモを見つけました。
————-
接触不良?でCannot tune to the specified channelと言われた
/dev/pt3video*は表示されてカードは認識されているが、Cannot tune to the specified channelが出て全く放送を受信できない。配線を確認しても問題なく、sudo modprobe -r pt3_drv && sudo modprobe pt3_drvしてもエラーは出ない。
ただ、checksignalやrecpt1を実行すると2回に1回くらい処理が戻って来ず、プロセスをkillすることもできない。
PCを内部清掃しPT3を挿し直したところ改善した。接触不良が原因かは不明だが、メモとして残す。
———————–
カードを挿し直して、電源を入れ直す以外、方法はないかもしれません。
simplelifeさん
ご返信ありがとうございます。
自分はPX-Q3PE5を使用しています。
一回PC内の清掃を行い接続しなおしてみますね。
mimimiさん
Cannot tune to the specified channel message
が出る場合は、
(1)地上波のチューナーでBSのチャンネルを指定するか
(2)BS、CSのチューナーで地上波チャンネルを指定するか
(3)定義されていないチャンネルを指定するか
です。
地上波 px4video2、px4video3、px4video6、px4video7
BS,CS px4video0、px4video1、px4video4、px4video5
再度、以下のコマンドで確認してください。
docker exec -it mirakurun /bin/bash
root@xxxx:/app# checksignal –device /dev/px4video0 101
root@xxxx:/app# checksignal –device /dev/px4video1 101
root@xxxx:/app# checksignal –device /dev/px4video4 101
root@xxxx:/app# checksignal –device /dev/px4video5 101
simplelife さん
チューナーにアタリハズレがあるということを耳にして、まだチューナーの返品期限内だったので思い切って新しいチューナーを購入してみました。早速試してみたところ見事BS CSもスキャンすることができました。どうやらカードの故障だったみたいです。ご協力いただきありがとうございました。
mimimiさん
カードの不良品、初めて聞きました。そういうこともあるんですね。
とにかく、解決して良かった。
チューナー:PX-Q3U4
Ubuntu 22.04.3LTSにて1/11のUbuntuのアップデートでチューナーのドライバが消えました。
手動でドライバを入れようとしても入らず、機器の故障を切り分けながら確認したのですが故障は
ありませんでした。同一PCにてUbuntuの再インストール、他PCにてのクリーンインストールしても
ドライバは入りませんでした。EPGStationのデータをバックアップしていたので、いろいろ試して半日かけてどうにか復旧。Ubuntuの知識が乏しいので悩みました。疲れた・・・
tammyさん
情報ありがとうございます。
こちらでもアップデートしてみましたが、特に問題はなく、EPGStationは問題なく録画ができています。
何が問題だったのか。
USBの接続不良以外、ドライバが消えることはないと思うのですが。。。
tammyさん
こちらでもドライバが消える現象再現しました。
ただし、3台中1台で1月11日に発生しています。
他の2台ではアップデートをしても発生していません。
発生した1台で、デスクトップのアプリからアップデートした時に発生したように思います。
他の2台はcockpitからアップデートしたのですが、問題は起こっていません。
原因を調査するにも、もう少し情報があるといいですね。
他にも発生している方がいれば、情報をお願いします。
simplelife さん
事例を探しても出てこないので今日の録画は後回しで再インストールしました。
原因はチューナードライバのBuildエラーみたいですね、アップデートで再構築するのは便利ですけど・・・下記はtunerdriver install時のエラー部分のlogです
Building module:
cleaning build area…
cd ./driver; make KVER=6.5.0-14-generic px4_drv.ko…(bad exit status: 2)
ERROR (dkms apport): binary package for px4_drv: 0.2.1 not found
Error! Bad return status for module build on kernel: 6.5.0-14-generic (x86_64)
Consult /var/lib/dkms/px4_drv/0.2.1/build/make.log for more information.
私の機器構成はPC:DeskMini 310(Core i5-9500T)/WirelessIF:AC9560NGW
チューナ:PX-Q3U4 / カードリダ:SCR3310/v2.0なのですがバージョンアップでカーネルが変更されドライバ再構築時にエラーになっているみたいです。私のPC(CPU)はintelなのでAMDでは発生していないかも?AMDのPCで構築していないので不明です・・・いつか同じ目に合うのかな?
復旧方法
USB機器は接続した状態でUbuntu 22.04 LTSをUSBブートにて再インストールします。悲しい情報は消してしまいましょう・・・
注意点としてはネットに接続しないこと。LANケーブルは抜いておきます。
インストール終了後、PX-Q3U4はドライバが正常動作してないとLEDが消えているので[$lsusb]にて接続確認してください。その後、画面左下のアプリケーションから「ソフトウェアとアップデート」を起動してアップデートのタブより、確認対象を「セキュリティーアップデートのみ」として下段はアップデートしない方向でお好み設定してください。その後、ネット接続してsimplelifeさんのインストールファイルを実行していけば復旧できます。(私が使ったインストールファイルは2022年5月頃のものです)
バックアップを取っている方はEPGStationのバップアップをリストアしてください。
内臓ドライブを使っている方は、再設定してください。マウントまでは自動で出来ているはずなのでラベル変更、EPGStationの録画ドライブの変更等。
私がインストールしたアプリはVLCのみです。録画とネット視聴さえ出来ればいいのです。
Ubuntuを理解してる方は、別の対処方法があるのでしょうが私の知識ではここまでです。
tammyさん
情報ありがとうございます。
こちらで調べた結果、
動作OKカーネル Linux oooo 6.2.0-39-generic #40~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Nov 16 10:53:04 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
動作NGカーネル Linux xxxx 6.5.0-14-generic #14~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Nov 20 18:15:30 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
カーネルを戻せば、動くかもしれません。
これから試してみます。
tammyさん
カーネルを6.5.0-14-genericから 6.2.0-39-genericに戻したら、無事復帰しました。
手順を再度確かめて、一番簡単な方法を公開することにします。
simplelife さん
再インストールしたのでカーネルの確認は出来ていませんでした、6.2.0-39-generic迄なのですね。
これから始める方や故障で再インストールされる方は注意が必要ですね。
問題なのはintel CPUの対応だと思います、Ubuntu 22.04 LTSではintelの11世代までなのかな?
ネット切断してUbuntu 22.04 LTSでインストール、手動でカーネルを6.2.0-39-generic上げてやればうまく動作するのか、docker Compose V2での対応等
一番確実で早いのは、他力本願ではありますがnns779の中の人が・・・
simplelife さん、tammyさん、類似ケースかもと思い報告します。私の利用している機材はPXQ3PE5です。
私もUbuntu22.04LTSで構成していますが、昨日、apt upgradeしたあと /dev/px* が存在しない状態となりました。
下記の内容を参考に、チューナードライバの再インストールを試みましたが同じエラーの状況でした。
4-tunerdriver.sh
cd ./driver; make KVER=6.5.0-14-generic px4_drv.ko…(bad exit status: 2)
対応として以下を行いました。
1)インストール済のドライバを削除
https://github.com/nns779/px4_drv
アンインストール セクションの「DKMSを使用してインストールした場合」、「ファームウェアのアンインストール」を実施
2) debファイルをインストールするため、gdebi をインストール
sudo apt install gdebi
3) https://github.com/tsukumijima/px4_drv から
Debian パッケージを使用してインストール (推奨) の下記を実行し、debファイルをダウンロード
wget https://github.com/tsukumijima/px4_drv/releases/download/v0.4.1/px4-drv-dkms_0.4.1_all.deb
4)gdebi で 3)でダウンロードしたdebをインストール
sudo gdebi px4-drv-dkms_0.4.1_all.deb
5) 再起動
こちらで /dev/px* が生成されていることが確認できました。
ご参考まで。
sadaです。すみません、自身の利用OSの情報を忘れていました。
Linux version 6.5.0-14-generic (buildd@lcy02-amd64-110) (x86_64-linux-gnu-gcc-12 (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #14~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Nov 20 18:15:30 UTC 2 (Ubuntu 6.5.0-14.14~22.04.1-generic 6.5.3)
です。
tammyさん
カーネルのダウングレードは、簡単にできます。再インストールなどは必要ありません。
詳細は、後で記事に書きますが、コマンドを打って、リブートするだけなので、簡単5分でおわります。
sadaさん
情報ありがとうございます。
手順としては、いくらか大変ですね。
私のように、カーネルのダウングレードなら、5分で復帰します。
simplelife さん 、sadaさん
ありがとうございます。
カーネルのダウングレードはてっとり早くていいですね、脳内に存在せず機器検証もかねてクリーンインストールしました。
別のドライバの存在したのですね、次回インストール時に利用します。いずれsimplelife さんがパッチ化すると思います・・・
使用したPCは約2年ほど稼働していて、そろそろ更新を考えていた矢先の出来事でとにかく焦りました。とりあえずサーバーが稼働してなによりです。
お疲れさまでした
sadaさん
少し勘違いしていました。
sadaさんが教えてくれた手順は、新しいカーネルに対応したドライバの組み込みだったんですね。
私のscriptにこの変更を加えれば、問題が解消しますね。
早速、作り替えて、新しいバージョンを作りましょう。
教えていただき、感謝。
simplelife さん、お役に立ててよかったです。
私自身こちらのサイトを見て、linuxで録画PCを組んでお世話になりました。
少しでも参考になればと投稿させていただきました。
これからもよろしくお願いします。
こちらのページのスクリプトを使用して、Ubuntu22.04にインストールしようとしています。
PX-Q3U4を使用しているので、bash 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
ERROR: for mirakurun Cannot start service mirakurun: error gathering device information while adding custom device “/dev/dvb”: no such file or directory
ERROR: Encountered errors while bringing up the project.
1〜4までのスクリプトはページの表示どおり問題なく実行できます。
解決方法をご教授いただけたら幸いです。
よろしくお願いします。
shinさん
スクリプト5の結果はどうなっていますか?
simplelife さん
スクリプト5の結果は
>Q3PE4/5、Q3U4の場合は、以下のように表示されます。
のページと同様になっております。
shinさん
~/git/docker-mirakurun-epgstationmの中のdocker-compose.ymlを見てください。
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
となっていれば、ただしいですが、/dev/dvbとなっていれば、
ただしくインストールされていません。
rootでインストールして、上記エラーが出たことがあった記憶があります。
shinさん
正しいdocker-compose.ymlが~/2023temp/epg-plex/dataからコピーされていないようです。
正しい手順を実行していないとこうなります。
simplelife さん
自分の指定したフォルダ/epg-plex/ からスクリプトを実行しておりました。
~/2023temp/epg-plex/ からスクリプトを実行するとエラーが出ることはありませんでした。
解決方法をご教授下さりありがとうございました。
shinさん
解決してよかったです。
確かに、フォルダepg-plexをどこにおいてもスクリプトが問題なく実行できるようにすれば、
良かったんですが、作成時頭が回っていませんでした。
次回は少し改良できると思います。
コメント失礼します。
PX-Q3PE5を購入しインストールを行っているのですがスクリプト1〜4が終了しスクリプト5をすると本来px4video0〜7が表示されるはずがpx4video0〜3しか表示されず全チューナーが認識されません。
またスクリプト6のインストールをしようとしたのですがPX-Q3PE5のバージョンで行うとMirakurunの作成に失敗し、PX-W3PE4/5のバージョンで行うと成功し起動します。
その後はチャンネルスキャンも正常に行われるのですがチューナー数がGR×2 BS/CS×2しか認識されずうまくいきません。
対処法をご存知の方はいらっしゃいますか?
sss15さん
今までにない事例ですね。
ドライバを認識した時点で、Wとして動作しているようです。
私はPX-Q3PE4の2台にインストールしましたが、問題は起こっていません。
PX-Q3PE5のハードトラブルか、ドライバのPX-Q3PE5対応に問題があると思います。
前者の可能性が高いですが、PLEX社は非公式ドライバでの動作は保証しないと思います。
一度PLEX社の手順で、windowsでインストールして確認するか、
PLEX社に事情を話して交換してもらうか。
simplelife さん
上の方の回答のように~/git/docker-mirakurun-epgstationmの中のdocker-compose.ymlを見てみたのですがこのようになっていたのでインストールは一応できている感じです
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
ですがbash 5-checktuner.shを入力すると
crw-rw-r– 1 root video 234, 0 1月 26 17:49 /dev/px4video0
crw-rw-r– 1 root video 234, 1 1月 26 17:49 /dev/px4video1
crw-rw-r– 1 root video 234, 2 1月 26 17:49 /dev/px4video2
crw-rw-r– 1 root video 234, 3 1月 26 17:49 /dev/px4video3
このようになってしまいます、、、
一度問い合わせをしてみようかなと思っています。
sss15さん
5-checktuner.shの結果が4チューナーということです。PX-W3PE5ではないんですね。念のため。
docker-compose.ymlは、きちんとインストールできていませんよ。
4台しかチューナーが認識されていないのならば、6-install-w.shでなければ正常に動きません。
sss15さん
もしかしたら、勘違いしてませんか。
地上波2チューナー、BS2チューナーが、PX-W3PE5
地上波4チューナー、BS4チューナーが、PX-Q3PE5
です。
とにかく、bash 5-checktuner.shで
crw-rw-r– 1 root video 234, 0 1月 26 17:49 /dev/px4video0
crw-rw-r– 1 root video 234, 1 1月 26 17:49 /dev/px4video1
crw-rw-r– 1 root video 234, 2 1月 26 17:49 /dev/px4video2
crw-rw-r– 1 root video 234, 3 1月 26 17:49 /dev/px4video3
と表示されたら、bash 6-install-w.shを実行して下さい。
なんで、bash 6-install-q.shを実行するんですか?
simplelifeさん
私はPX-Q3PE5を購入したため4チューナーずつ表示されないとおかしいのですがスクリプト5で4つしか表示されないため質問をいたしました。
Qシリーズを購入したのでそのとおりに最初スクリプト6でq.shを実行したのですがmirakurunが作成失敗していたので試しにw.shを実行したら起動できたのでなぜだろうと思ったので…
sss15さん
PX-Q3PE5を購入されたのは、わかりました。
4チューナーしか認識されない時点で異常ですので、そこで中断して、PLEX社に連絡しましょう。
6のスクリプトを実施する条件を満たしていません。
当方、チューナー:PX-Q3PE5を使用しておりますが、新しいOS(ubuntu-22.04.3-desktop)でも問題なく8ch認識しておりますので、スクリプト(ドライバ)は、問題なくPX-Q3PE5対応していると思います。
サーバー:富士通格安サーバー(約8年物)
USBカードリーダー:SCR-3310/V2.0
カーネル6.5.0-14-genericで動かなくなり、1月13日の緊急報告を知り、カーネルを6.2.0-39-genericに戻して録画しておりました。
つい先日、6.5.0-14-generic対応のスクリプトが公開されたことを知り、(古いドライバの削除)から(新しいドライバのインストール)を実行し、カーネルを6.5.0-14-genericにアップデートしたところ、うまく動作しなかったため、4-tunerdriver202401.shを実行してみましたが、こちらもうまくいかなかったため、その他の問題もあったためOS(ubuntu-22.04.3-desktop)ごと入れ直しを行いました。
さすがに、8ch同時録画までは試しておりませんが、地デジ4ch同時録画は出来ております。
最後に、簡単に録画サーバーを構築できるスクリプトありがとうございました。
paroparoさん
情報ありがとうございます。
現状からのアップデートだめでしたか。
私のところでは、2台のPX-Q3PE4で、問題なくアップデートできたのですが。
何か、条件があるのかもしれません。
他の方のアップデート情報が欲しいですね。
paroparoさん
今気がついたのですが、(新しいドライバのインストール)のタイミングが違ってますね。
文面どおりだと、6.2.0-39-genericのカーネルにドライバをインストールしているので、
カーネルアップデートで、新たなドライバが組み込まれないかもしれません。
私の書いた手順で(古いドライバの削除)と(新しいドライバのインストール)の間に
(カーネルアップデート)を入れ忘れてました。
修正します。
素晴らしいスクリプトありがとうございます。
問題なくインストールできたと思うのですが、録画確認の前にEPGStationでテレビが見れるか確認したのですが、何も映らない状態です。
構成はPX-W3U4とミニPC(N100)です。
ここを見るといろいろな情報があるので、ひとつひとつ試してみようと思います。
録画環境の移行って大変ですね。
fumifumiさん
EPGStationでテレビが映らないということは、正常じゃないですね。
チェックとしては、
(1)EPGStationの左タブで放映中を選んで、チャンネル名、番組名が見られますか?
(2)番組名が見えるならば、クリックしてください。
(3)開いた画面で「視聴」をクリックしてください。
(4)番組が表示。
上記どこで、問題が起こっていますか?
simplelifeさん
お返事ありがとうございます。
(4)で何も表示されない症状です。
どこから確認してよいか今はわからない状態です。
少し気になったのは6番目のシェル実行時に、赤色のメッセージ(ワーニングかエラー?)がたまに出てしまっていましたが、とりあえず終了してサービスが立ち上がっていますが、これで大丈夫ですか?
メッセージが流れていってしまっているので、なんのメッセージか確認できていないのですが。。。
fumifumiさん
確かにこちらでも確かめたところ、再生できないですね。
しかし、録画は問題なくできますので、録画して確認して下さい。
録画したものの再生は、TSファイルでストリーミングできましたが、mp4にするとできませんね。
私は、PlexMediaServerで再生しているので問題ないですが、EPGStationを使って再生するには問題です。
前のカーネルでは、webMの再生ができていましたが、新しいカーネルではうまくいきません。
もう少し調べる必要がありそうです。
simplelifeさん
確認ありがとうございます。
録画を行ったところ、ファイル出力は確認できました。
このファイルをWindows、Androidから再生しようとしたら、再生されなかったので、
TSファイルのストリーミングを検討します。(PlexMediaServer)
あとは、録画ファイル先を外付けHDD化、いままの予約を以降、できればKonomiTVの実装を行っていきます。
相談に乗っていただき、ありがとうございました。
当方、Ubuntu初心者なので、また困ったときは相談させてください。
よろしくおねがいします。
simplelifeさん
コメントの連投申し訳ございません。
PlexMediaServerでファイルが見つからない事象があり、VLCで再生を行ったところ真っ黒な画面のまま時間だけが進んでいました。
上記のコメントの中で同事象の人がいたため、同じようにchecksignalで電波強度を確認してみましたが、No signalとなっていました。
前のPC(Windows10)では録画出来ていたのでアンテナは問題ないはず。
pcsc_scanではB-CASカードは認識しています。
これからその他問題ないか確認してみます。
fumifumiさん
no signalということですが、番組表が表示されるなら、問題ないはずです。
TSからmp4に変換して、VLCで見てください。
EPGStationで左タブで、「録画済み」を選び、録画されたものが表示されますから、
それをクリックして開き、ENCODEを実行してください。
そこで、できたmp4ファイルをVLCで開いてください。
その結果を教えてください。
simplelifeさん
お返事ありがとうございます。
EPGStationでENCODEを実行してみましたが、即終了し0バイトのファイルが作成されました。
ログをみると”encodingFinishCommand: undefined”と表示されたので、エンコードが失敗しています。
番組表が取得できていてチューナーとかは問題ないのであれば、エンコードの問題でしょうか?
エンコード周りを確認してみようと思います。
fumifumiさん
迷走してますね。
”encodingFinishCommand: undefined”というのは、
EPGStationのconfig.ymlにencodingFinishCommandという項を
記述していて、更に悪いことに定義されていないということです。
config.ymlを開いて、「encodingFinishCommand:」を探して、
その行を削除してください。
自分で追加したんだから、わかりますよね。
ただし、そのことと、ENCODEが即終了するのは、別の問題です。
録画したTSファイルがおかしいですね。TSファイルでもVLCで再生できます。
TSファイルがVLCで再生できない限り、その先に進んでも意味はありません。
まず録画したTSファイルをVLCで再生できるまで、試行錯誤してください。
simplelifeさん
お返事ありがとうございます。
迷走しています。。。
「encodingFinishCommand:」について追加した記憶が無く、試行錯誤したときに追加したかと思いcofig.ymlを確認しましたが、ありませんでした。
やはり、TSファイルの不正に出来ている観点で確認してみます。
fumifumiさん
再度トラブル内容を読み直してみましたが、
単に復号化ができていないと思えます。
3-checkcard.shを実行して、以下の中で、Active: inactive (dead)を確認して下さい。
○ 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)
こちらがdeadになっていないと
dockerの中のカードリーダーが機能しません。
おそらく、この問題だと思います。
simplelifeさん
お返事ありがとうございます。
再起動前はActive: inactive (dead)だったのですが、再起動したところ、
Failed to stop pcscd.socket: Unit pcscd.socket not loaded.
Failed to disable unit: Unit file pcscd.socket does not exist.
Unit pcscd.socket could not be found.
となっていました。
チューナーは
crw-rw-r– 1 root video 236, 0 2月 1 06:52 /dev/px4video0
crw-rw-r– 1 root video 236, 1 2月 1 06:52 /dev/px4video1
crw-rw-r– 1 root video 236, 2 2月 1 06:52 /dev/px4video2
crw-rw-r– 1 root video 236, 3 2月 1 06:52 /dev/px4video3
と、なっているので、問題ないです。
なので、B-CASカードリーダーが認識していないようでした、
pcsc-toolsをインストールし、pcsc_scanを実行しても
SCardEstablishContext: Service not available.
となりました。
再起動したらカードリーダーが機能していないので、そのあたりを確認してみます。
simplelifeさん
コメントの連投申し訳ございません。
カードドライバーの再インストール(2-carddriver.sh)を行い、3-checkcard.shを確認したところActive: inactive (dead)であることを確認しました。
その後録画をして録画ファイルをVLCで実行したところ、黒い画面のまま時間が進んでいる(以前の報告している状態)の状態でした。
もう少し悩んでみます。
fumifumiさん
>pcsc-toolsをインストールし、pcsc_scanを実行しても
>SCardEstablishContext: Service not available.
インストールの前提条件は、以下の通り
前提条件
Docker, docker-compose の導入が必須
ホスト上の pcscd は停止する
チューナーのドライバが適切にインストールされていること
つまり、ホスト上のpcscdを停止することです。
ホスト上のPCSCDを停めないと、docker内のpcscdがカードへアクセスできなくなるからです。
余計なことをすればするほど、おかしくなりますよ。
simplelifeさん
お返事ありがとうございます。
ホスト上のpcscdは停止しました。
docker内で電波の強さを確認したところ
root@434d2023274c:/app# checksignal –device /dev/px4video2 26
device = /dev/px4video2
C/N = 21.568099dB
SIGINT received. cleaning up…
root@434d2023274c:/app# checksignal –device /dev/px4video3 26
device = /dev/px4video3
C/N = 21.082522dB
SIGINT received. cleaning up…
root@434d2023274c:/app# checksignal –device /dev/px4video1 101
device = /dev/px4video1
C/N = 19.252510dB
SIGINT received. cleaning up…
root@434d2023274c:/app# checksignal –device /dev/px4video0 101
Cannot open tuner device: /dev/px4video0
となりました。
/dev/px4video0がオープンできない原因は現時点では不明ですが、その他のチューナーは
動作していそうです。
docker内でpcscd_scanを実行すると
root@434d2023274c:/app# pcsc_scan
Using reader plug’n play mechanism
Scanning present readers…
Waiting for the first reader… /
となりましたので、docker内のpcscdがカードへアクセスできないようです。
fumifumiさん
録画が真っ暗なのは、復号化ができていないというのは、いいですよね。
次に、まずホストでカードが読めるようにしてから、確認した後、停止します。
こうすれば、後はdocker内からアクセスはできるようになります。
現状は、ホストからもカードが読めていないから、動かないわけです。
dockerの中は、既に動くことを確認してあるものがインストールしてあるので、
そこで、チェックする必要はありません。
まずは、ホストからきちんとカードが認識できるようにしてから、ホスト上で停止させてください。
そうすれば問題なく動きます。
simplelifeさん
お返事ありがとうございます。
ホスト上でカードを読めるようにし、
・「Japanese Chijou Digital B-CAS Card (pay TV)」・・・このメッセージを確認
以下のコマンドで停止をする
・sudo systemctl stop pcscd.socket
・sudo systemctl disable pcscd.socket
の認識であっていますでしょうか。
状況が変わらないので、自分の認識が誤っているのでもう少し調べます
fumifumiさん
もう一つ気になることがあります。
私のスクリプトは、root以外のユーザーでしかテストしていません。
rootでインストールしていなければ、いいですが。
simplelifeさん
ご指摘ありがとうございます。
残念ながらrootでインストールは行っていません。
手順通りに行っているはずです。
なんの前提の環境が異なっていたのか?分からない状況です。
Ubuntuの再インストールも検討しています。
コメント失礼します。
先日チューナーがおかしく初期不良で交換をしてインストールをし直そうと思ってるのですが
前回と違ってスクリプト2を実行するとB-CASカード(カードリーダー)が読み込まれなくなってしまい進めない状況になっています。
また、一からインストールをやり直すには何か特別なことをしなければならないなどはありますか?
スクリプト1から再度実行すれば良いのでしょうか。
初歩的な質問ですいません。
連投失礼します。
スクリプト2ではカードリーダーが読み込まれず成功画像のように表示されなくなってしまっていますがスクリプト3・4・5は正常に完了しています。
スクリプト6では、docker-compose.ymlが~/2023temp/epg-plex/dataにコピーされていなかったので、同じ症状が起きている方と同じようにやってみましたがうまくいかずこのように表示されてしまいます。
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
ERROR: for mirakurun Cannot start service mirakurun: error gathering device information while adding custom device “/dev/dvb”: no such file or directory
ERROR: Encountered errors while bringing up the project.
すいません。
今もう一度実行してみたらうまくいき無事mirakurunとepgstationが起動し、8チューナー認識するようになりました。
やはり初期不良だったようです。
sss15さん
その状況だと、まだB-CASカードが使えない状況ですね。
録画しても映像は見えないかもしれません。
他の方も、B-CASカードが読めいないと言っているので、
つい最近2のスクリプトで問題が発生しているのかも
しれません。
録画して、正常でない場合は、ここのコメントください。
simplelifeさん
BIOSの出荷状態にリセット、Ubuntuのクリーンインストール’(インストール時に作成したユーザで)して最初から行いましたが、事象は変わりませんでした。録画が真っ暗で復号化ができてい状態です。
3-checkcard.shをでActive: inactive (dead)であることを確認。チューナーも4つ認識しています。
もう少し情報を収集します。
いろいろと有難うございました。
fumifumiさん
再インストールでも駄目ですか。原因としては、2つ考えられますね。
(1)カードの問題
(2)チューナーの問題
(1)は、
2のスクリプトで、
Japanese Chijou Digital B-CAS Card (pay TV) が確認できて、
3のスクリプトで
Active: inactive (dead) が確認できていれば、
これ以上することはありません。
(2)は、
同時に4つの地上波の番組を録画してみてください。
4つとも真っ黒ならば、なすすべはないですね。
simplelifeさん
(1)については確認できています。また、別のHDDレコーダーにB-CASカードを挿入してTVが見れることも確認しています。(カードは問題なし)
(2)の録画もダメでした。ただし、チューナーとしては元々の録画環境(Windows10)で正しく録画できているので、問題ないと思われます。
初めてのLinuxでの録画環境構築はいったん諦めて、情報収集を行います。
いろいろありがとうございました。
fumifumiさん
残念です。今まで聞いたことのない症状です。
もし時間があれば、PC,TunerCard,カードリーダーの型番を教えてください、
fumifumiさん
もう一つ、時間があれば、以下を調査して下さい。
Windowsで以下を実行して下さい。
以下のサイトで、
https://app.h3z.jp/uploader/main/
下の方のファイル一覧からMulti2Decを検索してください。
Multi2Dec.rarをダウンロードしてください。
rarを開くWinrar等のソフトをMicrosoft Storeからダウンロードして、
Multi2Dec.rarを解凍してください。
その中の、Multi2DecWinを実行してください。
このアプリで、TSファイルの復号や状態確認ができます。
VLCで見えないファイルを、復号して問題ないか確認してください。
simplelifeさん
PCは自作PCとなっています。チューナーはPlex W3U4です。
PCではカードリーダーを使用していません。
今回使用したカードリーダーはIO DATAのUSB-ICCRW2になります。
Multi2Decですがサイドバイサイド構成が正しくないとエラーになり実行できませんでした。
よろしくお願いします。
simplelifeさん
連投申し訳ございません
Multi2DecWinが実行できない中、いままで復号化が出来ないだけと思いつきPC上のTVTESTで再生してみると、再生出来ました!
Ubountu上のインストール内容は正しかったですね。あとは復号化が出来ないとTVTEST限定となり使い勝手が悪いので、Softcas等で復号化してみるなど構成の変更が必要なんですね。
カードリーダーの変更でうまくいけばいいんですけどね。何を機器にすればよいのか??ですね。
fumifumiさん
ICカードリーダーは、SCR3310v2.0です。
simplelifeさん
すみません。
家にあったカードリーダー(確定申告用)では出来ないってことですね。
SCR3310v2.0を購入して確認してみます。
fumifumiさん
SCR3310v2.0は、B-CASカード御用達です。
fumifumiさん
ただし、
2のスクリプトで以下を確認しているんですよね。
Japanese Chijou Digital B-CAS Card (pay TV)
そして、3のスクリプトで以下を確認していますよね。
Active: inactive (dead)
だとすると、カードリーダーは正常に動作していると思われます。
本当に、USB-ICCRW2とSCR3310v2.0との違いなのか、分からない状態です。
もし、SCR3310v2.0がだめでも、私を恨まないで下さい。
よろしくお願い致します。
simplelifeさん
2のスクリプト、3のスクリプトで確認はしています。
SCR3310v2.0は自己責任で購入します。
素晴らしいスクリプトを公開していただいているのに、恨むことはありませんよ。
大変有意義なブログで以前から参照させていただいております。
最近/rootの容量が足りなくなってしまったこともあり、新たに組み直してみているのですが、少々手こずっております。
現在、ubuntuを普通にインストールするとカーネル6.5.0-15になってしまうようで、4-tunerdriver202401.shの最後に
pkg: パッケージ px4-drv-dkms の処理中にエラーが発生しました (–install):
installed px4-drv-dkms package post-installation script subprocess returned error exit status 10
処理中にエラーが発生しました:
px4-drv-dkms
となってしまいます。
ハードウエアの環境のせいなのか、カーネルをダウングレードしても、下のバージョンからアップグレードしても、なぜか6.5.0-14にするとネットワークが使えなくなってしまう事象に遭遇しており、どうにもなりません。
6.2.0-39-genericで行こうとすると、現在のスクリプトでは駄目なようで、以前のスクリプトをサイド公開していただくことはできないでしょうか?
「あんどうりん」さん
ドライバのインストールでエラーですか。
後で調べてみます。
以下に前のスクリプトを掲載します。
4-tunerdriver.shの中身は、以下です。
#!/bin/bash
cd ~/git
git clone https://github.com/nns779/px4_drv
cd px4_drv/fwtool/
make
wget http://plex-net.co.jp/plex/pxw3u4/pxw3u4_BDA_ver1x64.zip -O pxw3u4_BDA_ver1x64.zip
unzip -oj pxw3u4_BDA_ver1x64.zip pxw3u4_BDA_ver1x64/PXW3U4.sys
./fwtool PXW3U4.sys it930x-firmware.bin
sudo mkdir -p /lib/firmware
sudo cp it930x-firmware.bin /lib/firmware/
cd ../
sudo cp -a ./ /usr/src/px4_drv-0.2.1
sudo dkms add px4_drv/0.2.1
sudo dkms install px4_drv/0.2.1
read -p “ドライバがインストールされました。enterキーを押すとリブートします。”
sudo reboot
simplelifeさん
いろいろ相談にのっていただきありがとうございます。
SCR3310v2.0を購入し録画したところ、無事にPCで再生できました。
カードリーダーが正常に認識しても、B-CASが正しく読める機器と読めない機器があるんですね。
勉強になりました。
fumifumiさん
そうですか。良かったですね。
Amazonでは、SCR3310v2.0は、B-CAS・住基カード対応で売ってます。
こちらも参考になりました。カード認識とB-CAS対応は違うことがわかりました。
今回、こちらのスクリプトで新しい録画環境を構築することができました。
ありがとうございます。
その後、ドロップログを出力するよう、
docker-compose.yml と EPGStation/config/config.yml を
自分なりに編集したのですが、機能が有効になりませんでした。
恐れ入りますが、ドロップチェックの有効化について
ご教示いただけないでしょうか。
にくうどんさん
ドロップチェックについては、わかりません。
私は、使ったことはないです。
simplelife様
ご連絡ありがとうございます。
もう少し頑張ってみます。
とても便利なスクリプトをありがとうございました。
どんなサイトよりも簡単にインストールでき、ソフト開発に役立ちました。
FINALさん
お役に立てて、良かったです。
いつもこちらの更新を楽しみにしております。
ubuntu22.04の自動更新で
カーネル6.8.XXが確認できました。
更新はオフにしていたのですが、不備で録画停止状態です。
従来通り、
grub-customizer
でカーネル6.5.44-XXに指定してepgとmirakuranが復帰しております。
作動確認。
似たような症状の方が増えると予想されます。
自動更新はしっかりオフにしましょう。
ご報告までに。
カーネルおじさん
情報ありがとうございます。
確かにカーネルのアップデートがきていますね。
linux-modules-6.8.0-40-generic
カーネルの更新は、当面待っていただく必要があります。
しかし、よく考えてみるとdkmsで構築しているので、
カーネルの更新時に再ビルドを自動的に行うはずですが、
できていないようです。少し調査をしますので、お待ち下さい。
https://github.com/tsukumijima/px4_drv
の最新版V0.4.5が7月2日に出ております。
当方にてlinux-modules-6.8.0-40-genericのドライバ動作確認が取れていますので、お試しいただいて、問題なければ4-tunerdriver202401.shのスクリプトも4-tunerdriver202408.sh等としてアップデートされてはいかがでしょうか。
paroparoさん
コメントに気が付きませんでした。返信が遅くなりました。
私もドライバがアップデートされているのに気が付き、8月28日に追記したところでしたが、
その前にコメントいただいてましたね。
こちらでも、動作確認しました。未だにDKMSは機能しないのか、なぜなのかわかっていません。
細かい変更やUbuntu 24.04LTSへの対応などもあるので、全面アップデートして、別記事にします。
simplelifeさん
DKMSは機能していて、カーネルのビルドが走っているはずです。
ただ、ソースとなるファイルが古い(自動更新がかからない)のでビルドでコケているか、実行時に無視されている状態ですね。
先日、Ubuntu24.04.01を入れました。
Mirakurun互換のmirakc、recpt1の代わりにrecisdbを使用して視聴環境が作れました。
調理家電さん
コメント気が付きませんでした。返信遅れました。
実行時に無視ですか、なんとかした方が良さそうですね。
Ubuntuの日本語Remixがでなくなったので、様子見なんですが、半年たってしまいました。
そろそろ何とかします。録画サーバー自体は、快調でトラブルも最近ないんですよ。
24.04.01でインストールしてみます。
非常に便利なスクリプトを公開してくださり、感謝しております。
さすがに45分では無理でしたが、半日ほどで稼働できるようになりました。
特にトラブることもなく、スムーズにインストールできました。
あえていえば、6-installが10分で・・とありましたが、すごく長く感じられました。吐き出されているログがエラーなのかドキドキして待っていたら無事終了して感激でした。
また、ストレージ拡張・トランスコード・samba共有の別記事(スクリプト)も役に立ちました。
ありがとうございます。
こんな質問は野暮なんですが、カードリーダーが邪魔で、softcasがubuntuに実装できたらいいんですが、無理ですよね!
本当にありがとうございました。今後の有益な記事に期待しております。