CrestVPS

plex vps

Медиасерверы и транскодинг

Аппаратное кодирование, терабайты библиотеки, один счет.

Что бы мы развернули

86,80 €/мес

124 €30% ежегодно

Медиабиблиотека - это проблема хранения с редкими всплесками вычислений. Две машины решают это лучше одной: VAULT для библиотеки на ZFS и экземпляр FUSION с NVENC, когда нужно транскодировать старую коллекцию за день. Соедините их через частную VLAN, и трафик между ними бесплатный и безлимитный.

Почему такая конфигурация

VAULT хранит библиотеку по цене за терабайт, которая имеет смысл, а снапшоты ZFS защищают от неудачного переименования. Добавляйте GPU только когда он нужен, и удаляйте, когда задача завершена.

Что бы мы развернули

PlanVAULT V3
vCPU8
RAM32 GB
Хранилище14 TB
ОбразDebian 13 Trixie

Размер

Разделите два ресурса. Размер библиотеки - вопрос VAULT: размер пула плюс 20% запаса, ARC для метаданных. Транскодинг - вопрос FUSION. Один RTX 4000 Ada справляется с примерно дюжиной одновременных 1080p H.264 транскодингов, но только с тремя-четырьмя потоками 4K HEVC с тон-маппингом, потому что тон-маппинг выполняется на ядрах CUDA, а не в блоке энкодера. Выбирайте L40S для масштабной выдачи AV1. Держите 4 ядра процессора на GPU для демуксинга, субтитров и ремуксинга.

Сессии NVENC и что по-прежнему выполняется на CPU

Потребительские карты исторически ограничивали количество одновременных сессий NVENC в драйвере; профессиональные карты, включая RTX 4000 Ada и L40S, не имеют такого лимита, поэтому concurrency ограничено пропускной способностью энкодера. Это менее важно, чем то, что NVENC не делает. Декодирование использует NVDEC - отдельный блок. Тон-маппинг HDR в SDR выполняется на ядрах CUDA. Отрисовка субтитров, аудиотранскодинг и ремуксинг контейнеров - все на CPU. Поток 4K HEVC HDR, преобразованный в 1080p SDR, затрагивает все четыре пути, поэтому показатели на карту падают с дюжины потоков до нескольких.

Две машины, одна частная VLAN

Хранилищу и GPU нужно разное железо, поэтому запускайте их как разные серверы. VAULT хранит библиотеку на ZFS с NVMe-кэшем; FUSION - карту и остается малым. Объедините их в частную VLAN и экспортируйте библиотеку по NFS с большими rsize и wsize. Транскодер читает последовательно со скоростью, которую с комфортом поглощает одно 10G-соединение, и ни один из этих трафиков не касается публичного интерфейса или пути очистки. Это также позволяет каждой стороне масштабироваться по своей оси: добавляйте емкость в пул, не трогая хост GPU, а вторую карту - не перемещая 20 ТБ медиа.

Что идёт не так

  • Предположение, что GPU используется. Контейнер без NVIDIA runtime молча откатывается к libx264, и единственный симптом - высокая загрузка CPU и подтормаживание воспроизведения. Проверяйте nvidia-smi во время транскодинга, а не логи.
  • Случайное вшивание субтитров. PGS и субтитры на основе изображений форсируют полный транскодинг потока, который иначе можно было бы проигрывать напрямую. Конвертируйте в SRT и настройте предпочтения клиентов.
  • Запись временных файлов транскодинга в пул ZFS. Файлы сегментов - это мелкие синхронные записи в пул, настроенный на крупные последовательные медиаданные. Укажите временную директорию на локальном NVMe, и пул перестанет молотить.

Настройте машину

  • Хранилище и шифрованиеZFS with hourly snapshots · 7 €
  • Адресация и транзитPrivate VLAN between your servers · 6 €
  • Адресация и транзитUplink upgrade to 10 Gbps · 19 €