ワンストップ!LinuxとPX-W3U4で録画サーバを構築する方法(PX-Q3U4/W3PE4/Q3PE4)

自宅サーバー
スポンサーリンク

最近、やっと夏休みが取れたので自宅サーバ録画環境のメンテナンスを行いました。

この記事では、自身の備忘録を兼ねて現時点(2020.8.30)のEPGStationとMirakurunを使ってLinux&Dockerで録画サーバを構築する手順を解説します。

私

更新お待たせしました。

録画サーバの構築手順としては、以前こういう記事↓を書いています。

上記の記事は、vaapiでエンコードができるEPGStationの構築手順になっています。

個人的には使用にあたって不自由はないですし、手軽にvaapiでエンコードできるので十分満足しているので、これはこれで需要があると思うので残しておきます。

とりあえずLinuxで録画サーバを構築したい方、現行のEPGStationとMirakurunで構築したい方、TS抜きしたい方は、本記事を参考にしてください。

とはいえ、今回も基本的な構築手順は前回記事と同じです。

私

参考になれば幸いです。

録画番組を快適に視聴する方法について、以下の記事で紹介しています。よろしければ参考にしてみてください。

サーバ環境

今回、私が構築したベースマシンはLIVA Z n4200です。

チューナーはPX-W3U4で、ソフトウェア構成や周辺環境は前回と変更はありません。

ハードウェア

  • Linuxサーバ
    • ECS LIVA Z(n4200)
      • CPU n4200 (QSV/vaapiに対応)
      • eMMC 64GB
      • 拡張ストレージ SSD 120GB(録画領域。外付けHDDでも可)
      • メモリ 16GB(4GBあれば十分録画可能です。)
  • 地デジ・BS/CSチューナー
    • PLEX px-w3u4
      • 4番組同時録画(地デジ×2、BS/CS×2)が可能です(W3PE4や8番組同時録画可能なプレクス社のpx-w3q4でもOKです)
  • B-cas対応 ICカードリーダー
    • NTTコミュニケーションズ SCR3310-NTTCom
      • Linuxだとpx-w3u4内臓のカードリーダーが使えないので別途カードリーダを準備します。

上記の不足するものがあれば、事前に購入してください。

以下の製品に対応しています。

<Plexチューナー>
・PX-Q3PE
・PX-W3PE
・PX-Q3U4
・PX-W3U4


<e-Better>
・DTV02-1T1S-U (実験的)

株式会社プレクス パソコン・パソコン周辺機器メーカー PLEX

本手順は、px-w3u4(USB接続タイプ)を前提としています。

また、基本的に最近のLinuxサーバであれば問題ないです。ただ、Raspberry pi 3B+だと性能的に動作が安定しませんでした(rpi4は未検証)。また、以前Tinker board Sで録画サーバを構築しようとしましたが2番組以上の同時録画でノイズが出てしまいました。常時起動の録画サーバにする場合は、性能的に余裕を持たせたサーバを使うことをオススメします。

未検証ですがRaspberry pi 4で構築できるという報告も多数あがっています。

LABISTS Raspberry Pi 4 4B-64GB(技適マーク入)MicroSDHCカード64G/Raspbianシステムプリインストール/カードリーダ /5.1V/3A Type-C スイッチ付電源/MicroHDMI-to-HDMIケーブルライン/三つヒートシンク/簡単に取り付けケース/日本語取扱説明書/24ヶ月保証

以前、録画サーバとして使っていたECS LIVE STATION LS-4-64は録画サーバとして非常に安定して動作していました。

ECS 小型デスクトップパソコン LIVAZ-8/240-W10Pro(N4200)TS

PLEX USB接続 地上デジタル・BS・CS対応TVチューナー PX-W3U4

NTTコミュニケーションズ 接触型ICカードリーダー・ライター e-Tax Win&Mac対応 SCR3310-NTTCom

ソフトウェア

  • OS
    • ubuntu 18.04 LTS
      • raspbian等、Debian系のOSなら同じ手順で実施できます。
      • CentOS等、Redhat系でもドライバ以外のdocker構築手順は同じです。
  • ミドルウェア
    • Docker
    • docker-compose
    • git
    • samba
    • 必須ではないですが、あった方が便利です。

参考記事

Dockerとdocker-composeとgitをインストールしていない場合は、以下の記事を参考にして事前にインストールしておいてください。

sambaは録画システム構築に必須ではありませんが、Windowsのエクスプローラから参照できた方が便利かと思いますので、事前に入れておいた方が良いです。dockerを使ったsambaの構築方法は以下の記事を参考にしてください。

外出中にスマホから録画予約をしたい場合は以下の記事が参考になるかもしれません。

構築手順

Dockerを使ってのシステム構築ですがドライバ関連はホスト側にインストールする必要があります。まずは以下を順番に実施してください。

なお、Ubuntuの場合はSELinuxの無効化は不要です。

aptアップデート

aptアップデートを実施します。

タイムゾーンの変更

タイムゾーンの変更。時刻を日本時間にします。

b-casカードリーダーの設定

ICカードリーダーのドライバをインスト-ル

チューナードライバの設定

nns779さんが開発されたpx4_drv(PLEX PX-W3U4/Q3U4/W3PE4/Q3PE4 用の非公式版Linuxドライバ)をインストールします。

nns779/px4_drv
PLEX PX-W3U4/Q3U4/W3PE4/Q3PE4 用の非公式版Linuxドライバ. Contribute to nns779/px4_drv development by creating an account on GitHub.

インストールに必要なファイルは~/srcに作成します。

ドライバ再インストール時

再インストールの場合は以下も実施します。

DKMSのインストール

DKMSによるドライバのインストール

ドライバアンインストール

参考ですが、px4_drvとDKMSのアンインストール方法は以下を実施します。

ドライバのインストール/アンインストールは以上です。

gitリポジトリのダウンロード

録画管理ソフトはChinachuやEPGStationやTvRock等いくつかありますが、今回はLinuxフレンドリーかつ安定していて、かつ現在でも開発が活発なMirakurunとEPGStationをdockerで構築します。Dockerfile、docker-compose.yml等ファイルの一式は、Mirakurun開発者のkanreisaさんとEPGStation開発者のl3tnunさんがそれぞれgitにMirakurundocker-mirakurun-epgstationをアップロードしてくださっていますので、今回もありがたく使わせていただきます。

現状、docker-mirakurun-epgstationで構築されるMirakurunはDVBドライバ向けのdvbv5-zapを録画コマンドに使っているので、px4_drvドライバを使ったPX-W3U4は使えなくなっています。

なので、Mirakurunのコンテナにchardevドライバに対応したrecpt1をインストールする必要があります。

Mirakurunのコンテナをビルドした後に手作業で導入しても良いのですが、私のこだわりでワンストップで構築したいのでMirakurunのDockerfileを作成することにしました。

そのため、docker-mirakurun-epgstationのMirakurunのイメージをそのまま使わず、本家のMirakurunのリポジトリをダウンロード&インストールする手順になっています。

私

PX-W3U4を使って録画サーバを構築したい方は、本記事の手順を実施すればOKです。

l3tnun/docker-mirakurun-epgstation
Mirakurun + EPGStation on Docker. Contribute to l3tnun/docker-mirakurun-epgstation development by creating an account on GitHub.
Chinachu/Mirakurun
A Modern DTV Tuner Server Service for ISDB. Contribute to Chinachu/Mirakurun development by creating an account on GitHub.

事前に、 B-CAS 用に利用するスマートカードリーダーはMirakurunコンテナ内で管理しますのでホストマシン上のpcscdは停止してください

EPGStation

gitレポジトリをDLします。dockerプロジェクト名はそのままdocker-mirakurun-epgstationとなります。

Mirakurun

続いて、MirakuruのgitリポジトリをDLします。

この時点で以下のファイル/ディレクトリが存在しているはずです。

MirakurunのDockerfileを修正

MirakurunのDockerfileを作成します。

本家のDockerfileをカスタマイズして、recpt1をコンパイルする内容を追記します。

以下の内容をコピペします。

オリジナルからの変更点は以下の部分です。

  • 14行目:環境変数$DEVを追記(最後に不要なパッケージを一括削除するため)。
  • 19~27行目:必要なパッケージのみインストールするよう修正
  • 28~45行目:recpt1コンパイル手順&事後処理を追記
私

softcasを使いたい方は同様にこのファイルに追記ですかね。

docker-compose.yml

オフィシャルなdocker-composeファイルの一式は、 DVBデバイス用となっているため、そのままでは使えません。なので、docker-compose.ymlを作成します。

先ほど作成したMirakurunのDockerfileを参照するよう、修正します。

オリジナルからの変更点は以下の部分です。一部サーバ環境に合わせて修正してください。

  • 1行目:versionを’3.7’から’3’に修正。
  • 4~6行目:MirakurunのDockerfileを参照するよう修正。
  • 22~25行目: px-w3u4を利用するためデバイスを共有 。px-w3u4の2台運用やpx-q3u4/q3peを使っている場合は、デバイスを追加してください。
  • 61行目:録画ファイルの出力先ディレクトリ(./path/to/storage)を指定します。 環境に合わせて保存先を修正してください。
私

volumesとdeviesは環境に合わせて修正してください。

tuners.yml

mirakurunがpx-w3u4を使うように、設定ファイル(tuners.yml)を作成しておきます。px-w3u4のチューナ数は地上波×2、BS/CS×2となります。

tuners.ymlは修正箇所は特にないので、px-w3u4一台の場合は、そのまま上記の内容をコピペでOKです。

px-w3u4の2台運用やpx-q3u4/q3peを使っている場合は、チューナー設定を追加してください。

channels.yml

以下は関東一円で地デジ番組を視聴する場合のチャンネル情報です。

Mirakurunが番組情報を取得する際に使う、チャンネル情報を設定します。地上波は地域に合わせて記述してください。

地上波に関しては、mirakurunにチャンネルスキャン機能があるので、記述しなくても後で設定可能です(後述)。

BS/CSチャンネル情報は、自身が視聴できる番組だけ残して保存します(視聴できないチャンネルを残すと、番組表が見づらくなります)。

私

準備はここまで。お疲れさまでした。

コンテナ起動

いよいよEPGStationを起動させます。

以下のコマンドでコンテナを起動します。

buildに時間がかかる(~1h)ので、上記コマンドをワンライナーで実行して、コーヒーでも淹れて一息着きましょう。

プロンプトが返ってきても、MirakurunとEPGStationが番組表を読み込むまでは利用できないので、やっぱりコーヒー淹れてしばらく待ちます。

MirakurunのEPGデータ取得状況は以下のURLから参照できます。

URL:http://<IPaddress>:40772/api/channels

— 1時間後・・・ —

以下のURLからEPGStationを開いてみます。

URL: http://<IPaddress>:8888

メニューから「番組表(GR)」を開いて、以下のように番組表が見えれば成功です。

EPGStationは非常にUIが使いやすいので、慣れて覚えましょう。ルールを作成しておけばあとは勝手に録画やエンコードしてくれます。同じネットワーク内であればスマホからでもアクセスできるので、録画予約や視聴も簡単にできます。

関東圏以外にお住いの方は、必要に応じてチャンネルスキャンを実施してください(地上波のみ)。

外出先からの録画予約

ここまでできれば、外出時にも録画予約とか録画視聴したいですよね。間違っても8888番ポートをインターネット向けに開放するのはやめましょう。VPNの利用をオススメします。

まとめ

2020.8.30時点のEPGStationとMirakurunで、LinuxとPX-W3U4でDocker環境に録画サーバを構築する方法を紹介しました。

以前執筆した記事から、ソフトウェアのアップデートがありましたので手順等を更新しています。

上記は、vaapi対応のブランチなので参考にしてください。

今回も同様にPX-W3U4を使って録画システムを構築できました。また、 dockerで構築することで自宅サーバ環境を汚さずに録画システムを構築できます。この方法なら、途中で失敗しても簡単にやり直しすることができますし、再現性が高いのでサーバ環境が変わっても簡単に導入することができます。

これでまた便利になりましたね!

ECS Windows 10 Home Sモードを搭載した小型デスクトップパソコン LIVAZ-16/120-W10S(N4200)TS メモリ16GB ストレージ120GB+64GB
¥50,303 (2020/10/27 00:11:49時点 楽天市場調べ-詳細)

録画番組を快適に視聴する方法について、以下の記事で紹介しています。よろしければ参考にしてみてください。

Dockerを使わずに録画サーバを構築したい方は以下の記事を参考にしてください。

他にもいろいろなサービス導入方法をご紹介しています。よかったら参考にしてください。

PLEX USB接続 地上デジタル・BS・CS対応TVチューナー PX-W3U4

NTTコミュニケーションズ 接触型ICカードリーダー・ライター e-Tax Win&Mac対応 SCR3310-NTTCom

コメント

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