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

猫の手も借したい

暇を極めた時に更新します

ラズパイで録画鯖をつくり隊 2話

つづき


現在、chinachuで番組表を管理しrecfsusb2iで外付けHDD録画 という環境で安定してる
外付けHDDは普段電源が切れててアクセスがあると起動するタイプなんだけど問題なし。



ただ、アニメを片っ端から取っているのでまだ一週間経っていないのにHDDを200GBも使用してしまった。

30分/3GBくらいのファイルサイズになるという話は前にしたので、ワンクール20番組取るとして

1話3GB×ワンクール12話×20番組=720GB
ワンクールで1TB食いつぶすじゃないか...(困惑)


現在のHDDは2TBなので3クールいかないくらいは入るとはいえ、無駄にファイルがデカくても今後の管理でお兄さん困っちゃう。

*エンコードするんだよ、あくしろよ
前にcmカットしたい話をしたかもしれないが、自動かつ高精度で行うのは結構難しそうなことや、割とCM見てるのもおもしろい事に気づいたのでCMカットはしないで行こうと思う。
素のtsからそのまま編集無しでH.264のmp4にエンコードしたい

元々の予定はラズパイでそのままエンコすることだったが、冷静に考えてみたらふつうに無理。
一応H.264エンコに使えるGPUが乗っているが、本命はGPIOのカメラなどの処理をさせるためのもの。
素のスペック自体あまり高くない上にそんな規格外のお仕事を強要するほど鬼畜な労働環境は労基に怒られてしまうのでラズパイでのエンコは諦めた。


**案1
KILIMANJARO(メインマシン)からNUTMEG(ラズパイ)のsambaにtsを取りに行って、KILIMANJARO上でバッチ自動エンコードsamba経由でHDDに書き込み。

**案2
NUTMEGからCAPPUCCINO(LIVA)のsamba経由で"CAPPUCCINOに接続したHDD"に録画する。その後はKILLIMANJAROからCAPPUCCINOに繋ぎ案1と同じ処理。

**案3
死ぬほどバイトを増やしHDDを買い足して1PBのRAIDを組む。


案1が正統法だと思うが、ラズパイのLANは100BASE/Tなのでかなり速度が遅い。実際今現在でメインマシンとのやりとりで12MB/sしか出ていない。
100Mbps=(100/8)MB/s=12.5MB/sなので、ほぼ最高速度限界まで頑張ってくれていることにはなるが遅いことには変わりない。

再生する分には12MB/s出てくれれば大丈夫ではあるが(大胆なシークは止まる)、エンコードする際は少しでも遅くなる要因を減らしたい。まあ詰めるとHDD持ってきて直接メインマシンに刺せよってなるんだけど。
それになんだかんだでかいファイルをやりとりするときにはもっと速度がほしい。


それを改善するための案が2。
録画自体はリアルタイムで進行されているので、概算で1k=1000として
3GB/30m=100MB/1m=1.66...MB/s
転送速度が12MB/sなことを考えても録画しながらの書き込みには十分かな。
なのでNUTMEGにはストレージを持たないで、LIVAに保存することにする。
LIVAは1000BASE-T対応なので理論値は1000Mbps=(1000/8)MB/s=125MB/s出るし、エンコ以外にもこっちの方が色々と都合がいい。
可能であればLIVAでそのままエンコしたいくらい。(パワーが足りるかと言われると怪しいので試してみないとなんとも)

LIVAでエンコするかしないかのネックは、
メインマシンでのエンコあればNVEncやCUDAでのハードウェアエンコができること。質より速度な運用ではかなりの強みだと思う。QSVは確かに速いんだけど目に見えてリソースが割かれて他のことできなくなるので避けたい。


なんか録画したTSもそれなりに画質の粗が見えるのでそんなに設定もあげなくていいかなとおもう。見るに耐えるレベルで。

予定では一本あたり500MB前後に押さえられるはずなので、なんとかしてはやく自動エンコを実現したい。



案3は誰かがHDD恵んでくれたらやります。