2018年版 CentOS 7.4 「Chinachu γ + Plex」の構築ポイント
目次
- 1 CentOS 7.4と第6世代Intel Coreを使う理由
- 2 録画サーバーに求める機能は、「安定稼働」
- 3 構築手順
- 4 構築ポイント:録画サーバーのパーツ
- 5 構築ポイント:CentOS 7.4のインストール
- 6 構築ポイント:Intel Media Server Studio 2018 R1のインストール
- 7 構築ポイント:録画サーバー構築の前準備
- 8 構築ポイント:録画実行用Mirakurunのインストール
- 9 構築ポイント:録画予約用Chinachu γインストール
- 10 構築ポイント:録画再生用plex media serverのインストール
- 11 構築ポイント:サーバー監視用munin-nodeのインストール
- 12 構築ポイント:リモートデスクトップのインストール
(2019年1月21日修正)内容を修正しました。
以下の項目を一番最後に移動。途中でインストールすると、ローカルでデスクトップが開かないという状態になり、修復できなかったため。
・ リモートデスクトップのインストール
(2018年10月5日追記)内容を更新しました。 ・ CentOS 7.4 のSDメモリーカードによるインストール ・ リモートデスクトップのインストール ・ CentOS 7.4 に対応したシェルスクリプト ・ サーバー監視用にmuninのインストール
(2018年8月1日追記)Linuxサーバー構築の成功の秘訣は、枯れた技術を使うこと。 新しいパーツやソフトがリリースされても、すぐには使わないこと。これに尽きる。 Windows10の場合は、逆に「最新のパーツを使え」と言いたい。IntelもASUSも最初はWindows10しか頭の中にない。 2015年9月 「Intel Core i5-6500」「ASUS H170M-PLUS」 2017年8月 「CentOS 7.4(1708)」 2018年4月 「Intel Media Server Studio 2018 R1」 第6世代CPUがリリースされてから、実に2年半もかかっている。
CentOS 7.4と第6世代Intel Coreを使う理由
CentOS 7.4にインストール。CentOS 7.4を選ぶ理由は、Intel Quick Sync Videoを使うためである。現在公開されている最新版Intel Media Server Studio 2018 R1が、CentOS 7.4対応。
Intel Quick Sync Videoを使えば、i3-6100やi5-6500などの第6世代Intel Core CPUで、6倍速以上のトランスコードが可能。つまり、1時間の録画データ7.2GB(tsファイル)を10分で1.8GBのmp4に変換できる。
録画サーバーに求める機能は、「安定稼働」
私は、録画サーバーを日用品のように使っている。1台のサーバーで、1週間に100番組ほどの録画を行っている。したがって、録画サーバーに求めることはただ一つ、「安定稼働」である。
私が考える、録画サーバーの「安定稼働」対策は2つある。
- HDD温度が50℃を越えないようにする。
使用しているHDDの動作温度は、0℃~60℃となっている。しかし、HDD温度が50℃を越える状態が続くとトラブルになることを経験的に知っている。対策としては、HDDの間隔を空けて設置し、冷却ファンで十分風を送ることである。 - CPUの100%稼働時間をできるだけ短くする。
トランスコード時は100%になることが多い。これが継続するとケース内温度が高い状態になり、トラブルになることを経験的に知っている。対策としては、できるだけトランスコード時間を短くすること、つまりIntel Quick Sync Videoを使うことである。
最低気温が30℃以上の夜を「超熱帯夜」というらしい。今年は熱帯夜が10日以上、超熱帯夜もあったかもしれない。上記の対策を行わなければ、間違いなくトラブルになる。
構築手順
CentOS 7.4で、「Chinachu γ + plex + qsv」をインストールする手順は、以下の通りである。
- 録画サーバーのパーツを集めて、組み立てる。
- CentOS 7.4のGnome Desktopをインストールする。
- Intel Media Server Studio 2018 R1をインストールする。
- 録画サーバー構築の前準備
- 録画実行用Mirakurunのインストール
- 録画予約用Chinachu γのインストール
- 録画再生用plex media serverのインストール
- サーバー監視用munin-nodeのインストール
- リモートデスクトップをインストールする。
時間は、半日~1日かかる。
しかも、パーツの違いやソフトのアップデートの状況によって、様々なトラブルが発生して、中断することもある。
しかし、できてしまえば、これほど便利なものはないので、挑戦する価値は十分にある。
構築ポイント:録画サーバーのパーツ
- 2018年版 Chinachu γ + Plex サーバーのハードウェア(2)
上記の情報を参考に、パーツを集めてほしい。
2018年10月現在集められるパーツで組み立て、コストパフォーマンスを最適化した結果は、以下を参照。
2018年版最適化 CentOS 7.4 「chinachu + plex + PLEX社製TVチューナー」 - CPUは、i3-6100かi5-6500
qsvでおよそ8倍速を実現するために、第6世代4スレッドのCPUが必要。
i3-6100は、2コア4スレッド。
i5-6500は、4コア4スレッド。
Pentium G4500は、2コア2スレッドのため、およそ4倍速6倍速になる。 - マザーは、ASUS H170M-PLUS
Windows以外で使う場合、ASUSが無難で間違いない。BIOSは、2018/6/1リリースのversion 3805にアップデートした方が良い。 - メモリは、DDR4-2133MHz以上の4GBが2枚で十分。
- PT3を使えば問題なし。
PX-W3PE4、PX-Q3PE4は、問題あり。(BSジャパンが録画できない。CPU負荷が高いとき、BS録画にブロックノイズ発生。)
構築ポイント:CentOS 7.4のインストール
- CentOS 7.4のインストールは、DVDドライブより、SDメモリーカードを使うのがおすすめ。以下を参考にインストールできる。
2018年版 CentOS 7.4 SDメモリーカードを使ってインストール - Gnome Desktopのインストールがおすすめ
オプションも「カードリーダー」以外全部選択で良い。エディタgeditが使えるのが便利。特にrootで端末からgeditを使えば簡単に編集できる。 - CentOS 7.4インストール後、Intel Media Server Studio 2018 R1をインストールするまでは、「yum update」などは絶対にしないこと。
構築ポイント:Intel Media Server Studio 2018 R1のインストール
- Intel Media Server Studio 2018 R1 と FFmpegと Linux (CentOS 7.4 1708) で QSV (Quick Sync Video)
上記のサイトの通りにインストールすれば、問題ない。 - インストール後、画面の解像度が1024×768になることがある。
ブート時のメニューを観ると、2つある。選択しないと一番上で起動する。下で起動して問題がなければ、自動的に下で起動するように変更することは可能である。
以下のコマンドを実行する。$ sudo grub2-set-default 1
元に戻すときは、以下のコマンドで、一番上のメニューを実行に戻せる。
$ sudo grub2-set-default 0
- Intel Media Server Studio 2018 R1インストール後に、qsv対応ffmpegでトランスコードを行った。
以下は、i5-6500でトランスコードした結果で、speed=8.71xとなっている。frame= 102 fps=0.0 q=-0.0 size= 0kB time=00:00:04.37 bitrate= 0.1kbits/ frame= 201 fps=200 q=-0.0 size= 768kB time=00:00:08.49 bitrate= 741.0kbits/ frame= 312 fps=207 q=-0.0 size= 1280kB time=00:00:13.09 bitrate= 800.6kbits/ frame= 419 fps=209 q=-0.0 size= 2048kB time=00:00:17.60 bitrate= 953.3kbits/ frame= 528 fps=211 q=-0.0 size= 2560kB time=00:00:22.14 bitrate= 947.1kbits/ frame= 631 fps=210 q=-0.0 size= 3328kB time=00:00:26.38 bitrate=1033.1kbits/ frame= 732 fps=209 q=-0.0 size= 3840kB time=00:00:30.59 bitrate=1028.3kbits/ frame= 834 fps=208 q=-0.0 size= 4352kB time=00:00:34.85 bitrate=1022.8kbits/ frame= 937 fps=208 q=-0.0 size= 4864kB time=00:00:39.14 bitrate=1017.9kbits/ frame= 1048 fps=209 q=-0.0 size= 5632kB time=00:00:43.77 bitrate=1054.0kbits/ frame= 1168 fps=212 q=-0.0 size= 6144kB time=00:00:48.78 bitrate=1031.6kbits/ frame= 1253 fps=209 q=-0.0 Lsize= 6969kB time=00:00:52.12 bitrate=1095.3kbits/s speed=8.71x video:6119kB audio:817kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.479437%
以下は、i3-6100でトランスコードした結果で、speed=7.83xとなっている。
frame= 84 fps=0.0 q=-0.0 size= 0kB time=00:00:03.60 bitrate= 0.1kbits/ frame= 170 fps=169 q=-0.0 size= 512kB time=00:00:07.18 bitrate= 583.5kbits/ frame= 269 fps=178 q=-0.0 size= 1280kB time=00:00:11.32 bitrate= 925.7kbits/ frame= 363 fps=180 q=-0.0 size= 1536kB time=00:00:15.23 bitrate= 826.1kbits/ frame= 459 fps=183 q=-0.0 size= 2304kB time=00:00:19.24 bitrate= 980.9kbits/ frame= 554 fps=184 q=-0.0 size= 2816kB time=00:00:23.18 bitrate= 994.8kbits/ frame= 645 fps=183 q=-0.0 size= 3328kB time=00:00:26.96 bitrate=1011.1kbits/ frame= 742 fps=184 q=-0.0 size= 3840kB time=00:00:31.04 bitrate=1013.5kbits/ frame= 839 fps=185 q=-0.0 size= 4352kB time=00:00:35.05 bitrate=1017.2kbits/ frame= 928 fps=185 q=-0.0 size= 4864kB time=00:00:38.80 bitrate=1026.8kbits/ frame= 1026 fps=186 q=-0.0 size= 5376kB time=00:00:42.85 bitrate=1027.6kbits/ frame= 1135 fps=188 q=-0.0 size= 6144kB time=00:00:47.38 bitrate=1062.3kbits/ frame= 1252 fps=192 q=-0.0 size= 6656kB time=00:00:51.90 bitrate=1050.5kbits/ frame= 1253 fps=188 q=-0.0 Lsize= 6969kB time=00:00:52.12 bitrate=1095.3kbits/s speed=7.83x video:6119kB audio:817kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.479437%
構築ポイント:録画サーバー構築の前準備
- 録画サーバ構築の前準備(CentOS 7編)、Chinachu・epgrec UNA対応
上記のサイトに従ってインストールすれば問題ない。
カードリーダー、PT3のドライバがインストールできる。 - PT3は現在販売されていないので、今後はPLEX社製TVチューナーを使うことになる。
PLEX社製TVチューナーをLinuxで使用する方法(Ubuntu・Debian・CentOS)
私がインストールして1つだけ解消しない問題がある。「BSテレ東」だけ受信できない。 - 大きなトラブルが一つ発生。PT3のドライバがインストールできないという問題。
これは、BIOSで「セキュアブート」の設定が違うと、インストールできないので要注意。
「非UEFIモード」に設定しないと、PT3ドライバはインストールされません。
構築ポイント:録画実行用Mirakurunのインストール
- Mirakurunのインストール手順(Ubuntu・Debian・CentOS)
上記のサイトに従ってインストールすれば問題ない。 - pm2のバージョン制限がある。
pm2のバージョンが3以上だとインストールが完了しない。
以下のコマンドで2.10.4をインストールすればいいようだ。$ sudo npm install pm2@2.10.4
- channelsは、BSジャパン(BS01_2)、NHKBSプレミアム(BS03_1)は、変わっているので再度チェック。
構築ポイント:録画予約用Chinachu γインストール
- Chinachu γ(ガンマ) インストール手順(CentOS 7編)
上記サイトに従ってインストールすれば問題ない。 - 最近githubが遅い。気長に待つ必要がある。
- エラーでインストールが中断することがある。
nodemailer@2.7.2は、インストールできないというメッセージがでる。npm install nodemailer@4.0.1
上記を実行して、再度メニューの途中からインストールすれば、なんとか完了する。
- 2018年版 CentOS 7.4「Chinachu γ + Plex」 用シェルスクリプト
最後に上記の内容を参考に、トランスコード用のスクリプトを設置する。
トランスコードした結果のログは以下のとおり。----------------------エンコードコマンド------------------ ./usr/bin/ffmpeg-qsv -y -i "./tv/BS世界のドキュメンタリー「ダグマ~自爆テロへのボタン~」[二][字][180802-0000][BS15_0].ts" -vcodec h264_qsv -b:v 4M -maxrate 8M -init_hw_device qsv:hw -acodec aac -loglevel error "./documentary/BS世界のドキュメンタリー「ダグマ~自爆テロへのボタン~」[二][字][180802-0000][BS15_0].mp4" ----------------------エンコード開始---------------------- [mpeg2video @ 0x28d0120] Invalid frame dimensions 0x0. Last message repeated 13 times [mpeg2video @ 0x29389a0] ac-tex damaged at 57 13 [aac @ 0x28b3560] decode_band_types: Input buffer exhausted before END element found Error while decoding stream #0:1: Invalid data found when processing input ----------------------エンコード情報----------------------- 処理時間 = 323 秒 0時間5分23秒 録画時間 = 3004 秒 0時間50分4秒 エンコード速度 = 9.30 倍 入力ファイル = 6911104848 bytes 出力ファイル = 1531504689 bytes 圧縮率 = 22.1600 % ----------------------エンコード終了------------------------
9.3倍速で、22.16%に圧縮できた。i5-6500は、とても効果がある。
以下は、i3-6100の例。
----------------------エンコードコマンド------------------ ./usr/bin/ffmpeg-qsv -y -i "./tv/美しい日本に出会う旅▼瀬戸康史が旅する金沢・能登~加賀百万石アートとキリコ祭り[181003-2100][BS01_1].ts" -vcodec h264_qsv -b:v 4M -maxrate 8M -init_hw_device qsv:hw -acodec aac -loglevel error "./travel/美しい日本に出会う旅▼瀬戸康史が旅する金沢・能登~加賀百万石アートとキリコ祭り[181003-2100][BS01_1].mp4" ----------------------エンコード開始---------------------- [mpeg2video @ 0x2246240] Invalid frame dimensions 0x0. Last message repeated 1 times ----------------------エンコード情報----------------------- 処理時間 = 413 秒 0時間6分53秒 録画時間 = 3241 秒 0時間54分1秒 エンコード速度 = 7.84 倍 入力ファイル = 6426002620 bytes 出力ファイル = 1676695899 bytes 圧縮率 = 26.0900 % ----------------------エンコード終了------------------------
i3-6100で、7.84倍、26.09%でした。i5-6500よりは劣りますが、価格が半額でこの性能ならば、コストパフォーマンスは、i3-6100の方がいいかもしれません。
構築ポイント:録画再生用plex media serverのインストール
- 以下のサイトから「CentOS 64bit」を選択してダウンロード。
https://www.plex.tv/media-server-downloads/ - 以下のコマンドでインストール。
$ sudo rpm -ivh plexmediaserver-xxxxx.rpm
- インストール後、自動起動の設定。
$ sudo systemctl enable plexmediaserver
- サーバーを起動する。
$ sudo systemctl start plexmediaserver
- ブラウザで以下ににアクセスする。
http://localhost:32400/web/index.html# - ブラウザに表示された画面の指示に従って、共有するフォルダを設定する。
構築ポイント:サーバー監視用munin-nodeのインストール
munin-nodeをインストールすると、サーバーのCPU負荷、メモリ使用状況、HDDの温度などを監視して、ブラウザ上でグラフ表示することができる。
munin-nodeは、監視対象サーバーにインストールする。
$ sudo yum --enablerepo epel install munin-node
次にmunin-nodeの設定を行う。
$ sudo gedit /etc/munin/munin-node.conf
修正箇所は、2点。
host_name localhost.localdomain allow ^127\.0\.0\.1$
例えば、監視対象サーバーの名前をtvserver、監視サーバーのIPアドレスが192.168.0.100だとすれば、以下のように変更する。
host_name tvserver allow ^192\.168\.0\.100$
munin-nodeを実行して、自動起動の設定をする。
sudo systemctl start munin-node sudo systemctl enable munin-node
これで、監視対象サーバーの作業は完了。
後は、監視サーバー側に監視対象サーバーを登録すれば、ブラウザに監視対象サーバーの情報が表示される。
監視サーバーのインストールに関しては、以下を参照。
muninインストール
実際の表示例を以下に示す。
構築ポイント:リモートデスクトップのインストール
qsvが使えることが確認できたら、リモートデスクトップをインストールして、Windows 10のPCからリモートで作業を進める。
リモートデスクトップのインストールは、以下の通り簡単。
$ sudo yum install -y epel-release $ sudo yum install -y xrdp tigervnc-server $ sudo systemctl enable xrdp $ sudo systemctl start xrdp
ファイヤーウォールを無効にするか、リモートデスクトップのポートを開けないとリモートデスクトップは使えません。
録画サーバーを自宅内で運用する場合は、ファイヤーウォールを無効にしても問題ないでしょう。
$ sudo systemctl stop firewalld $ sudo systemctl disable firewalld
windows10のPCからは、「Windowsアクセサリ」-「リモートデスクトップ接続」を利用する。
コメントを残す