Источник: selfhosting.sh


Быстрая рекомендация

Мини-ПК Intel N100 (~$150) обрабатывает 3-5 одновременных транскодов 4K→1080p с помощью Intel Quick Sync. Этого достаточно для большинства домашних хозяйств. Значение TDP в 6W означает, что ваши расходы на электроэнергию составляют менее $1 в месяц. Для большинства самохостеров, использующих Plex или Jellyfin, это оптимальный выбор — вам не нужен выделенный графический процессор.
Если вам нужно 10 и более одновременных транскодов (общая библиотека с множеством пользователей), выбирайте графический процессор Intel Arc A380 ($100-130) или мини-ПК Intel N305 ($250-350) для большего масштаба.
Получите конфигурации Docker Compose, подбор оборудования и ярлыки настройки, которые мы не размещаем в статьях. Каждую неделю. Без спама.
Подписаться

Почему транскодирование имеет значение

Транскодирование преобразует видео из одного формата в другой в реальном времени. Это происходит, когда:
* Клиент не поддерживает видео кодек (например, HEVC/H.265 на старых устройствах Roku)
* Пропускная способность сети клиента не может справиться с оригинальным битрейтом (удаленный поток)
* Субтитры необходимо встроить в видеопоток (субтитры на основе изображения, такие как PGS)

Прямой просмотр (без транскодирования) использует почти нулевое ЦП сервера. Если все ваши клиенты поддерживают формат вашего медиа, оборудование для транскодирования не имеет значения. Но на практике по крайней мере некоторые устройства потребуют транскодирования — особенно для удаленного доступа.

Варианты аппаратного транскодирования

1. Intel Quick Sync (iGPU) — лучшее соотношение цены и качества

Каждый процессор Intel с 7-го поколения и выше имеет Quick Sync — выделенный аппаратный видео-кодер/декодер на встроенном графическом процессоре. Это самый энергоэффективный и экономичный вариант транскодирования.
Поколение ЦП| Ген. Quick Sync| H.264| H.265/HEVC| Декодирование AV1| Кодирование AV1| Тональное отображение
---|---|---|---|---|---|---
7-9-ое поколение (Kaby Lake–Coffee Lake)| QSV 5-6| Да| Декодировать + Кодировать| Нет| Нет| Нет
10-11-ое поколение (Ice Lake–Tiger Lake)| QSV 6-7| Да| Декодировать + Кодировать| Нет| Нет| HDR→SDR
12-ое поколение+ (Alder Lake, N100/N305)| QSV 7-8| Да| Декодировать + Кодировать| Да| Да| HDR→SDR
12-ое поколение Intel и новее (включая N100, N150, N305) — это оптимальный вариант. Полное декодирование AV1, кодирование/декодирование HEVC и аппаратное тональное отображение HDR→SDR — все, что нужно современным медиасерверам.

Производительность транскодирования по процессорам Intel

ЦП TDP Транскоды 1080p Транскоды 4K→1080p Цена (мини-ПК)
Intel N100 6W 8-12 3-5 ~$150
Intel N150 6W 10-14 4-6 ~$160
Intel N305 15W 15-20 6-10 ~$250-350
Intel i3-12100 60W 20+ 10-15 ~$300-400 (сборка)
Intel i5-12400 65W 25+ 12-18 ~$400-500 (сборка)
Эти числа предполагают, что аппаратное транскодирование Plex включено (необходим Plex Pass) или аппаратное транскодирование Jellyfin (бесплатно).
### 2. Выделенный графический процессор — для тяжелых нагрузок
Если у вас регулярно 10 и более одновременных транскодов, выделенный графический процессор даст вам больше возможностей. Intel Arc — лучшее соотношение цены и качества; NVIDIA требует патча драйвера для снятия искусственного ограничения на транскодирование.
ГП VRAM Потоки транскодирования TDP Цена
--- --- --- --- ---
Intel Arc A380 6 ГБ 15-20+ 4K→1080p 75W $100-130
Intel Arc A310 4 ГБ 10-15 4K→1080p 75W $70-90
NVIDIA T400 2 ГБ 3 (с патчем: неограниченно) 30W $80-100
NVIDIA GTX 1650 4 ГБ 3 (с патчем: неограниченно) 75W $100-150
NVIDIA P2000 5 ГБ Неограниченно 75W $150-200 (б/у)
Intel Arc A380 — лучший выбор для выделенного графического процессора для транскодирования. Нет искусственных ограничений по количеству потоков, кодирование/декодирование AV1, меньше энергозатрат, чем у NVIDIA, и дешевле. A380 в маломощном мини-ПК или сборке DIY обрабатывает больше транскодов, чем большинство домохозяйств когда-либо потребует.
Предупреждение по NVIDIA: Потребительские графические процессоры NVIDIA (GTX/RTX) ограничены 3 одновременными сессиями NVENC по драйверу. Вы можете применить патч для снятия этого ограничения, но он сломается при каждом обновлении драйвера. Профессиональные карты (Quadro P2000, T400, A2000) не имеют ограничения, но стоят дороже. Патч драйвера NVIDIA работает на Linux — ищите "nvidia-patch" на GitHub.
### 3. Графические процессоры AMD — не рекомендуется
Графические процессоры AMD имеют аппаратное кодирование (VCE/VCN), но поддержка AMD транскодирования на Linux в Plex и Jellyfin ограничена и менее надежна, чем у Intel или NVIDIA. Jellyfin имеет экспериментальную поддержку VAAPI для AMD, но Intel Quick Sync по-прежнему более эффективен и лучше поддерживается. Пропустите графические процессоры AMD для транскодирования.
### 4. Аппаратное транскодирование на ЦП — избегайте, если возможно
Без аппаратного транскодирования ЦП выполняет всю работу в программном обеспечении. Современный 8-ядерный процессор может обрабатывать 2-3 одновременных транскода 1080p — используя 100% ЦП и потребляя 65-125W энергии. Intel N100 с Quick Sync справляется с той же нагрузкой при 6W. Всегда используйте аппаратное транскодирование.

Plex против Jellyfin: Различия в транскодировании

Функция Plex Jellyfin
Аппаратное транскодирование Нужен Plex Pass ($5/мес. или $120 на всю жизнь) Бесплатно
Intel Quick Sync Поддерживается Поддерживается
NVIDIA NVENC Поддерживается Поддерживается
Intel Arc Поддерживается Поддерживается
Тональное отображение HDR Поддерживается (Intel 12-го поколения и выше) Поддерживается (Intel 12-го поколения и выше)
Декодирование AV1 Поддерживается Поддерживается
Jellyfin бесплатен. Plex требует Plex Pass ($5/месяц или $120 на всю жизнь) для аппаратного транскодирования. Если аппаратное транскодирование является приоритетом, и вы не хотите платить, Jellyfin — ваш выбор. Смотрите наше сравнение Plex и Jellyfin.

Настройка аппаратного транскодирования

Intel Quick Sync в Docker

Для Plex и Jellyfin, работающих в Docker, необходимо передать устройство графического процессора Intel в контейнер:

services:
  jellyfin:
    image: jellyfin/jellyfin:10.11.6
    container_name: jellyfin
    devices:
      - /dev/dri:/dev/dri  # Intel Quick Sync
    group_add:
      - "109"  # группа рендеринга (проверьте с помощью: getent group render)
    volumes:
      - jellyfin_config:/config
      - /path/to/media:/media:ro
    ports:
      - "8096:8096"
    restart: unless-stopped

volumes:
  jellyfin_config:

Проверьте, доступен ли графический процессор внутри контейнера:

docker exec jellyfin ls -la /dev/dri

Вы должны увидеть renderD128 — это устройство Quick Sync.

Intel Quick Sync в Proxmox LXC

Если вы запускаете Jellyfin или Plex в контейнере Proxmox LXC, добавьте устройство графического процессора в конфигурацию LXC:

lxc.cgroup2.devices.allow: c 226:* rwm
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir

Графический процессор NVIDIA в Docker

Установите NVIDIA Container Toolkit, затем добавьте графический процессор в ваш Docker Compose:

services:
  plex:
    image: lscr.io/linuxserver/plex:1.43.0
    container_name: plex
    runtime: nvidia
    environment:
      NVIDIA_VISIBLE_DEVICES: all
      NVIDIA_DRIVER_CAPABILITIES: compute,video,utility
    # ... остальная часть конфигурации

Потребление энергии и стоимость

Настройка Потребление в режиме ожидания Потребление при транскодировании Месячные расходы (24/7)
Мини-ПК N100 (Quick Sync) 6-8W 10-15W $0.70-$1.10
Мини-ПК N305 (Quick Sync) 10-15W 20-30W $1.10-$2.20
N100 + Intel Arc A380 15-20W 50-90W $1.40-$6.50
i5-12400 + Arc A380 30-50W 100-150W $2.60-$13.10
i7 (программный транскод) 30-50W 100-175W $2.60-$15.30
На основе средней стоимости электроэнергии в США $0.12/кВтч.
N100 имеет абсурдную эффективность. Он транскодирует 4K потоки при общей мощности системы 10-15W. То же самое рабочая нагрузка на чисто программной установке потребляет в 10 раз больше электроэнергии.

Сколько потоков вам на самом деле нужно?

Будьте честны в отношении вашего использования перед покупкой:
* Наедине/пара, локальная трансляция: максимум 1-2 потока. N100 — это избыточно. Даже Raspberry Pi 5 может воспроизводить большинство контента напрямую.
* Семья из 4-х человек, локальная + удаленная трансляция: 2-4 потока. N100 с этим справляется без труда.
* Совместно с друзьями/семьей, 5-10 удаленных пользователей: 5-10 транскодов. N100 на грани возможностей, N305 — комфортно.
* Общий доступ Plex с 15+ пользователями: 10-20 транскодов. Область выделенного графического процессора — Intel Arc A380 или NVIDIA P2000.

Совет: Оптимизируйте свою медиабиблиотеку в первую очередь. Если вы кодируете свои медиа как H.264 или H.265 с аудио AAC, большинство современных клиентов могут воспроизводить напрямую — снижая потребность в транскодировании практически до нуля. Tdarr или Handbrake могут пакетно конвертировать вашу библиотеку.

FAQ

Использует ли Direct Play аппаратное транскодирование?

Нет. Direct play отправляет оригинальный файл клиенту без серверной обработки. Он не использует ЦП и не использует графический процессор. Аппаратное транскодирование активируется только тогда, когда серверу необходимо конвертировать видеоформат для клиента, который не может воспроизвести оригинал.

Нужен ли мне Plex Pass для аппаратного транскодирования?

Да, для Plex. Аппаратное транскодирование — это функция Plex Pass (5 долларов в месяц или 120 долларов пожизненно). Без Plex Pass Plex использует только программное транскодирование (ЦП). Jellyfin предлагает бесплатное аппаратное транскодирование без барьеров для оплаты.

Могу ли я транскодировать на Raspberry Pi?

Raspberry Pi 5 имеет аппаратный декодер H.265, но не имеет аппаратного кодека. Он может воспроизводить большинство контента напрямую, но не может транскодировать. Для выделенного сервера транскодирования используйте мини-ПК Intel N100 вместо этого — он стоит на 20-30 долларов больше и обладает значительно большими возможностями.

Intel Quick Sync против NVIDIA NVENC — что лучше?

Для саморазмещения выигрывает Intel Quick Sync. Он интегрирован в ЦП (графический процессор не нужен), потребляет меньше энергии (6 Вт против 75 Вт и более) и дешевле (не нужно покупать графический процессор). NVENC обеспечивает слегка лучшее качество при одинаковой битрейте, но разница незначительна для потокового вещания в реальном времени.

Связанные