2019年版自宅録画サーバーのソフトウェア(1)
目次
(2020年07月13日追記)
「2020年初夏版 『自宅録画サーバー(全録)』の作り方」について紹介。
CentOS 8.1で自宅録画サーバーを作る手順です。
2019年版自宅録画サーバーの構築方法を紹介する。
2019年版自宅録画サーバーの優位性
2019年6月現在、この録画サーバーが優れている点は、コストパフォーマンスと信頼性。
- コストパフォーマンス
- Intelの第6世代CPU(skylake)を使うので、CPUが安価で入手できる。(ヤフオクでi3-6100は、7000円程度)
- 録画サーバーで最も重要なtsからmp4へのトランスコード速度を、Intelのqsv(Quick Sync Video)技術を使うことで6倍速にできる。(1サーバーで1日30番組程度は問題なく録画・トランスコードできる。)
- トランスコードによって、ファイルサイズを1/4にでき、4台のディスクコストを1台で賄える。
- 利用するすべてのソフトウェアは、フリーで、安定稼働する。
- リモートデスクトップを使うことで、運用時キーボード・マウス・ディスプレイが必要ない。
- 信頼性
- サーバーの監視は、muninを利用してリアルタイムで行っている。
- HDDの温度管理(50℃以下)を行い、トラブルを未然に防ぐ。
- CPU負荷も記録に残るので、負荷分散の対策も行える。
- ディスク容量は、90%を越えるとアラートで知らせてくれる。
- すべてのソフトウェアは、半年以上稼働していて、大きなトラブルは起こっていない。
- PLEX社製チューナーカード非公式ドライバは、公式より安定している。
さらに、外付け、内蔵どちらも、今まで問題は発生していない。
- PLEX社製チューナーカード非公式ドライバは、公式より安定している。
- サーバーの監視は、muninを利用してリアルタイムで行っている。
構築概要
今回利用するソフトウェアの一覧は、以下の通り。
項目 | 名前 | 備考 |
---|---|---|
OS | CentOS | 7.4(Gnome Desktop) |
ffmpeg、qsv | Intel Media Server Studio | 2018R2 |
前準備 | セキュリティ、カードリーダ | |
チューナードライバ | 非公式ドライバ | |
録画ディスク設定 | ||
録画制御 | mirakurun | |
録画予約 | epgstation | ブラウザから利用 |
サーバー監視 | munin | ブラウザから利用 |
ファイルサービス | samba | Windowsから利用 |
リモートデスクトップ | xrdp | Windowsから利用 |
録画視聴 | plex media server | ブラウザから利用 |
CentOS 7.4
CentOS 7.4を利用するのは、Intel qsvを利用するためである。Intel qsvに対応したffmpegを作るために、Intel Media Server Studio 2018R2が必要で、推奨OSがCentOS7.4となっている。他のLinuxでも利用できるとは思うが、余計な手間はかけない方針で、CentOS7.4を選択している。
CentOS7.4を簡単にインストールするために、インストール先はSSD、インストールメディアはUSB接続のMicroSDメモリーカードリーダーの使用をおすすめする。
インストールの詳細は、以下の記事を参照。
2018年版 CentOS 7.4 SDメモリーカードを使ってインストール
上記記事では、SDメモリとSDメモリーカードリーダーを使用している。しかし、2019年6月現在は、8GBのMicroSDメモリーカードとMicroSDメモリーカードリーダーの利用をおすすめしたい。
CentOS 7.4のインストールで、ポイントは以下の2つ。
Gnome Desktopの選択
ソフトウェアの選択をクリックする。
Gnome Desktopを選ぶ。「スマートカードサポート」だけ外す。
ユーザーがsudoコマンドを使えるようにする
ユーザー登録時必ず「このユーザーを管理者にする」をチェックする。
Intel Media Srver Studio 2018R2
Intel Media Server Studio 2018R2をインストールして、qsv対応のffmpegを作る。
リリース当初は、Community Editionというフリーバージョンがあったが、2019年6月現在は、Professional Editionの30日評価版だけが公開されている。
利用方法は、以下のサイトに詳細説明がある。
録画サーバー構築の前準備
録画サーバーを構築するための前準備を行う。
実施する内容は、以下の通り
- SELinuxの無効化
- firewalldの無効化
- 開発環境のインストール
- epelリポジトリの追加
- nkf(文字コード変換ツール)のインストール
- dkms(カーネルモジュール自動生成ツール)のインストール
SELinuxは、rootの権限を制限する。これは、外部から侵入されてrootのパスワードをハッキングされても被害を最小限にできる、という効果がある。ただし、SELinuxによってトラブルが発生することもあり、無効化する方が利用上簡単になる。
そもそも、自宅のLANでは、ルーターの設定をきちんと行えばSELinuxもfirewalldも必要ない。また、サーバー内のコンテンツを削除されたり、盗まれたとしても、TV番組の録画であれば被害は小さいと考える人も多いだろう。
SELinuxの無効化
sudo gedit /etc/selinux/config
以下のようにファイルを修正する。
変更前) SELINUX=enforcing 変更後) SELINUX=disabled
変更後、リブートし、以下のコマンドで確認する。
getenforce
以下のように表示されれば、設定完了。
Disabled
firewalldの無効化
sudo systemctl stop firewalld sudo systemctl disable firewalld
開発環境のインストール
sudo sudo yum install wget git unzip bzip2 gcc gcc-c++ make autogen automake kernel-devel patch perl-ExtUtils-MakeMaker libtool openssl-devel boost-devel cmake
epelリポジトリの追加
sudo yum -y install epel-release
epelリポジトリは、一時的な使用に変更する。
sudo gedit /etc/yum.repos.d/epel.repo
以下のようにファイルを修正する。
変更前) enabled=1 変更後) enabled=0
nkfとdkmsのインストール
sudo yum -y --enablerepo=epel install nkf dkms
カードリーダーのインストール
USBでカードリーダーを接続して、以下のコマンドでインストールする。
sudo yum -y install ccid pcsc-lite-devel mkdir ~/src cd ~/src wget http://search.cpan.org/CPAN/authors/id/W/WH/WHOM/pcsc-perl-1.4.13.tar.bz2 tar xvjf pcsc-perl-1.4.13.tar.bz2 cd pcsc-perl-1.4.13 perl Makefile.PL make sudo make install cd ~/src wget https://launchpad.net/ubuntu/+archive/primary/+files/pcsc-tools_1.4.23.orig.tar.gz tar xvzf pcsc-tools_1.4.23.orig.tar.gz cd pcsc-tools-1.4.23 make sudo make install sudo systemctl enable pcscd sudo systemctl start pcscd
正常にインストールできたかは、以下のコマンドでチェックできる。
pcsc_scan
以下のように表示されれば、成功。
Japanese Chijou Digital B-CAS Card (pay TV)
arib25ライブラリのインストール
arib25ライブラリは、以下のコマンドでインストールする。
mkdir ~/git cd ~/git git clone https://github.com/stz2012/libarib25.git cd libarib25/ cmake . make sudo make install sudo sh -c "echo /usr/local/lib64 > /etc/ld.so.conf.d/usr-local-lib.conf" ldconfig
関連記事
コメント3件
TLさん、
Intelは、Media-SDKをオープンソースにしました。https://github.com/Intel-Media-SDK/MediaSDK/releases
CentOSではなく、UbuntuでMedia-SDKを使いqsvにした記事がありました。Ubuntu 18.04 + mirakurun + EPGStation 構築 QSVエンコード編
現在、「2020年の自宅録画サーバー環境」を検討中ですが、いよいよ第6世代CPUとはお別れしそうです。
動作確認は、第8世代CPUでCentOS7.6、i3-8100で行いました。libx264でも3-4倍速でトランスコードができました。つまりqsvなしでそこそこ使えるということです。この構成の方が、制約なく作れるので、これから録画サーバーを作る人には、おすすめです。これに、Intel-Media-SDKのオープンソースを使って、qsvが使えれば、さらに性能向上が見込めます。
ということで、これから自宅録画サーバーを組み立てる人は、第8世代CPUでシステムを構築しましょう。そして,最初はlibx264、そのうちqsvと考えれば、いいと思いますよ。詳しくは、「2020年自宅録画サーバーの準備」という記事で11月中にお知らせします。
返信ありがとうございます。Media-SDKをビルドを試みているのですがなかなかなので、ハードウェアをとりあえず揃えたので、もう少し試行錯誤してみます。Ubuntuの方も参考にさせていただきます。
「2020年の自宅録画サーバー環境」楽しみにしています、月内に記事を書かれるようなのでそちらでのチャレンジも考えます。
Intel Media Srver Studio 2018R2 が公開修了していると思うのですが、この部分の代替方法はありませんでしょうか?