Видеокарта для Jellyfin

Доброго времени суток.
Собрал себе домашний сервер под Jellyfin со следующими характеристиками:

  1. Материнская плата - MSI H61M-P31/W8;
  2. Процессор - Intel(R) Core™ i3-3220 CPU @ 3.30GHz;
  3. Память - 16 Гб;
  4. SSD Samsung на 256 Гб под систему;
  5. HDD Seagate IronWolf Pro на 6 Тб;
  6. Операционная система - OpenMediaVault 7 на основе Debian Linux.

Jellyfin установлен в Docker. Прекрасно работают фильмы в разрешении не более 1080p. Разрешение 2K, 4K (кодек HEVEC) приводят к 100% загрузке процессора и росту температур. Для разгрузки процессора можно использовать видеокарту для аппаратного ускорения. Присматриваюсь к Quadro K4000 3GB. Подойдёт ли данная карта для Jellyfin и снизит нагрузку на процессор или лучше рассмотреть P400? Дополнительно в Jellyfin нужно будет её настраивать?

Спасибо

Я бы больше смотрел в сторону потоковой передачи, по каким именно причинам приходится перекодировать видео?
Встройку пробовали активировать? хотя, сомневаюсь, что она потянет 4k hevc

Перекодировка отключена в сервисе. При пррсмотре любого 4k увидел загрузку пррцессора на 100%, после вычитал в интернете, что нужна хорошая видеокарта.
Уверен, что встройка не потянет 4k hevc,
тем не менее надо попробовать.
Как её активировать для проверки?
Так же есть видеокарта Nvidia GT610, но, думаю, что и она не потянет hevc.

Очень странно, надо разбираться, на чем смотрите?
Ну скажем так, 4k hevc довольно трудоемки процесс, N100 у меня тянет, но есть ли смысл? Поэтому и спрашиваю про первопричины.

John.Wick.Chapter.4.2023.2160p.UHDRemux.HDR.DV-TheEqualizer
Container: mp4
Path: John.Wick.Chapter.4.2023.2160p.UHDRemux.HDR.DV-TheEqualizer.mp4
Size: 75832 MB
Title: 4K HEVC Dolby Vision Profile 8.1 (HDR10)
Codec: HEVC
Codec tag: hev1
AVC:  No
Profile: Main 10
Level: 153
Resolution: 3840x2160
Aspect ratio: 16:9
Anamorphic: No
Interlaced:No
Framerate: 23.976025
Bitrate: 51009 kbps
Bit depth: 10 bit
Video range: HDR
Video range type: DOVIWithHDR10

Просмотр на десктопе в фирменной приложениии

2 ядра N100


Тут первый пик был в когда я аутентифицировался в приложении и поиском находил фильм, дальше загрузка держится в районе 2%

Теперь этот же фильм открываю в браузере


Загрузка процессора 30%

Т.е. если смотреть видео в браузере, то перекодирует в нужный формат

А еще можно выбрать качество видео

Например, на Android TV у меня был прикол такой, что автоматом выбирает, что битрейт хочет 60 Mbps, а файл у меня 61 Мб и плеер такой: слушай JellyFin, а давай ка мне hevc 4k перекодируй на лету с 61 до 60 Mbps, фигли, мне моча в голову ударила вот именно сегодня.

Поставил принудительно 120 или 200 и файл начал отдаваться без перекодирования


Для vainfo можно попробовать выполнить такую команду

/usr/lib/jellyfin-ffmpeg/vainfo --display drm --device /dev/dri/renderD128

Но это у меня

Итого: видеокарта при воспроизведении нужна при проигрывании на дровах (отличный твбокс стоит 5780, я на распродаже за 4200 брал) или для мобильных устройств через мобильный интернет (я пробовал смотреть в парке Джона Уика через wg тоннель

С другой стороны, если дома слабый wifi и куча мобильных телефонов/планшетов, то зачем качать в таком высоком качестве, чтобы потом перекодировать?

Надо смотреть, чтобы в видеокарте были кодировщики и перекодировщики (т.е. условно декодирует hevc, кодирует в h264)

Понимаю, что вопрос не совсем по теме, но относится к Jellyfin.
Обновился до версии 10.11.0, прописав принудительно в конфигурации Compose файла версию 10.11.0 вместо latest. Обновление прошло почти успешно. Перестало работать распознавание фильмов, так как пропали плагины кинопоиска и TVDB (сайт TVDB тоже перестал открываться). Хотел их заново установить, прописав в плагинах необходимые репозитории. Прописал. Теперь плагины вообще не открываются. Пишет, что появилась ошибка при открытии плагинов. Пробую запустить обновление плагинов вручную через планировщик, задание отменяется, не дойдя и до 1% выполнения. Так же при этом нагревается процессор. Планирую на выходных поменять процессор на I7-2600. Думаю, что с ним получится обновить плагины. Репозитории плагинов можно удалить через файловую систему. Находятся они в файле “System.xml”. Удаление адресов репозиториев из файла и повторное добавление через WEB-интерфейс не даёт положительного результата. Плагины так и не обновляются. Так же перестала обновляться медиатека. Обновление доходит до 97%, сбрасывается и начинается заново. Что необходимо сделать для корректного обновления плагинов?

О, тоже обновился, но у меня .deb вариант установки. В процессе обновления словил ошибку

Устанавливается новая версия файла настройки /etc/default/jellyfin …
failed to find libjemalloc on system

Но потом нормально обновилось, плагины запустились.
Посмотрите логи контейнера и свободные ресурсы

Какой именно лог посмотреть? Пока мало понимаю в них.
Свободных ресурсов много, процессор больше 50% не загружается, оперативной памяти занято 2,14 Гб из 16 Гб.

Контейнера с jellyfin, в зависимости от способа разворачивания можно посмотреть или через docker compose logs или в runtpi или в dockge

Логи скачал, закинул на Яндекс диск: Логи Jellyfin — Яндекс Диск
Посмотрел их. Честно скажу, пока не понял где ошибка сервиса.

I3220 не потянет 4к, встроенное видео тоже не потянет. Сменить платформу или попробовать поискать минимум nVidia 1050(ti), но в любом случае для 4К сильно старая платформа получается. Тут максимум 1080 смотреть/перекодировать.

[16:50:09] [ERR] [7] MediaBrowser.Controller.LibraryTaskScheduler.LimitedConcurrencyLibraryScheduler: Error while performing a library operation
System.Threading.Tasks.TaskCanceledException: The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing.

Чего-то конкретного тоже не нашел

Неужели придётся полностью удалять и заново настраивать Jellyfin? Можно в свежеустановленный Jellyfin подтянуть ранее испльзованную базу?

Спасибо, останусь на 1080 пока.

Ну мой изначальный вопрос по необходимости перекодирования остался, посмотрите где конкретно требуется перекодировать и можно ли от этого отказаться

Я обязательно посмотрю как решу проблему с плагинами. Нужно понять почему репозитории не обновяются. Очень нужна Ваша помощь в данном вопросе.

Ну что бы я попробовал в следующем порядке

  1. Поменять тег на предыдущую версию, которая была до обновления
  2. Если не поможет, то откатить из бэкапа сервис, в моем случае весь LXC контейнер
  3. Попробовать удалить плагины и скачать из заново, там минимальные настройки и можно легко восстановить
  4. Остановить контейнер, запустить в foreground режиме, не знаю как это перевести на русский. docker compose stop; docker compose up при этом логи будут литься прямо в консоль, с Ctl+C остановит контейнеры
  5. Попробовать скопировать вольюмы с данными (не контент) сконфигурировать заново jellyfin. Я вижу следующие каталоги: data, metadata, plugins, root, Subtitle Edit
  6. Попробовать вывести jellyfin в интернет через КВН

откат на предыдущую версию не работает.
Из бэкапа откатить сервис не получится, так как я не сделал бэкап.
Пробовал удалять плагины. Удалить можно, но как только прописываешь путь к стабильному репозиторию, вкладка “Плагины” перестаёт открываться.
Под контейнером имеете ввиду jellyfin?
Для повторной конфигурации jellyfin сначала его необходимо полностью удалить из системы. Как это сделать? Через Docker Compose не удаляется полностью.
Что такое КВН?

Прям при добавлении любого репозитория перестает работать? У меня сейчас так

Под контейнером да, docker контейнер или контейнеры для jellyfin

Хранилище docker состоит из 2х составляющих:

  1. Контейнер - это то, что запускается из docker образа и при наличии соответствующих прав может меняться
  2. Точки монтирования, которые могут быть в каком-то какталоге типа локального есть указывается путь к нему по типу ./data:/var/data или внутри самого докера /var/lib/docker/

1 Часть удаляется простой командой docker compose down, при этом, если есть системные точки монтирования, они удаляются (вроде как)
2 часть если это файлы в локальном каталоге, то их можно просто переминовать по типу mv docker docker_old и запустить сервис, при создании будут созданы новые каталоги.

Если посмотреть в официальной документации, то там такой пример docker-compose.yaml

services:
  jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    user: uid:gid
    ports:
      - 8096:8096/tcp
      - 7359:7359/udp
    volumes:
      - /path/to/config:/config
      - /path/to/cache:/cache
      - type: bind
        source: /path/to/media
        target: /media
      - type: bind
        source: /path/to/media2
        target: /media2
        read_only: true
      # Optional - extra fonts to be used during transcoding with subtitle burn-in
      - type: bind
        source: /path/to/fonts
        target: /usr/local/share/fonts/custom
        read_only: true
    restart: 'unless-stopped'
    # Optional - alternative address used for autodiscovery
    environment:
      - JELLYFIN_PublishedServerUrl=http://example.com
    # Optional - may be necessary for docker healthcheck to pass if running in host network mode
    extra_hosts:
      - 'host.docker.internal:host-gateway'

Тут надо удалить следующие каталоги (а лучше переименовать)

  - /path/to/config
  - /path/to/cache

КВН, это такой 3х буквенный сервис, который позволяет получать доступ к ресурсам, если с доступом есть проблемы, а рекламировать эти сервисы сейчас нельзя

Именно при добавлении из repo.jellyfin.org. С другими репозиториями обновление плагинов завершается успешно, но новых плагинов не появляется.

У меня сейчас docker-compose.yaml выглядми следующим образом:

---
# Date: 2025-06-01
# https://hub.docker.com/r/linuxserver/jellyfin
# https://jellyfin.org/docs/
services:
  jellyfin:
    image: lscr.io/linuxserver/jellyfin:10.11.0
    container_name: jellyfin
    environment:
      - PUID=996
      - PGID=100
      - TZ=Europe/Moscow
      - JELLYFIN_PublishedServerUrl=192.168.0.5 #optional
    volumes:
      - /OMV_Services/jellyfin/library:/config
      - /OMV_Services/jellyfin/librarty:/cache
      - /OMV_Services/jellyfin/tvseries:/data/tvshows
      - /OMV_Services/jellyfin/movies:/data/movies
      - /srv/dev-disk-by-uuid-d2607918-8fa9-4fc5-b42f-f56022b2b631/Media/Films:/Media/Films
      - /srv/dev-disk-by-uuid-d2607918-8fa9-4fc5-b42f-f56022b2b631/Media/Serials:/Media/Serials
      - /srv/dev-disk-by-uuid-d2607918-8fa9-4fc5-b42f-f56022b2b631/Media/Multfilms:/Media/Multfilms
      - /srv/dev-disk-by-uuid-d2607918-8fa9-4fc5-b42f-f56022b2b631/Media/Multserials:/Media/Multserials
      - /srv/dev-disk-by-uuid-d2607918-8fa9-4fc5-b42f-f56022b2b631/Media/Playlists:/Media/Playlists
      - /srv/dev-disk-by-uuid-d2607918-8fa9-4fc5-b42f-f56022b2b631/Media/Music:/Media/Music
    ports:
      - 8096:8096
      - 8920:8920 #optional
      - 7359:7359/udp #optional
      - 1900:1900/udp #optional
    restart: unless-stopped

Попробовал команду “docker compose down” на что получил ответ: “file provided: not found”
Каталоги “config” и “cache” переименовывал, не помогает.

Сегодня взял другой компьютер, с нуля установил OpenMediaVault 7, Docker, Compose и Jellyfin. Получил ту же самую ошибку при обновлении плагинов, когда добавлен репозиторий Jellyfin Stable. Отсюда делаю вывод, что репозиторий заблокирован и доступ можно получить только через КВН(
Можно ли, например, скинуть через файловую систему папки с уже обновлёнными плагинами с другого хоста, например, с хоста KRom?