2019年版自宅録画サーバーのソフトウェア(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社製チューナーカード非公式ドライバは、公式より安定している。
        さらに、外付け、内蔵どちらも、今まで問題は発生していない。

構築概要

今回利用するソフトウェアの一覧は、以下の通り。

項目名前備考
OSCentOS7.4(Gnome Desktop)
ffmpeg、qsvIntel Media Server Studio2018R2
前準備セキュリティ、カードリーダ
チューナードライバ非公式ドライバ
録画ディスク設定
録画制御mirakurun
録画予約epgstationブラウザから利用
サーバー監視muninブラウザから利用
ファイルサービスsambaWindowsから利用
リモートデスクトップxrdpWindowsから利用
録画視聴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日評価版だけが公開されている。

利用方法は、以下のサイトに詳細説明がある。

Intel Media Server Studio – Professional Edition 2018 R2 と FFmpeg 4.1 と Linux (CentOS 7.4 1708) で QSV (Quick Sync Video)

録画サーバー構築の前準備

録画サーバーを構築するための前準備を行う。

実施する内容は、以下の通り

  1. SELinuxの無効化
  2. firewalldの無効化
  3. 開発環境のインストール
  4. epelリポジトリの追加
  5. nkf(文字コード変換ツール)のインストール
  6. 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

2019年版自宅録画サーバーのソフトウェア(2)に続く。

2019年06月25日 | Posted in 電脳:録画サーバー | タグ: , , , No Comments » 

関連記事

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください