l3tnun / EPGStation

Mirakurun を使用した録画管理ソフト
https://twitter.com/l3tnun
MIT License
553 stars 149 forks source link

ハードディスクへのアクセス #263

Closed aaaiuoeraga closed 4 years ago

aaaiuoeraga commented 5 years ago

同時録画数が5個くらいになったあたりから ハードディスクからの再生が困難になります。 一時録画先を指定すると大容量の専用ディスクが必要になるのですが、 録画開始時に予想されるサイズを確保する機能はありますでしょうか?

l3tnun commented 5 years ago

そのような機能はありません。

どのくらいのビットレートのストリームを保存しているのか分かりませんが、保存先のデバイスが貧弱すぎるような気がするのですが。。。

aaaiuoeraga commented 5 years ago

KVM上のWindowsServer2019にマウントされたRefsHDDを共有してLinuxから書き込みしていて、 頻繁にアクティブな時間の最高が100%になります。 500か1TBのSSDを確保すると貴重なSATAポートが1本減ってしまいますし、 予め多めに確保すると断片化も少なくなりますのでご検討いただけないでしょうか。

aaaiuoeraga commented 5 years ago

数年前ですが、約5千回転のNTFSWindows物理マシンでも、単純な書き込み数が増えると 再生が途切れますので多チューナー環境だとHDDでは書き込みながらの読み出しは難しいと思います。

l3tnun commented 5 years ago

これくらいのストリーム数で問題になるようでしたら chinachu や epgrec などの他の録画ソフトでも問題になっているはずですが、そのような話は聞いたことがありません。正直、NTFS/ReFS が原因でHDDの性能を発揮できていないのでは?としか思えません。

1 ストリーム 24Mbps として、HDD の書き込み速度を 50MB/s と仮定しても

50 / ((24 / 8) * 5) ≒ 3.34

となりますので性能的には十分足りるはずです。

私の環境では地上波 4, BS 4 で単一のHDDに録画をすることもたまにありますが、そのような問題はありません。(ext4, 5400rpm)

l3tnun commented 5 years ago

断片化の観点から言うと、たしかに事前に領域を確保することは良いと思いますので機能の実装は検討します。 (いつ実装できるかは分かりませんが)

ohmsa commented 5 years ago

最近のSeagateのHDDは数百GBのキャッシュ領域(プラッタ外周部)は200MB/sでますが、そこからあふれるとシーケンシャルライトが16MB/sまで落ちてしまいます。こうなるとHDDが追い付かず、一時録画先を設定していないと一つの録画が途切れ途切れになります(確認済み)。

番組の予想される録画時間から大体の容量をあらかじめ見積もる……のは大変でしょうか。

aaaiuoeraga2 commented 5 years ago

しばらく運用して結局Chinachuに変更して幸せになりました。

l3tnun commented 4 years ago

v2.0 制作にあたり領域確保機能が搭載できないか検討しましたが、nodejs の機能だけでは厳しいようですので断念します。

ちなみに chinachu と epgstation のファイル保存の方法はほぼ同じですので、chinachu で問題なく動作するのでしたら epgstation でも問題なく動作すると思いますよ。