読者です 読者をやめる 読者になる 読者になる

kariaの日記 @ Alice::Diary

フフーン、ノリツッコミの鳩子がはてなブログ書いちゃうよー

kariaの日記です。本家サイトはside=2です。Twitter ID:@karia
過去記事へのリンクとかは最下部参照。

linuxで立てる録画サーバに必要なことまとめ(録画編)

anime tech

録画サーバ立て直し中なのでメモ代わりに書いておきます。

まず最初に

どういう保存方針で行くのか考えておきましょう。主にハードウェア構成に影響してきます。

  • 録画して見たらすぐ消す
  • (TSそのままの状態で)保存する
  • mp4などにエンコードして保存する

ハードウェア

まずはパココンがないと何も出来ないですねということで。

CPU

エンコードをしない(TSそのままで保存・視聴する)のであれば、割と何でもよさそうです。とはいえ、録画中は延々とTSのストリームをHDDに保存し続けるわけで、全くCPUを食わないわけではありません。あまりに太古のCPUだとかATOMだとかは、避けた方が無難かと思います。ATOMで頑張ってる人もいないわけではないので、その辺はググりましょう。

エンコードをしようと思ってるなら当然ながらなるべく強力なCPUを……と思うのですが、Intelの最近のCPUにはQSV(Quick Sync Video)というハードウェアエンコーダが搭載されています。これがかなりの爆速で、どのぐらいかというと手元のCorei7では30分アニメが10分程度でエンコードし終わるレベル。エンコードしようと考えている人は確実にIntelを選ぶべきだと思います。

ただしここで重大な問題が。linuxでQSVに対応したエンコーダでこれといったものが(私が知る限り)ありません。この辺については、活用編で述べます。

HDD

とにかくたくさん必要です。アニメ1話(30分)あたり、4GB~5GBが目安。どのぐらい食うのはか過去にざっくり計算したことがありました。

とはいえ、見て消す用途なのであれば、今主流の3TB HDDがあれば行けるかもしれません。保存を考えるなら、とにかくSATAが沢山刺さるマザボやケースを選択するとか、センチュリーの裸族シリーズ・ドライブドアシリーズのお世話になるとか、別途巨大なNASを買って定期的にデータを移すとかした方が良いです。ちなみに我が家ではReadyNAS Ultra6を利用した15TBのNASが2台存在します。

今はクラウドの時代だしクラウドにデータを預けよう!などとは考えない方が良いです。いやまあ金があるなら考えても良いのですが、詳しくはこちらを。

ICカードリーダー

B-CASカードを挿す用です。2000円台とかで買えます。

この辺が有名ですが、USB外付けなので掃除機をかけている際などに突然抜けたりするリスクがあります。かといって内蔵させるのも、ケーブルの取り回しなどが面倒だな…と思っていたところ、3.5インチベイに内蔵するタイプが発売されたので、今度試そうと思っています。

キャプチャカード

いまの主流はやはりPT3でしょうか。

PT3 Rev.A

PT3 Rev.A

PT3を刺すために、PCI Express x1のスロットが1個あれば大丈夫?かというとなかなか微妙です。

PT3 1枚には地デジ2チューナー(BS/CSも2チューナーあるので計4チューナー)が搭載されていますが、同一チャンネルの連続した番組を録画する場合に一時的に録画が重複するため、2チューナー必要になってきます。これはfoltiaで確認した動作なので他のソフトウェアでは回避されているかもしれませんが、このような動作をする可能性を考慮すると2チューナーはすぐ埋まる、つまり地デジ同士での裏番組録画を考慮するとPT3を2枚刺しておいたほうが安心と言えます。

そうなると、PCI Express x1スロットが2つ以上あるマザーボードを選んでおいた方が……と思いきや、最近はPLEXという会社から1枚で地デジ4チューナー(BS/CSも含めると8チューナー)のカードが登場したようです。

このカード、私が確認した限りではlinux版のドライバが公開されていないようでした。とはいえ、後述のfoltiaとのセット商品が出ているためlinuxで動作しないということではないようです。さらに、ICカードリーダー機能もあるらしいのですがこれも動作しないとのこと。本当なのか買って確かめたいところではありますが、PT3×2枚を買った方が安いので購入には至りませんでした。動作さえすれば良さそうな品ではあるのですが。

※追記:EPGrecでは、録画が重複しない設定が可能な模様です。


PT3の設定(CentOS6) - わすれないうちにメモしよう

その他

録画サーバは長時間起動しっぱなしにするので、まあそのうち壊れます。個人的な経験としては、1年を超えると電源やHDDが壊れてくるので、この2点については交換しやすさを考慮しておいた方が良いかと思います。電源は普通のATX電源であればまあ交換すればいいし、HDDはRAID5とか6とか1とかにしておけば、交換&リビルドのみで済むのでよろしいかと。交換しやすいケースを選ぶというのも、一つのポイントかと思います。

また、特に挙げなかったパーツに関してはぶっちゃけ何でもいいかなーと。メモリを食うシチュエーションはそんなにないし、USBメモリでOSインストールすれば光学ドライブは不要だし。

OSとかドライバとか

ディストリビューションは、CentOS/Ubuntu/Debianあたりから好みで選んで問題ないと思います。私はUbuntu Desktopでfoltiaを動作させてますし、後述のchinachuはDebian推奨。また有料版のfoltiaはCentOS6.5がバンドルされてきます。

キャプチャカードとかICカードリーダ周りのドライバについては各自でググれ。

インストール時のポイントとしては、パーティションの構成をどのようにするかが肝になってきます。

OSパーティションと録画ファイル保存パーティションは別にする

録画ファイルがうっかりあふれてもOSが死んだりしないように、ということで別パーティションにした方がよさそうです。まあ溢れたところで死んだりはしないと思いますが、念のため。録画ファイルのパーティションは残してOSだけ再構築するというシチュエーションも考えられるかと思います。

録画ファイル保存パーティションはLVM(+RAID5以上)に

最初は「見たら消せばいいかな、録画本数もあんまりないし1TBぐらいで切っておけばいいよね」とか思っていても、あっという間に録画済みのファイルが溜まっていきます。足りなくなったあとに慌てて追加の別パーティションを作ると、4GBの巨大ファイルを複数パーティション間で行ったり来たりさせるという大変めんどくさい運用が発生してしまうので、LVMにしておいてパーティションを拡張できるようにするのはマストかと思います。

別にLVMでなくてもいいのですが、せっかくパココンで組むのであれば拡張可能なファイルシステムにしてそのメリットを享受した方がよいでしょう。

RAID5以上を利用する(というか何らかの冗長性を持たせる)かどうかは各自の判断によるかと思いますが、データ消失後に復旧・再構築にかける時間がもったいなさすぎるので、個人的には十分投資の価値があると思っています。我が家の場合、前述のReadyNAS Ultra6が実質的にRAID5+LVMの機能を持っているのですが、2本同時に飛んで一部のデータと相当量の時間が失われた経験があるので現在はRAIDO6化を目論んでおります。

録画ソフト

あたりが有名どころでしょうか。EPGrecとchinachuは放送波から受信するEPG情報がベース、foltiaしょぼいカレンダーの情報がベースです。

ひたすらアニメを録画しまくる用途であれば、しょぼいカレンダーに勝るデータベースはないのでfoltiaが色々と楽です。一般番組まで視野に入れると、EPGrecかchinachuの方が良いのかなと思います。私はオープンソース版のfoltiaしか使ってませんが、動作を見たところ予約時間にrecpt1コマンドを叩くという動作をしているので、他の録画ソフトも似たような動作であれば複数インストールして併用することもおそらく可能だと思います(試してませんが)。チューナーの上限に達しない範囲で併用するのも手かもしれません。

ちなみに今開発が活発なのはchinachuとfoltia ANIME LOCKERで、オープンソース版のfoltiaはほとんど機能追加が行われていない状況にあります。foltia ANIME LOCKERにお金を払っても良いかなと思ってるのですが、OS(CentOS6.5)まで全部含めたパッケージとなっており、まっさらのHDDにインストールする分には楽なのですが自分でOSを入れるところから始めたい向きにはちょっと合わないんですよね。

実運用が始まったあと

もりもり録画されていくようになったあと、気をつけていくことがいくつかあります。ポイントは「なるべく手をかけない」。

HDDの残容量に気をつけろ

家電レコーダーでも発生することですが、たくさん録画していくとHDDの容量が足りなくなってきます。容量が足りなくなってきたら、HDDを増設するなりファイルを消すなり手をかけてやらないといけません。

ここで、毎日dfコマンドを叩いて残容量をチェックしたり、ちまちま手でファイルを削除していたらあっという間に日が暮れてしまいます。それどころか、そのうちファイルを整理するのが生きがいみたいになってきて、何のために録画しているのかわからなくなって来ます。

残容量チェックもファイルの整理も、シェルスクリプトなり何なりで自動でやらせて、もっと多くのアニメを消化できる体勢をつくりましょう。

自分の場合はxymonで空き容量監視(不足してきたらメールが飛ぶ)を行い、さらに録画が終わったファイルは15TBのNASへ勝手に移動するようになっています。世の中には録画の開始終了や残容量をTwitterに投げている人もいるようですし、この辺は十分研究の価値ありというか、わざわざ自力で録画サーバを構築する醍醐味の一つと言えるでしょう。

正しく録画されているか確認を

時々遭遇するのが、「一見正しくファイルが出来たように見えて実は壊れていた」という問題です。ファイルサイズは4GBぐらいあるけど、再生しようとすると止まってしまったり、ひどいときはWindows上で選択しただけでエクスプローラを巻き込んで落ちたりもします。

原因としてはB-CASカードが正しく認識されていなかったり、アンテナ線の配線が緩んで入力レベルが低下していたりといったことが挙げられます。録画したまま観ずに放置しているとこういう問題に気付かないことがあるので、定期的に録画したファイルの中身はチェックすべきだと思います(この辺も自動化して勝手にアラート上げるようにしたいなと思いつつ)。



次回は、活用編として再生環境とかエンコード関係について書きたいと思います。

追記(10/28 12:25)

この辺もどうぞ。

録画するだけならCPUはATOMでも大丈夫なんじゃない?というご意見がちらほらありました。現代のATOMだとQSVを搭載していたりもするし、性能もだいぶ上がっているので割と耐えられると思いますが、その辺は下調べを十分しましょうということで。

騒音について。録画サーバだけならほとんど気にならないレベルの静けさですが、ReadyNASがかなりうるさいです(HDDたくさん積んでるので)。静音化に関しては茨の道なので2ch自作板あたりを漁ってみましょう。個人的には、ストレージを寝室から隔離して(トイレとか下駄箱とかに)設置するのが一番の対策かと思います。

観たら消すだけなら家電レコーダーで十分というのは全くその通りなんですが、リモコンでポチポチファイル消したりするの面倒でもうやってられないです。"rm hoge*.m2t"で1番組全部消えるの、めっちゃ楽ですよ。