plex vps
メディアサーバーとトランスコーディング
メディアライブラリは、ストレージの問題であり、時折コンピュートスパイクがあります。2台のマシンで1台よりもうまく解決できます。ライブラリ用のVAULT(ZFS上)、バックカタログを午後にトランスコードする必要があるときのNVENC付きFUSIONインスタンスです。プライベートVLANで接続すると、それらの間のトラフィックは無料で、メータリングされません。
この構成の理由
VAULTはテラバイトあたりの価格が理にかなっており、ZFSスナップショットは誤ったリネームから保護します。GPUは必要なときだけ追加し、ジョブが終わったら破棄します。
当社がデプロイする構成
サイジング
2つのリソースを分割します。ライブラリサイズはVAULTの質問です。プールサイズ+20%のヘッドルーム、メタデータ用ARC。トランスコーディングはFUSIONの質問です。1つのRTX 4000 Adaは、12程度の同時1080p H.264トランスコードを処理できますが、トーンマッピングがCUDAコアで実行されるため、4K HEVCストリームは3または4つだけです。スケールでAV1出力にはL40Sを選択してください。デマルチプレックス、字幕、リマックス用にGPUあたり4 CPUコアを確保してください。
NVENCセッションと、CPU上で実行されるもの
コンシューマーカードは歴史的にドライバーで同時NVENCセッション数を制限していましたが、RTX 4000 AdaやL40Sを含むプロフェッショナルカードにはそのような制限はなく、同時実行数はエンコーダースループットによって制限されます。これはNVENCが行わないことよりも重要ではありません。デコードは別のブロックであるNVDECを使用します。HDRからSDRへのトーンマッピングはCUDAコアで実行されます。字幕レンダリング、オーディオトランスコード、コンテナリマックスはすべてCPUで実行されます。したがって、4K HEVC HDRストリームを1080p SDRにダウンコンバートすると、4つのパスすべてに触れるため、カードあたりの数値は12ストリームから数ストリームに減少します。
2台のマシン、1つのプライベートVLAN
ストレージとGPUは異なるハードウェアを必要とするため、別々のサーバーとして実行してください。VAULTはNVMeキャッシュ付きZFSでライブラリを保持し、FUSIONはカードを保持し、それ以外は小規模に保ちます。プライベートVLANで接続し、大きなrsizeとwsizeでNFS経由でライブラリをエクスポートします。トランスコーダーはシーケンシャルに読み取り、単一の10Gリンクが快適に吸収するレートで、そのトラフィックはパブリックインターフェースやスクラビングパスに触れません。また、各側が独自の軸でスケールできるようにします。GPUホストに触れずにプールに容量を追加し、20TBのメディアを移動せずに2番目のカードを追加します。
問題点
- GPUが使用されていると仮定する。NVIDIAランタイムのないコンテナは静かにlibx264にフォールバックし、唯一の症状は高いCPUと再生の途切れです。ログではなく、トランスコード中にnvidia-smiを確認してください。
- 誤って字幕を焼き込む。PGSおよび画像ベースの字幕は、そうでなければダイレクトプレイされるストリームのフルトランスコードを強制します。可能な場合はSRTに変換し、クライアント設定をそれに応じて設定してください。
- トランスコード一時ファイルをZFSプールに書き込む。セグメントファイルは、大きなシーケンシャルメディア用に調整されたプールへの小さな同期書き込みです。一時ディレクトリをローカルNVMeに向けると、プールのスラッシングが停止します。
マシンを調整
- ストレージと暗号化 — ZFS with hourly snapshots · €7
- アドレスとトランジット — サーバー間のプライベートVLAN · €6
- アドレスとトランジット — アップリンクを10 Gbpsにアップグレード · €19