Если вы когда-либо хотели настроить собственный медиасервер для хранения фильмов, сериалов или музыки, вам понадобится Jellyfin. С его помощью можно упорядочивать и просматривать фильмы и сериалы, а также слушать музыку. Кроме того, Jellyfin запоминает, какие фильмы вы уже посмотрели, и серию сериала, на которой вы остановились.
Программа работает на отдельном сервере и позволяет транслировать контент на различные устройства в локальной сети, например на Smart TV или смартфон с помощью Android-приложения. В статье рассмотрим, как выполнить простую установку и настройку Jellyfin с помощью Docker Compose, как создать библиотеку для медиафайлов, настроить загрузку субтитров и другие базовые вещи.
Содержание статьи
- Что такое Jellyfin?
- Какое аппаратное обеспечение необходимо?
- Где брать фильмы?
- Установка Jellyfin с Docker Compose
- Первая настройка Jellyfin
- Выводы
Что такое Jellyfin?
Jellyfin — это медиасервер с открытым исходным кодом, написанный на C#, который можно установить на домашнем сервере и стримить с него фильмы, сериалы или даже музыку на другие устройства. Это форк медиасервера Emby, который был создан после того, как Emby стал проприетарным.
Программа поддерживает аккаунты для нескольких пользователей, имеет приложение для Android, которое позволяет получать доступ к медиафайлам как с телефона, так и со Smart TV. И это довольно удобно.
Какое аппаратное обеспечение необходимо?
Сам по себе этот медиасервер не очень требователен к ресурсам. Если вы не собираетесь транскодировать медиафайлы в различные форматы, то программа будет работать на большинстве старых ПК или ноутбуков и даже на Raspberry Pi. Вот минимальные требования к аппаратному обеспечению, указанные на официальном сайте:
- Оперативная память: 4 ГБ.
- Процессор: Intel Core i5-2300, AMD FX-8100 или новее.
- Накопитель: рекомендуется SSD для файлов программы и метаданных.
- Интернет-соединение: необходимо для комфортного удаленного доступа.
Для перекодирования файлов желательно иметь видеокарту Nvidia или Intel и более мощный процессор:
- Оперативная память: 8 ГБ.
- Процессор: Intel Core i5-11400, Intel Pentium Gold G7400, Intel N100, Apple M или новее.
- Видеокарта: Intel Arc A, NVIDIA GTX16/RTX20 или новее.
Перекодирование необходимо, когда ваше устройство не поддерживает формат медиафайла. Тогда Jellyfin может сконвертировать файл в нужный формат. Но если вы будете использовать современные форматы файлов и современные устройства для воспроизведения медиа, то перекодирование не понадобится. В этой статье мы не будем рассматривать настройку перекодирования.
Где брать фильмы?
Самый простой относительно легальный способ получения фильмов для Jellyfin — это фильмы, которые продаются на DVD-дисках. Раньше таких фильмов было очень много, да и сейчас они никуда не делись. Даже современные сериалы можно найти на дисках на eBay и других площадках. Конечно, это можно делать только для персонального использования, и эти данные нельзя копировать и распространять.
Донедавна фильмы без DRM можно было купить на GOG.com. Также есть много фильмов и телепередач, доступных публично на Archive.org, которые можно загрузить вручную или с помощью Parabolic. Но обращайте внимание на законодательство страны, в которой вы находитесь.
Установка Jellyfin с Docker Compose
В этой статье я покажу, как установить Jellyfin на отдельный компьютер, который находится в сети. В данном случае это будет компьютер с IP-адресом 192.168.122.202. Поэтому перед тем, как разворачивать приложение, подключитесь к серверу через SSH. Замените IP-адрес и имя пользователя в команде на свои:
ssh serhii@192.168.122.202
Самый простой способ установить Jellyfin — использовать Docker-контейнер от LinuxServer. Это не официальный образ, но он содержит все необходимое и требует минимум конфигурации. Таким образом вы получаете полностью функциональное и настроенное приложение, и вам останется только настроить библиотеку фильмов. Для этого используйте такой docker-compose.yaml:
vi docker-compose.yaml
---
services:
jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
container_name: jellyfin
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Kyiv
volumes:
- ./data/config:/config
- ./data/movies:/data/movies
- ./data/series:/data/series
ports:
- 8096:8096
- 8920:8920
- 7359:7359/udp
- 1900:1900/udp
restart: unless-stopped
Обратите внимание на строки PUID и PGID: в них стоит прописать ID вашего пользователя и ID его группы. Часто, если это первый пользователь в системе, его ID будет 1000. Проверить ID можно с помощью команды:
id
Это необходимо для того, чтобы приложение имело доступ к файлам фильмов, которые вы будете создавать. Также перед запуском контейнера создайте каталоги, которые будут монтироваться в контейнер. В этом примере у нас есть три каталога: config для сохранения конфигурации, movies и series для библиотек фильмов и сериалов соответственно:
mkdir -p ./data/{config,movies,series}
Теперь можно запустить Jellyfin. Для этого выполните:
docker compose up
Если все работает, процесс можно остановить и запустить его в фоновом режиме:
docker compose up -d
После этого Docker сам будет управлять процессом и запускать его автоматически после перезагрузки компьютера. Теперь можно переходить к настройке. Для этого нужно открыть веб-интерфейс приложения в браузере, который будет доступен на порту 8096.
Первая настройка Jellyfin
В нашем случае веб-интерфейс можно открыть по адресу http://192.168.122.202:8096. У вас адрес может отличаться, поскольку это должен быть адрес вашего сервера, на котором вы разворачивали программу.
Шаг 1. Имя сервера и локаль
На первом шаге нужно ввести имя сервера, а также выбрать язык. Здесь доступно множество локализаций, в том числе русская и украинская. Но я оставляю английский:
Шаг 2. Создание пользователя
На втором шаге необходимо создать первого пользователя, который будет управлять всем в программе. Дополнительных пользователей можно будет создать позже:
Шаг 3. Библиотека фильмов
Далее нужно добавить папки, в которых будут храниться ваши медиафайлы. Начнем с фильмов. Нажмите кнопку со значком плюса и надписью Add Media Library:
Затем выберите тип контента Movies:
Затем нажмите значок плюса в разделе Folders и выберите папку /data/movies, которую мы монтировали в контейнер из файловой системы сервера:
После этого нажмите кнопку OK, чтобы добавить библиотеку, и она появится в списке:
Шаг 4. Библиотека сериалов
Прямо здесь можно добавить еще одну библиотеку для сериалов. Для этого снова нажмите кнопку с плюсом:
А затем выберите тип медиа Shows:
В разделе Folders добавьте папку /data/series и нажмите OK:
Jellyfin также поддерживает аудиофайлы и книги. Теперь у вас есть две библиотеки. Разные библиотеки нужны для разных типов медиа, потому что они имеют разную структуру папок и разную функциональность в программе. Мы рассмотрим это позже.
Шаг 5. Локализация метаданных
Jellyfin автоматически загружает метаданные для всех файлов фильмов, которые найдет в каталогах библиотеки. На этом шаге можно настроить язык и региональные стандарты для метаданных. Я оставляю English и United States:
Шаг 6. Удаленный доступ
И на последнем шаге необходимо оставить отметку Allow remote connections to this server активной, чтобы к серверу можно было подключиться удаленно:
И все: настройка завершена, достаточно нажать кнопку Finish:
Шаг 7. Авторизация
Теперь можно авторизоваться, используя имя пользователя, созданного на втором шаге, и перед вами откроется информационная панель программы:
Здесь пока что пусто, потому что мы не добавили медиафайлов. Самое время это сделать.
Шаг 8. Отключение транскодирования
Если вы запустили Jellyfin на устройстве с небольшим объемом оперативной памяти и не очень мощным процессором, транскодирование лучше отключить. Для этого откройте Settings:
Затем откройте Dashboard:
Здесь перейдите в раздел Users и в контекстном меню для пользователя выберите Edit User:
После этого нужно снять флажки с Allow audio playback that requires transcoding и Allow video playback that requires transcoding:
После этого, если вы попробуете, будучи авторизованным от имени этого пользователя, открыть медиа, которое нужно транскодировать, вы получите ошибку.
Шаг 9. Добавление фильмов
Jellyfin не имеет функции загрузки фильмов через веб-интерфейс, поэтому для того, чтобы это заработало, вам нужно поместить фильмы в папку на сервере. Я не буду рассказывать в этой статье, как настроить общий доступ к файлам. Это может быть Samba, FTP, NFS или даже копирование через SSH с помощью scp. Но важна структура. Нельзя размещать файлы прямо в корневом каталоге библиотеки. Для каждого фильма/видео нужно создать отдельную папку, а уже в эту папку поместить файлы. Например, для фильма Kung Fury это будет выглядеть вот так:
После того как вы добавили файлы фильмов, зайдите в Dashboard и нажмите кнопку Scan All Libraries, чтобы обновить файлы в библиотеке:
После этого фильм появится на главной странице, и для него загрузятся все доступные метаданные:
Сама страница фильма выглядит вот так:
А начать воспроизводить фильм в браузере можно с помощью кнопки воспроизведения.
Шаг 10. Добавление сериалов
Для сериалов структура размещения файлов схожа, но каждый сезон должен находиться в своем подкаталоге. Например, первый сезон — в Season 01, второй — в Season 02 и так далее:
Кроме того, есть требования к названиям серий. Желательно, чтобы имя каждого файла также содержало название и номер сезона и серии. Например: "Название сериала (год) S01E01 Название серии". После добавления файлов не забудьте пересканировать библиотеку медиа.
Шаг 11. Сохранение истории действий
Функциональность Jellyfin можно значительно расширить с помощью плагинов. Для того чтобы установить плагин, откройте Dashboard, затем раздел Plugins и перейдите на вкладку Available:
Здесь можно посмотреть доступные плагины или воспользоваться поиском. Давайте установим плагин Playback Reporting, который будет сохранять информацию о том, что и когда вы смотрели. Перейдите на страницу плагина и нажмите Install:
После установки плагинов иногда нужно перезапустить Jellyfin. Для этого перейдите в Dashboard и нажмите Restart:
После этого плагин будет установлен, а в настройках появится раздел Playback Reporting, где можно будет посмотреть, какой пользователь что смотрел и на каком устройстве:
Шаг 12. Автоматическая загрузка субтитров
По умолчанию Jellyfin не умеет загружать субтитры. Но это можно исправить. Для этого вам понадобится плагин Open Subtitles и аккаунт на одноименном сервисе. Плагин можно установить в настройках, как показано выше:
Далее зарегистрируйтесь на сайте https://opensubtitles.org/. Сервис имеет платную подписку, но в бесплатном тарифе можно загружать 20 файлов субтитров в день. После регистрации перейдите в плагины, найдите Open Subtitles, нажмите Settings на странице плагина и там введите свой логин и пароль с OpenSubtitles:
После этого вы сможете загружать субтитры на странице фильма. Но сначала вам нужно узнать фреймрейт. Для этого нажмите кнопку с тремя точками возле фильма и выберите Media Info.
Тут есть поле Framerate. В данном случае это 25.
Необходимо, чтобы фреймрейт фильма совпадал с фреймрейтом субтитров, иначе они будут рассинхронизироваться. Если фильм имеет какой-то нестандартный фреймрейт, то вы можете его исправить с помощью ffmpeg перед загрузкой фильма на сервер или уже в терминале сервера. Можно использовать такую команду, чтобы сделать фреймрейт 25, если он не 25:
ffmpeg -i ./source_file.mp4 -filter:v fps=25 ./result_file.mp4
Если вы замените файл в библиотеке, вам нужно будет пересканировать саму библиотеку медиа. Далее в том же меню выберите Edit Subtitles.
В новом окне выберите язык и нажмите кнопку поиска:
После этого выберите файл субтитров с соответствующим фреймрейтом и нажмите кнопку со значком загрузки. Если первый файл не подошел, возможно, придется попробовать несколько. После того как файл будет загружен, вы можете выбрать его в плеере, и тогда субтитры начнут отображаться:
Настройка Android-приложения
Все это не было бы так интересно, если бы нельзя было стримить фильмы с Jellyfin на смартфон или телевизор. Jellyfin имеет официальное приложение, которое можно установить на ваше устройство и просматривать видео с него. Само приложение можно найти на Google Play или на F-Droid
После установки программы необходимо указать URL вашего сервера. В нашем случае будет использоваться тот же URL, что и в браузере, только порт указывать не нужно.
Далее нужно авторизоваться, используя данные пользователя, которого вы создали ранее:
После этого можно открывать фильмы и начинать их смотреть. Например, можно продолжить смотреть с того же места, на котором вы остановились на другом устройстве:
Выводы
В этой статье мы рассмотрели, как выполняется простая установка и настройка Jellyfin на домашнем сервере. Если вы хотите больше удобства при просмотре фильмов, но не хотите пользоваться Netflix, то это неплохое решение.












































У меня jellyfin сервер отлично работает на intel atom без видеокарты и на 2 гб оперативы. Остановился на версии 10.10.7 - вроде это последняя версия, которая использует нативный ffmpeg. Более новые версии используют собственный форк ffmpeg, который у меня перегружает систему. Пробовал все виды домашних серверов, даже платные, jellyfin работает стабильнее и удобнее остальных.
>>> Где брать фильмы?
Самое главное - ни в коем случае не пользоваться торрентами. Оттуда фильмы качают только плохие люди, у которых на компьютере стоит нелицензионная Windows
Наверное установка будет еще проще если на сервер с самого начала поставить yunohost))