日記/2015-5-16

最終更新時間:2015年05月16日 17時45分45秒

PT3とHP ProLiant MicroServerで録画PC

 

 この 黄金週間ゴールデン・ウィーク (2015年5月初め)に、PT3とHP ProLiant MicroServerで、録画PCを仕立ててみた。基本的には「ubuntu+epgrec(UNA版)+pt3環境構築」に書いてある手順どおりにコトを進めたが、いくつか詰まったところもあったので、その点だけ補足しておきたい。

購入したもの

No Item.

 HP ProLiant MicoServerはPT3で録画サーバーを仕立てる際の定番商品だが、HDD容量が500GBとやや心許ない点に注意が必要である。私の場合は、録画したデータをすでに持っているNASに転送してはすぐに消すという運用を行うつもりだったので、これでよしとした。また、上記Amazonのリンクの商品はメモリが4GBだが、私はNTT-Xで、別に4GBメモリがセットになった数量限定メモリセット(2015/05/16現在完売)を買った。
 PT3はAmazonでなんなく入手できた。
 ICカードリーダーは、Amazonで高値がついているSCR3310-NTTComをわざわざ買わなくても、後継機種であるこのCLOUD2700-NTTComで問題ない。なお、B-CASカードは、以前買ったが不安定で全然使えなかったWindows用TVカードに付いてたものを流用した。
 ディスプレイケーブルだが、HP ProLiant MicoServerはビデオ出力としてアナログD-Sub端子しか備えていない。デジタルのケーブルなら何本も余っていたのだがアナログのケーブルは手持ちに無く、いまさらD-Subかよ、と思いながら購入。
 盲点だったのがこのコンセントの3P->2P変換アダプタ。私が購入したHP ProLiant MicoServer付属の電源ケーブルは3P用のもので、そのままでは自宅のコンセントに差し込むことができず、慌てて近所のビックカメラに買いに走るハメに。

USBメモリからUbuntuServer14.04をインストール

 必要なものがそろったので、「ubuntu+epgrec(UNA版)+pt3環境構築」を見ながら作業を進めた。
 同ページにリンクのある「Ubuntu14.04 LTSのインストールと初期設定(全体的にスクリーンショットで解説)」には、「WindowsやMACでDVDに焼き付けて、そのDVDをDVD-ROMドライブに入れた後にマシンを起動させます」とあるのだが、残念ながらHP ProLiant MicroServerは光学ドライブを備えていない。
 そこで、USBメモリからのインストールを試みた。
 まずは「Download Ubuntu Server」からubuntu-14.04.2-server-amd64.isoをダウンロード。
 次にWindowsマシンのVirtualBox内で動作させた、Ubuntu15.04の「ブータブルUSBの作成」(コンソールから「usb-creator-gtk」で起動する)で、インストール用のブータブルUSBを作成。
 ところが、作成したブータブルUSBでHP ProLiant MicoServerを起動すると、以下のようなメッセージを吐いて止まってしまう。

SYSLINUX 4.04 EDD 20110518 Copyright (C) 1994-2011 H. Peter Anvin et al
Unknown keyword in configuration file: gfxboot.c32: not a COM32R image
boot:

 ここで「boot:」というプロンプトに対しては、慌てず騒がず「install」と入力すればOK。その後は滞りなくプロセスが進み、無事UbuntuServer14.04をインストールすることができた。

J:COM東関東のチャンネルコード

 「ubuntu+epgrec(UNA版)+pt3環境構築」にはいっさい記載がないが、epgrecのインストール後、config.phpの冒頭部分の$GR_CHANNEL_MAPに、地上デジタル放送の居住地域に応じたチャンネルコードを設定する必要がある。この設定については、「録画予約システムepgrec」の「epgrecのインストールと設定 」に詳しく記されており、居住地域に応じたチャンネルコードについては、「マスプロ電工の相談窓口などを参考にすると良いでしょう」とある。
 ところで私はJ:COM(エリアはJ:COM東関東)に加入しており、地上デジタル放送はJ:COMから再配信されたものを視聴している。J:COMは再配信時にチャンネルコードを変更しているらしく、上記のマスプロ電工のサイトにあるPDFを見て居住地域のチャンネルコードを設定しても、一部のチャンネルのEPG情報を取得できず、録画も行うことができなかった。
 どうしたものかと思ったが、なんのことはない、WikipediaJ:COM東関東のページに、再配信時のチャンネルコードが記されていた。
 参考までに、J:COM東関東に対応した、epgrecのconfig.phpの$GR_CHANNEL_MAPの設定を以下に記しておく。

$GR_CHANNEL_MAP = array(
        'GR27' => '27',         // NHK
        'GR26' => '26',         // 教育
        'GR25' => '25',         // 日テレ
        'GR22' => '22',         // 東京
        'GR21' => '21',         // フジ
        'GR24' => '24',         // テレ朝
        'GR23' => '23',         // テレ東
        'GR20' => '20',         // MX TV
        'GR15' => '15',         // TVK
        'GR18' => '18',         // 千葉
        'GR14' => '14',         // 大学
);

cronでrsyncして録画データをNASに転送

 先に書いたように、HP ProLiant MicoServerで録画したデータは、すでに持っているNASに転送してはすぐに消す、という運用を行っている。
 具体的には、cronで毎朝4時にrsyncして録画データをNASにコピーし、録画してから5日たった録画データは消す、という操作を行っている。なお、rsyncする時にパスワードを聞かれないよう、あらかじめsshの公開鍵認証の設定が必要

root@ubuntu-hp-proliant:/root# crontab -l
0 4 * * * /root/rsync.sh >> /var/log/rsync.log
root@ubuntu-hp-proliant:/root# cat rsync.sh
#!/bin/bash
echo -n "BEGIN "
date
echo "RSYNC"
find /var/www/epgrec/video/ -mtime -1.2 -name "*.ts" -exec rsync -auvz '{}' username@192.168.0.X:/volume1/video/ ';'
echo "DELETE"
find /var/www/epgrec/video/ -mtime +4 -name "*.ts" -exec ls -ltr '{}' ';'
find /var/www/epgrec/video/ -mtime +4 -name "*.ts" -exec rm -f {} ';'
echo -n "END "
date
echo " "

 単純にrsyncすると、見終わってNASから削除した録画データが再びHP ProLiant MicoServerから転送されてしまい、「あれ、この番組、NASから消したはずなのに、なんで消えてないの?」という事態に陥ってしまう。そこで、findでその日録画したファイルだけを抜き出してrsyncしている。1日分ではなく1.2日分を抜き出しているのは、rsyncしている最中に録画している番組があった場合のことを考慮してのこと。