CrestVPS

plex vps

Mediaservers en transcoding

Hardware-encoding, terabytes aan bibliotheek, één factuur.

Wat wij zouden implementeren

€ 86,80/mnd

€ 12430% jaarlijks

Een mediabibliotheek is een opslagprobleem met een incidentele compute-piek. Twee machines lossen het beter op dan één: VAULT voor de bibliotheek op ZFS, en een FUSION-instantie met NVENC wanneer je in een middag een achtercatalogus moet transcoderen. Verbind ze via een private VLAN en het verkeer ertussen is gratis en onbeperkt.

Waarom deze configuratie

VAULT herbergt de bibliotheek tegen een prijs per terabyte die logisch is, en de ZFS-snapshots beschermen tegen een slechte rename. Voeg de GPU alleen toe wanneer je die nodig hebt en vernietig hem wanneer de klus klaar is.

Wat wij zouden implementeren

PlanVAULT V3
vCPU8
RAM32 GB
Opslag14 TB
ImageDebian 13 Trixie

Sizing

Splits de twee resources. Bibliotheekomvang is een VAULT-vraag: poolgrootte plus 20% headroom, ARC voor metadata. Transcoding is een FUSION-vraag. Eén RTX 4000 Ada verwerkt een dozijn gelijktijdige 1080p H.264-transcodes, maar slechts drie of vier 4K HEVC-streams met tone mapping, omdat tone mapping op CUDA-cores draait in plaats van op de encoderblok. Kies L40S voor AV1-output op schaal. Houd 4 CPU-cores per GPU voor demuxing, ondertitels en remuxing.

NVENC-sessies, en wat er nog op de CPU draait

Consumentenkaarten hadden historisch een limiet op gelijktijdige NVENC-sessies in de driver; professionele kaarten, waaronder RTX 4000 Ada en L40S, hebben die limiet niet, dus gelijktijdigheid wordt begrensd door de encoderdoorvoer. Dat is minder belangrijk dan wat NVENC niet doet. Decoderen gebruikt NVDEC, een apart blok. Tone mapping van HDR naar SDR draait op CUDA-cores. Ondertitelweergave, audiotranscoding en container-remuxing draaien allemaal op de CPU. Een 4K HEVC HDR-stream die wordt gedownconverteerd naar 1080p SDR raakt dus alle vier de paden, daarom zakt het aantal streams per kaart van een dozijn naar een handvol.

Twee machines, één private VLAN

Opslag en GPU willen verschillende hardware, dus draai ze als verschillende servers. VAULT herbergt de bibliotheek op ZFS met NVMe-cache; FUSION herbergt de kaart en blijft verder klein. Verbind ze op een private VLAN en exporteer de bibliotheek via NFS met een groot rsize en wsize. De transcoder leest sequentieel met snelheden die een enkele 10G-link comfortabel absorbeert, en geen van dat verkeer raakt de publieke interface of het opschoningspad. Het laat ook elke kant op zijn eigen as schalen: voeg capaciteit toe aan de pool zonder de GPU-host aan te raken, voeg een tweede kaart toe zonder 20 TB aan media te verplaatsen.

Wat er mis kan gaan

  • Aannemen dat de GPU wordt gebruikt. Een container zonder de NVIDIA-runtime valt stilletjes terug op libx264, en het enige symptoom is hoge CPU en haperende weergave. Controleer nvidia-smi tijdens een transcode, niet de logs.
  • Per ongeluk ondertitels inbranden. PGS- en op afbeeldingen gebaseerde ondertitels dwingen een volledige transcode af van een stream die anders direct zou afspelen. Converteer naar SRT waar mogelijk en stel clientvoorkeuren dienovereenkomstig in.
  • Transcode-temp naar de ZFS-pool schrijven. Segmentbestanden zijn kleine synchrone writes op een pool afgestemd op grote sequentiële media. Wijs de temp-directory naar lokale NVMe en de pool stopt met thrashing.

Tweak de machine

  • Opslag en encryptieZFS with hourly snapshots · € 7
  • Adressering en transitPrivate VLAN between your servers · € 6
  • Adressering en transitUplink upgrade to 10 Gbps · € 19