2023年2月25日 追記:最新版ではもっと簡単に構築できることがわかりましたので、こちらの記事を参照してください。
以下、旧バージョンの構築記事です。
Raspberry Pi2にてMirakurun+chinachuを運用していたのですが、chinachuの動作が不安定になったため、意を決して別途パソコンを用意し、ubuntu20.04で新規にシステムを構築しました。
dockerを利用するので、mirakurunやmysql 各種ソフトそしてepgstationなどの小難しい初期設定が嘘のように要らなくなります。
以下の手順で着手から概ね1時間程度で、epgstationから録画できるようになりました。
【令和最新版(笑)】の【自分史上最速】でepgstationを起動させる手順です。
6月1日に構築したのですが、運悪くSSDが故障しかけて7月7日に再度構築しました。
構築時間は1時間程度。
構築ポリシー
・Miarkurun、epgstationともにdockerを利用し、自分史上最短の時間(手間)で構築する
必要機材は以下の通りです。
PC(intel系のノートパソコンや、raspberry piなど)
PLEX PX-S1UD 今回は地デジチューナーを用いていますが、同社のBSチューナーでも動作すると思います。
NTTコミュニケーションズ SCM3300
1.ubuntu導入(OSを新規に導入する場合)
1a.以下のページから「Ubuntu Desktop 20.04.2.0 LTS」のisoファイルをダウンロード。
1b.ダウンロードしたisoファイルを以下のツールでUSBメモリにコピー、PCを起動してubuntuのインストール開始。
参考)私のubuntu20.04 初期設定(editor=vim / sudo / NAS mount)
# よく使うツールのインストール
sudo apt install -y vim ssh net-utils gcc make cifs-utils curl
# default editorの変更
sudo update-alternatives --config editor
There are 4 choices for the alternative editor (providing /usr/bin/editor).
Selection Path Priority Status
------------------------------------------------------------
* 0 /bin/nano 40 auto mode
1 /bin/ed -100 manual mode
2 /bin/nano 40 manual mode
3 /usr/bin/vim.basic 30 manual mode
4 /usr/bin/vim.tiny 15 manual mode
Press <enter> to keep the current choice[*], or type selection number: 3
# sudoでパスワード入力を省略
sudo visudo
<username> ALL=NOPASSWD: ALL
# NASのフォルダをマウント(録画ファイルは直接NASに保存する)
sudo mount -t cifs //NAS-IP/Path/to -o username=USER-ID,password=PASSWORD,noexec,nodev,rw,vers=2.0 /home/USER-ID/docker-mirakurun-epgstation/recorded
2.Mirakurun + epgstation導入
2a.PX-S1UDのファームウェアのインストール
wget 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/
2b.docker-composeインストール
sudo apt-get -y install docker-compose
2c.docker-mirakurun-epgstationインストール
sudo apt -y install git
git clone https://github.com/l3tnun/docker-mirakurun-epgstation.git
cd docker-mirakurun-epgstation
cp docker-compose-sample.yml docker-compose.yml
cp epgstation/config/config.yml.template epgstation/config/config.yml
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
2d.tuners.yml設定(PX-S1UDの場合。利用するチューナーによって異なります)
vi 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>
2e.各種設定ファイル変更
# 必要に応じてコメントアウトされている restart や user の設定を適宜変更する
# 録画ファイルパスを修正しました。
vi ~/docker-mirakurun-epgstation/docker-compose.yml
# - ./recorded:/app/recorded
- /tmp/video:/app/recorded
# config.yml 以下の点を修正しました。
vi ~/docker-mirakurun-epgstation/epgstation/config/config.yml
recordedFormat: '%YEAR%%MONTH%%DAY%_%TITLE%'
recordedFileExtension: .ts
# 番組表の除外チャンネルを、以下の通り定義しました。
excludeSids:
- 4113
- 4114
- 4496
- 14345
- 14346
- 14728
- 14337
- 14720
- 4121
- 4504
- 4129
- 4130
- 4512
- 4145
- 4146
- 4528
- 4137
# channels.yml すでにチャンネルを把握しているので、以下のファイルを直接編集しました。
vi ~/docker-mirakurun-epgstation/epgstation/config/channels.yml
--- OR ---
# 新規にチャンネルを登録する場合
curl -X PUT "http://localhost:40772/api/config/channels/scan"
2e.補足 自分メモ:予めバックアップしていたconfigをcpする場合(2d.と2eの手順に相当)
# 予め設定ファイルを保存したフォルダへ移動
cd ./tv-server-conf/
ls -l
total 16
-rwxrwxr-x 1 root user 1049 Jul 6 20:12 crontab.now
-rwxrwxr-x 1 root user 1801 Jul 6 20:12 docker-compose.yml
drwxrwxr-x 2 root user 4096 Jul 6 20:12 epgstation
drwxrwxr-x 2 root user 4096 Jul 6 20:12 mirakurun
# 設定ファイルを各フォルダcp
cp ./docker-compose.yml ~/docker-mirakurun-epgstation/
cp ./epgstation/*.* ~/docker-mirakurun-epgstation/epgstation/config/
cp ./mirakurun/*.yml ~/docker-mirakurun-epgstation/mirakurun/conf/
2f.コンテナ起動と起動後の確認
# 起動
sudo docker-compose up -d
# 起動確認(必ずしもする必要は無い)
sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1d64f68b676b docker-mirakurun-epgstation_epgstation "npm start" 29 minutes ago Up 29 minutes 0.0.0.0:8888-8889->8888-8889/tcp docker-mirakurun-epgstation_epgstation_1
7780a6eb50bd chinachu/mirakurun "docker-entrypoint.s…" 29 minutes ago Up 29 minutes 0.0.0.0:9229->9229/tcp, 0.0.0.0:40772->40772/tcp docker-mirakurun-epgstation_mirakurun_1
67d94fd79412 mariadb:10.4 "docker-entrypoint.s…" 29 minutes ago Up 29 minutes 3306/tcp docker-mirakurun-epgstation_mysql_1
以上の手順でubuntuにMirakurunとepgstationが導入されました。
3.Mirakurun+epgstation起動の確認と再起動
ブラウザーで以下のアドレスを確認(epgstationに番組表が反映されるのは数十分後)
# Mirakurun
http://server-ip:40772
# epgstation
http://server-ip:8888
コンテナ停止と起動(再起動)
# docker-mirakurun-epgstationはとても安定してますが、たまに再起動が必要になります。
# 手元の環境では、構築後67日目にメニューが表示されなくなりました。
# 再起動の手順は以下のとおりです。
#
# docker再起動
cd ~/docker-mirakurun-epgstation
sudo docker-compose restart
--- OR ---
# 停止
sudo docker-compose down
# 起動
sudo docker-compose up -d
Mirakurunが番組表を収集している様子。
PC初期化からここまでで わずか1時間で完了しました。docker-compose様様です。
また参考にさせていただいた各サイト様、本当にありがとうございます。
以下参考にさせていただきました。
録画したファイルは著作権を守り、必ず録画した個人様のみにてご利用ください。
コメント
環境構築について参考にさせていただきました。
おかげさまで地上波は問題なく使えています。
しかし、CSの有料放送が視聴および録画ができません。
もちろん契約はしています。
何かの設定ができてないのではと思っているのですが、見当がつかないため教えていただけませんでしょうか。
ご質問いただきありがとうございます。
記事で紹介している「PX-S1UD」は地デジ受信専用のチューナーです。
CSやBSを録画するためには、同じPLEX社の「PX-BCUD」が必要になると思います。
http://www.plex-net.co.jp/product/px-bcud/
手元にこのチューナーがなく、これ以上の技術情報を提供できないのが残念ですが、
参考にしていただければ幸いです。
ご返信ありがとうございます。
大変失礼しました。
こちらの環境としてはPT3を利用しています。
Ubuntu Server 20.04では標準でPT3のドライバが入っているということでしたので、そちらを利用しています。
(Ubuntu Server 20.04+docker-mirakurun-epgstation+PT3×2枚刺し環境)
この環境でどうか、という状況で何か情報をお持ちでしたら教えていただけますとありがたいです。
PT3をお持ちですか こちらこそ失礼しました!
PT3は手に入らず羨ましい限りです(笑)
PT3とCS受信環境が手元に無いので無責任情報なのですが、仰るとおりubuntu20.04ではドライバは不要です。
またmirakurunが正常に動作しているのであれば、PT3の定義か channels.yml が適切でないのかもしれません。
(念の為CSの受信レベルもご確認を)
以下のアドレスに、PT3+mirakurunにて動作させた実例がありますので、
お役に立てられたら嬉しいです。
Pandora Pocket様:PT3+Mirakurun+EDCB+TVTestでTV録画環境を再構築した話
https://blog.hitsujin.jp/entry/2017/11/16/211111
システム構成が少し異なりますが、PT3にてCSを受信されているようです。
確認ポイント
・tunners.yml にてPT3が正しく指定されている。
・channels.yml CS/BSのチャンネル定義が適切である。
Good luck!
いえいえ!
こちらこそ環境をお伝えしてなくてすみません…
PT3は値上がりし始めた前後くらいに何とかギリギリ買えたのでありがたかったです笑
色々お調べいただいてありがとうございます!
CSは無料番組は視聴・録画できて、有料番組は視聴すらできない状態なので、おそらくtuners.ymlとchannels.ymlは大丈夫かなと思ってます
やっぱりepgstationじゃなくTVTestとかじゃないとダメそうですね?
TS抜きとかの関係なのかなとか思ってますが
教えていただいた情報を基に試してみます!
CS無料放送が見れているとのことで、了解しました。
外しているかもしれませんが「EMM処理」ができていない場合、有料放送が見られないようです。
recdvbにEMMのオプションがありますので、試してみてはいかがでしょうか。
熊の巣様
https://kkuma.mydns.jp/Linux-tv/index1.shtml
Coming tomorrow様
http://u-bibouroku.blogspot.com/2018/01/recdvb-help.html
以下のリンクではTVtestにEMM処理を行わせて、解決されたようです。
コンピュータ研究所様
https://comp-lab.net/pt2-tvtest-skyperfectv-emm
更に、mirakurunをサーバにTVtestをクライアントにする方法があるようですので、この構成だとうまくいくかもしれません。
物置部屋様
https://mnao305.hatenablog.com/entry/2019/03/03/000312
いずれかの方法でうまく行くと良いですね!
わー!
色々お調べいただいてありがとうございます!
なるほど、そういう処理が必要なんですね
私の優先度としては
地デジ録画≧CS録画≧視聴
なので、その環境を構築したいんですよね
まだ全然理解できてない部分が多いんで、試行錯誤して上手くできるか自信はないですが…
とりあえずUbuntu+PT3+Mirakurun+EDCB+TVTestという環境でできるか試してみますー
せっかくなので全チャンネル録画したいですよね。
お気持ちよくわかります!
この分野は先達の方が様々な努力をして、いろいろな手法を開発してくださっているので
もう少し調整すると、ご自身の描いたゴールにたどり着けると思います!