📺 UbuntuでTV録画(EPGStation)

2021/6/13

📺 UbuntuでTV録画(EPGStation)  最初はウォーキングマシンを何か見ながらやりたいなと思い、使わなくなった液晶TV で Youtube などの歩行動画が見られるようにしていたのですが、何かもの足りません。 そこで、地上波の番組を録画しといて見られたらいいかなと思うようになりました。 家のリビングには液晶テレビとレコーダーがあるのですが、私はほとんど見ず、女房の所有物なので、あまり触れたくありません。 そこで、いらなくなった少し前の PC を地上波のレコーダーにする方法をとることにしました。


 だいたいが 3-4年前のスタンダード機で、CPU は i3、HDD だけは NAS として使っていたため 3TB あり、WD の割と堅牢なやつです。 これに Ubuntu 20.04 を入れ、ネット情報をたよりに、数千円の出費でチューナーカード、カードリーダーを購入、Mirakurun + EPGStation をインストールしようとしたんですが、どうもうまくいきません。 チューナーやリーダーはネットの情報をたよりに無難なものを選んだはずなのですが、いろんなところでつまずきます。

 調べると Mirakurun + EPGStation は、現在、docker という方向でしかサポートしないとあります。 docker って何状態だったのですが、どうやら、Linux システム上に仮想 OS に似た状態で別の大型システムを載せる仕組みのようです。 そして、docker が、デバイスやら何やらまとめて面倒を見てくれるとか。 そんなことで本当にうまくいくだろうかと一抹の不安はあったものの、とにかく言われている通りやってみたところ、問題なく動くようになりました。

 以下はそのメモです(私は BS がいらず、地上波だけでいいので以下のチューナーでいきました)。

 準備したチューナーとリーダー: PX-Q1UD + SCR3310。
 他に B-CAS カードなるものが必要です。 私は家にころがっていたものを流用しました。

 Ubuntu 20.04 を最小構成でインストールし、宅内LAN につなぎ、192.168.1.200 を割り振ったものとします。 自分の机上のメイン PC から ssh でログインできるようにし、ビデオレコーダー機は部屋の隅に置きっぱなし、起動しっぱなしで基本的にメイン機から設定します(ssh -X 192.168.1.200)。

 次のパッケージを入れます。

$ sudo apt install build-essential cmake ffmpeg mysql-server

 いよいよ docker-compose のインストールです。
 その前に PX-S1UD の認識です。

$ curl -O http://plex-net.co.jp/plex/px-s1ud/PX-S1UD_driver_Ver.1.0.1.zip
$ unzip PX-S1UD_driver_Ver.1.0.1.zip
$ sudo cp PX-S1UD_driver_Ver.1.0.1/x64/amd64/isdbt_rio.inp /lib/firmware/
$ sudo sh -c "echo smsusb >> /etc/modules"

 うまく認識されていたら、以下のようなコマンドを打つと PX-S1UD が認識されています。

$ lsusb | grep VidzMedia
Bus 001 Device 007: ID 3275:0080 VidzMedia Pte Ltd PX-S1UD Digital TV Tuner

 さて、レコーダー機に docker-mirakurun-epgstation のクローンを作ります。

$ sudo apt-get install git
$ sudo apt install -y vlc; ... 動画再生関連
$ git clone https://github.com/l3tnun/docker-mirakurun-epgstation
$ cd docker-mirakurun-epgstation
$ cp -p docker-compose-sample.yml docker-compose.yml

 tuners.ymlを設定します(mirakurun/conf/tuners.yml)

- name: adapter0
types:
- GR
dvbDevicePath: /dev/dvb/adapter0/dvr0
decoder: arib-b25-stream-test
command: >-
dvbv5-zap -a 0 -c ./config/dvbconf-for-isdb/conf/dvbv5_channels_isdbt.conf -r -P <channel>

 EPGStationの設定です。

$ cp -p epgstation/config/config.sample.yml epgstation/config/config.yml
$ cp -p epgstation/config/operatorLogConfig.sample.yml epgstation/config/operatorLogConfig.yml
$ cp -p epgstation/config/epgUpdaterLogConfig.sample.yml epgstation/config/epgUpdaterLogConfig.yml
$ cp -p epgstation/config/serviceLogConfig.sample.yml epgstation/config/serviceLogConfig.yml

 初回の設定です。

$ docker-compose run --rm -e SETUP=true mirakurun
(or $ sudo docker-compose up -d)

 チャンネルスキャンを行います。

$ curl -X PUT "http://localhost:40772/api/config/channels/scan"

 スキャンが終わったらMirakurunを再起動します(docker-compose start)。

 Mirakurunを見ます。 メイン機から http://192.168.1.200:40772 にアクセスします。 右上の Restart をクリックします。 ステータスが standby になった後 Events を見ると、番組表のダウンロードが始まっていることが分かります。 番組表をダウンロートし終わったら、EPGStation を開いてみます(http://192.168.1.200:8888 の番組表[GR]を選択)。 「ライブ」タブまたは番組表のTV局をクリックすると放送中の動画がブラウザで見られます。

 チャンネル設定を行います。

$ emacs mirakurun/conf/channels.yml

 コメントアウトされている restart や user の設定を適宜変更します。

$ emacs docker-compose.yml

 Mirakurunの操作は以下のコマンドで OK です。

$ [sudo] docker-compose start|stop|restart

 周辺機器は全て外し、間を置いて起動しないと動画がカクカクしました。 念のため CUI ログインにし、以後カクカクはめったに起きることがなくなりました (元からもう少し性能のいいマシンにインストールすれば全く問題なかったでしょう)。

 メモです。

NHK http://192.168.1.200:40772/api/channels/GR/14/stream
NHK ETV http://192.168.1.200:40772/api/channels/GR/15/stream
RCC http://192.168.1.200:40772/api/channels/GR/18/stream
広テレ http://192.168.1.200:40772/api/channels/GR/19/stream
広ホーム http://192.168.1.200:40772/api/channels/GR/22/stream
新広島 http://192.168.1.200:40772/api/channels/GR/23/stream

 思ったより画質がよく、TS でなく、圧縮して H.264 の mpeg で見ても画質については気になりません。 30分メインで90番組くらい録画してますが、3TB に対し、45GB 程度しか使用していません(4ヶ月経過)。 3TB をいっぱいにするには 20年くらいかかりそう……。 メイン機に動画をもってくるには、EPGStation から download であっというまにいけます(scp でやると大変です。ftp は高速ですがブラウザダウンロードがそれと同じくらい速いので無理に ftp でダウンロードする必要はありませんでした)。

EPGStation検索画面

 正規表現で1週間の番組の内容を検索し、そこから録画予約しています。
例: (名曲|自然|サイエンス)

 たまった録画内容はどうやら検索できないので、定期的に自分で、録画済コンテンツのタイトル、記事などをコピーし、定まったテキストファイルに貼り付け、全文検索にかかるフォルダに置いています。 そうすると「アーキテクツ 北欧発」とやると、NHK で放映された「建築家の幸せな住まい」というコンテンツにたどりついたりするわけです。

 取りかかってから完了するまで3日程度、思ったより時間がかかりました。 また、前段に書いたような不便もあることはありますが、自分で対処できるレベルで、全般的に非常によくできたシステムだと思います。 Mirakurun, EPGStation 製作者の方々に深く感謝いたします。
 最近はウォーキングのためでなく、老化した自分の備忘のために蓄えている方が多くなってきたのが困りものですが(笑)。

付記: 先日、EPGStation の番組表が更新されず、B-CASカードリーダーの緑のランプが全く点滅しなくなったので変だなと思い、docker-compose [re]start コマンドを実行すると Error が出ます。 カードリーダーを何度か差し替えてみましたがダメでした。 いろいろコマンドでチェックしてみましたがラチがあきません。 挙げ句は、以下のコマンドが無応答になってしまいました。

$ lsusb | grep VidzMedia

 「おい、おい、故障か」と思いながら、PX-S1UD につながるコード類をもう一度全部きっちり差し直してみたところ、直りました(^^;;。

参考: Ubuntu Server20.04にMirakurun+EPGStationで録画サーバを構築する

参考: PX-S1UDの扱いについて(ドライバのビルドなど不要)

twitterシェア Facebookシェア
  コメントの注意点