2011年のドイツ赴任の時に録画鯖をたててからの3回目の近代化 (ubuntu 20.04 + mirakurun3.1.0 + chinachu γ、そしてpt2)
初代(2台構成) 実家に鯖立て。毎日提示にMP4変換のため、エンコ鯖起動。エンコ以外は常に20Wで動作。 建前は実家の両親用ビデオ録画サーバー。2015年退役。
マシン1a(メイン鯖):Atom D510 2GB RAM FoxxconのITXミニPCキット改 1TB HDD
チューナー:PT2
OS: windows 7 64bit Pro
主要ソフト: TVROCK + TVTest + Softether VPN(当時はPacketixだったかな) + Tight VNCサーバー
マシン1b (MP4エンコ鯖):Phenom X6 1055T + 4GB RAM、1TB HDD(OS) + 2TB HDD(ビデオ)
OS: Windows7 64bit
主要ソフト: ffmpeg + Softether VPN(当時はPacketixだったかな) + Tight VNCサーバー
2代目 2014年:日本に戻ってきて自分用に鯖立て。アイドル時はだいたい18W~20Wぐらいで。 2015年に実家用に転出。
マシン2a:Athlon 5350 4GB 64GB SSD+1TB HDD(リムーバブル)
チューナー:PT3
OS: UBUNTU 14.04 LTS
主要ソフト: EPGREC+RECPT1+ffmgec、SSHとSoftEther VPNと X11VNC。あと、sambaとDLNAサーバも実装。
2代目のクローン 2015年から運用。チューナーとチューナー数を増やして運用。
マシン2b:Athlon 5350 4GB RAM 128GB SSD+2TB USB HDD
チューナー:PT2 2枚(DIRECのPCI 2スロット→ PCI Express 変換ライザーカード使用。
OS: UBUNTU 14.04 LTS
主要ソフト: EPGREC+RECPT1+ffmgec、SSHとSoftEther VPNと X11VNC。あと、sambaとDLNAサーバも実装。
3代目:(ここ)
マシン3b:(マシン2bと同じ) Athlon 5350 4GB RAM 256GB SSD +4TB USB HDD
チューナー:PT2 2枚(DIRECのPCI 2スロット→ PCI Express 変換ライザーカード使用。
OS: UBUNTU 20.04 LTS
主要ソフト: Chinachu γ+ mirakurun (Docker) 、SSHとSoftEther VPNと X11VNC。あと、samba実装。
3代目は、UBUNTU 20.04 desktop (サーバ版ではない)を使いました。
mirakurun 3.1.0のDocker版の導入は、かなり簡単ですね。 チューナー、BCASなどのドライバ-類の細かな導入作業はほぼ端折れます。
癖があるのはChinachu γの導入です。まあ、Chinachu のupdateに比べ、Mirakurunがどんどんupdateされているため、Chinachuから他のソフトに乗り換えている人が増えていることで、あまり新規でMirakurun(Docker版)+Chinachu γをUbuntu 20.04に導入する人がいないのだろうなぁ。
逆に、Mirakurun (非Docker版)を導入した人なら、一通り開発環境の導入、Chinachuの導入前にNode.jsやpm2なども、すべて導入できていることでしょうから、あまり問題にならないのだろうけれど、私の場合、いきなりubuntu 20.04環境作って、docker使えるようにしてすぐにMirakurunを導入してしまったので、何の環境もそろっていなかったというのが仇になります。ただ、驚くべきは、Docker版のMirakurun、めちゃくちゃ導入が楽、ということ。その分、chinachuで躓くという感じ。どこで躓いたかといえば次の2点。
1)chinachuを導入し、無事にUIからリアルタイム視聴などができるところまでこぎつけたたけど予約しても録画できない。
2)pm2 startでchinachu自動起動スクリプト読ませてからsaveしたあと、再起動しても、chinachuが自動起動しない。
てな、状態になりました。
まあ、結論は以下の通り。
1)については、chinachu-operatorのエラーログ調べたら、node.jsで足りないModuleがあったみたいなのが判ったので、まずは、足りないモジュールを調べて足してくれる有難いおまじないをしました。
このあたりのワードをwebで調べれば出てきます。 npm install -g npm-install-missing
2)については、簡単に言ってしまえば、pm2そのものの自動起動設定していなかっただけ。多分、非dockerのMirakurunを導入するときに、pm2を導入しているのならば、そこで、saveしただけじゃ自動起動しないわな。
ということで、initdに書くような作業を受け持つのはなにか、といえば、startup だな、、、ってことで。
///// すみません。わざとわかりにくく書いています。判らない人が意味も分からずに試して思った結果にならないからと、文句言われると、、、、、ちょいと困るので(笑)。
パソコンのインストール関連も、車やバイクいじりも同じですね。DIYでやることは構わないけど、問題が起きたときに自分で解決する気が無かったらDIYでやるべきではない、プロに任せろ/ちゃんとしたものを買え、ってことで。 まあ、タイヤ交換の件はプロに任せてさんざんな目にあったので、プロって言っても幅があるけどね。 /////
判ったことは、pt2 2枚刺しと、DirecのライザーカードでPCI ExpressにつないだAthlon 5350環境、
Ubuntu 20.04.01の日本語環境で、mirakurun 3.1.0(docker)+Chinachu γは確かに動作する、ということ。
あとやり残したのは、dockerのコンテナ内で吐き出したmirakurunのlogの管理を考えたほうが良いのかなぁと思っている。まだ、どうやればいいのか調べていないけど、docker版の場合には出力をstdout/stderrにする作業が必要かなぁ。 そうじゃないと、コンテナ内でどんどんログが増え続けることに。 まあ、何日に1回か、再起動(コンテナごと破棄) させればいいのだろうけれど。でも再起動時点でコンテナ内に吐き出したログは消えてしまう。過去ログが必要な時に無いのも困るので、はきださせるしかないかな。