Ubuntu 18.04.3 + mirakurun 2.13.0 + chinachu 0.10.1-gamma.0で録画PCを構築していましたが、どれもバージョンが古くなっていたので構築し直すことにしました。
我が家は録画PCをテレビに接続し再生機としても使用しているので、OSはデスクトップ版を使用しています。
UBUNTUは非力PCには少々重いので、今回はLinux Mintで再構築しました。
構築の際にトラブルが多々ありました、ソフトウェアも録画も勉強不足のため手順が間違っていたかもしれませんが事例の一つとして記録に残します。
(そもそもデスクトップ環境はサポート外のためおま環と言われればそれまでですが)
環境
メモリ:8GB
OS:Linux Mint Cinnamon 20.2
チューナー:PLEX PX-W3PE4
録画ソフト:Mirakurun 3.9.0-beta.10 + Chinachu 0.10.3-gamma.0
作業手順
Linux Mint Cinnamonのインストール
- ISOイメージファイルをダウンロードしてDVD焼く
- インストールしたいPCにDVDを入れ、Mintを起動する
- MintのデスクトップにあるInstallLinuxMintより、起動ドライブにクリーンインストールする
トラブル内容について(Docker版Mirakurun)
(作業を思い出しながら書いているため作業順序の間違いがあるかもしれませんがご容赦下さい、最終的な手順だけ見たければ飛ばして下さい)
Docker版Mirakurunであれば、pcscd・DVB Tools・arib25が含まれているとのことなのでこれらはインストール不要と思っていました。
しかし何もない状態でDocker版Mirakurunをインストールしようとしても
Error response from daemon: error gathering device information while adding custom device "/dev/dvb": no such file or directory
とエラーが出て進みませんでしたので、こちらのサイト様を参考にしながら非公式ドライバをインストールしました。
その後Docker版Mirakurunをインストールしようとしましたが、再度上記のエラーがでました。
どうやらdocker-compose.ymlにドライバの場所を指定する必要があるようなので、以下の通りdevices欄を修正しました。
devices:
- /dev/bus:/dev/bus - /dev/dvb:/dev/dvb
- /dev/px4video0:/dev/px4video0
- /dev/px4video1:/dev/px4video1
- /dev/px4video2:/dev/px4video2
- /dev/px4video3:/dev/px4video3
これでDocker版Mirakurunのインストールは完了、ネットワーク経由(http://localhost:40772)でMirakurunの状態が見れるようになりました。
しかし、その後のチャンネルスキャンで以下のエラーが発生しました。
-> no signal. [Error: no available tuners]
ネットワーク上のMirakurunでチューナー設定を確認すると、全てのチューナーがDisableかつ、コマンドのデバイスが/dev/pt3video0となっていました。docker-compose.ymlのデバイス指定はインストール時のみに使用し、tuners.ymlには引き継がれないみたいですので、ネットワークから以下の通り書き換えます。
全てのチューナーをEnableに
recpt1 --device /dev/pt3px4video0 --lnb 15 <channel> - -
recpt1 --device /dev/pt3px4video1 --lnb 15 <channel> - -
recpt1 --device /dev/pt3px4video2 --lnb 15 <channel> - -
recpt1 --device /dev/pt3px4video3 --lnb 15 <channel> - -
しかし上記修正しMirakurunのRestart後も、no available tunersのエラーは解消しませんでした。ここでrecpt1コマンドが入っていないことに気づきました。
一度Docker版Mirakurunをアンインストール、pcscd関係をインストールし、こちらのサイト様を参考にrecpt1をインストール、pcscd関係をアンインストールしDocker版Mirakurunを再インストールしましたが結局解決せず。
recpt1コマンドのビルドはarib25が必要では?と考え、gitからarib25を落とそうとしたところIDとパスワードを求められました。(証明書切れ?)
ここで心が折れたため一旦Linux Mintの再インストールからスタートし、クリーンな状態で1からやり直すことにしました。
PX-W3PE4非公式ドライバのインストール
こちらのサイト様を参考に、順番通りに非公式ドライバのインストールとrecpt1のビルドを行いました。
- pcscd関係のパッケージインストール
- arib25ライブラリのインストール
- 非公式ドライバのインストール
- recpt1のインストール
Mirakurunのインストール
上記でDocker版Mirakurunのインストールに心が折れたこと、ここまでインストールすればDocker版である必要がないことから、NodejsのMirakurunをインストールすることにしました。
- Node.jsのインストール
- PM2のインストール
- Mirakurunのインストール
- ネットワーク上でMirakurunが確認できるようになる(http://localhost:40772)ので、tunersの設定を以下の通り変更
全てのチューナーをEnableに
recpt1 --b25 --device /dev/pt3px4video0 --lnb 15 <channel> - -
recpt1 --b25 --device /dev/pt3px4video1 --lnb 15 <channel> - -
recpt1 --b25 --device /dev/pt3px4video2 --lnb 15 <channel> - -
recpt1 --b25 --device /dev/pt3px4video3 --lnb 15 <channel> - -
これでチャンネルスキャンが上手くいくようになりました。
最初は"--b25"を付けずにChinachuのインストールまで進みましたが、試しに録画してみたところファイルが再生出来ませんでしたので、付けたら上手くいきました。
Chinachuのインストール
最後にChinachuをインストールします。
- chinachuをダウンロードしインストール(Auto設定で)
- config.jsonを編集(uidをnull→1000に変更)
- 空のルール設定ファイル作成
- 動作チェック、サービス開始
- ネットワーク上でChinachuが見れるか確認(http://localhost:20772)
- 再起動してもChinachuが立ち上がるか確認
- 数十分待機し、番組表が表示されることを確認(地上波はすぐに確認できたがBSはさらにしばらく時間がかかった)
- 試しに番組を予約し、録画ができるか、再生ができるか確認
これでようやくChinachuインストールが完了です、あとはお好みで以下の設定を行います。
内蔵HDDのマウント
起動用のドライブ以外にデータ用のドライブがあれば設定しないと自動でマウントしてくれないため設定が必要
- 「スタート」→「管理」→「ディスク」よりマウントしたいドライブのマウントオプションの編集を選択
- 一番上の「ユーザーセッションのデフォルト」をオフにし、「システム起動時にマウントする」と「ユーザーインターフェースに表示する」がオンになっていることを確認する。
- 「マウントオプション」でマウントする場所とマウント後のディレクトリ名を指定する。(今回は後でSAMBAで共有化するため、適当にhomeディレクトリに「share」フォルダを作りその中にマウントした)
SAMBAのインストール
ローカルネットワーク内でファイル共有するためにSAMBAをインストールします。
- 「スタート」→「システム管理」→「ソフトウェア管理」からSAMBAを探しインストール
- 共有フォルダ(仮に「share」とする)を適当にhomeディレクトリあたりに作成する。
- 端末から/etc/samba/smb.conf を sudo vim smb.confでshareフォルダを共有化。
- デフォルトだと他PCからファイルやフォルダが削除出来なかったので共有フォルダをguest ok = yes にし、guest account = nobody を chinachuで使用しているユーザー名に変更。(適当)
LAN内WindowsPCの設定
ファイルにアクセスしやすいよう、そしてドライブの空き容量を手軽に監視できるよう、shareフォルダのHDDをネットワークドライブに登録します。
- エクスプローラサイドメニューの「PC」から、「ネットワークドライブの割り当て」を選択
- 「\\(PC名 or IPアドレス)\(共有フォルダ名)」を指定、IDとパスを問われたときは録画PC側のユーザー名とパスをとりあえず登録しておく。
- 上記ドライブの割り当てをマウントしたドライブ毎に登録する。(ドライブ毎に指定することで、各ドライブの空き容量が監視できる。)
- フォルダ名やパス名が長く2行目に入ると、空き容量の数値を表示してくれなくなるためフォルダ名を適当に短く編集すること。
Chinachuの設定変更
お好みで以下の設定変更を行う。
- 録画ファイルの保存場所"recordedDir"をデフォルトから"上記shareフォルダのパス"に変更
- 保存時のファイル名規則"recordedFormat"を"<category>/<title>/<title> <episode:2>話 <subtitle> <date:mmdd>.ts"に変更する。("/"を入れることでディレクトリ化してくれるため、ジャンル/番組名である程度フォルダ分けしてくれるため、アニメ等をフォルダにまとめるのに便利。たまに<title>に話数が入ってて話数毎にフォルダが作られる事例もありますが)
以上で設定完了です。今回はトラブルに見舞われて構築に丸2日かかってしまいました。
正直途中からfoltia ANIME LOCKERが欲しくなりました。