📺 UbuntuでTV録画(EPGStation)

2021/6/13

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


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

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

 $ cp epgstation/config/config.yml.template epgstation/config/config.yml
 $ cp epgstation/config/enc.js.template epgstation/config/enc.js
 $ cp epgstation/config/operatorLogConfig.sample.yml epgstation/config/operatorLogConfig.yml
 $ cp epgstation/config/epgUpdaterLogConfig.sample.yml epgstation/config/epgUpdaterLogConfig.yml
 $ cp epgstation/config/serviceLogConfig.sample.yml epgstation/config/serviceLogConfig.yml

 初回の設定です。

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

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

$ 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 製作者の方々に深く感謝いたします。
 最近はウォーキングのためでなく、老化した自分の備忘のために蓄えている方が多くなってきたのが困りものですが(笑)。

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

$ lsusb | grep VidzMedia

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

【付記2】: 孫が B-CAS カードリーダの根元の線を引き抜いてしまい、気づくと保存動画は視聴可能ですが、番組表に欠落が出はじめ、調べると現在放映中の番組も見られなくなっていました。

 これは、docker 内の epgstation の log ディレクトリ、mirakuran の data ディレクトリを初期化し、PC を再起動したところ、直りました(^^;;。

【付記3】: 2022/3の Linux のセキュリティアップデートを施したところ、OS の動作が遅くなったためか、画面が乱れるようになりました。

 しかたなく i5 7400T で動かしているバックアップ等用の Ubuntu20.04(1日の大半は無駄に動いているという代物) に上記の要領でセットしました。 すると、予想通り問題なく動くようになりました。 EPGstationのバージョンも最新になったし、まあよいとします。

【付記4】: 付記3の状態で使っていると、録画は正常に行われますが、 TSフォーマットで録画した動画をH.264に変更しようとしてもできません。 しかし、予約時に元からH.264フォーマットを指定して行うとうまくいきます。 どこかに記述漏れがあるようです。 最悪手で ffmpeg -i ◯◯.m2ts ◯◯.mp4 を実行すればいいし、 元から mp4 で録画すれば問題なく、私の場合動画がストックされればいいので、 これ以上はいじらないことにしました。

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

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

参考: 録画した動画からシンプルに広告をカット(kdenlive)

twitterシェア Facebookシェア
🤓
kirayn
2021/1/24
2年前に引っ越す前のマンションではJ:COMが観れたのでハードディスクに録画していましたが、今のマンションはJ:COMが入っていないので録画をしなくなりましたね。ほぼTVerとNHK+で1週間以内に観ています。ABEMAの無料で観れるドラマとかも😁
ここはこのブログではアクセスがかなり多いです。
市販ビデオ機に飽き足らず、ビデオ機能を自作したい人が多いのでしょう。
テキストに限らず音楽もビデオもPCにためてすぐ検索できるのはかなり便利ですから。
🐼
峰山進
2021/1/25
🤓
kirayn
2021/1/27
過去にPCでTVを観て録画することにチャレンジし、Mac mini+ピクセラ・チューナーで実用的に使えるようになりましたが、今はChromebookに移行したのでデバイスが必要なことは弱いですね。AV系はFire TV Stickでリモコンの音声検索/操作に慣れてしまいPCに戻れなくなりました(汗)
リモコンの音声検索って「ユーチューブにして」とかいうことですか?
Alexaとか一切使ったことないのでわからないんですが。
情報整理上、本や雑誌のようにウェブ動画にも簡単なスクラップ、検索手段がほしいですね。
🐼
峰山進
2021/1/28
🤓
kirayn
2021/1/30
リモコンにマイクボタンが付いているので、マイクボタンを押しながら喋ると認識してくれます。簡単な操作は「シン・ゴジラ」とか映画や曲のタイトルだけでジャンプしますが、もっと複雑な場合は頭に「アレクサ」を付けます。「アレクサ、YouTubeでカーペンターズのトップ・オブ・ザ・ワールドを聞かせて?」とかですね。アレクサの場合は女性の音声で応答があり、質問がわからない場合はそれなりに答えるので、簡単な会話ができます😁
昔、星新一のSSで「ボッコちゃん」というのがありました。私もまねして単純な対話アプリを作ったら近所の子供たちに大ウケでした。ロボットとの対話はつまり未来との対話なんですね。
amazon kindle unlimitedリリースの JK360VR作品づくりを無料で楽しむ、ダウンロードしザッとながめ、twitterで宣伝しときました。結構売れそうですね。
🐼
峰山進
2021/1/31
🤓
kirayn
2022/2/2
ありがとうございます。最初なので儲けより市場リサーチ目的なのですが、いろいろ不具合が見つかって毎日アップデートの繰り返しです(汗)。
紙の本はそのようなことはできないので、私のような「走りながら考える」タイプの人間には電子出版は向いているみたいです。

会話するアプリを開発したとは驚きです!簡単なスマホアプリを作って広告で稼いでは? XcodeでSwiftはいじれるので、テスターをボランティアでやりますよ?😁
https://chrome-vr.com/2019/02/ios-romplayer-macios.html
    注意点