Jellyfin

Jellyfin - стриминговый сервер, позволяющий организовать стриминг кинчиков, сериальчиков. Так же имеет фунционал для организации стриминга музыки и даже чтения книжек/комиксов, но удобство использования последних оставляет желать лучшего.

Поддерживает рендер видео на лету используя ресурсы CPU, что долго и ориентировано на 1 пользователя максимум, или же использование аппаратного рендера средствами QuickSync, VA-API, NVENC. По видеокарточкам - Nvidia GTX 1050 и выше, по QuickSync - Intel CPU 9 поколение+ желательно (Но без индекса F).

Установка с пакета (но через скрипт)

В debian/ubuntu - лучших традициях через внешний sh скрипт

curl https://repo.jellyfin.org/install-debuntu.sh | sudo bash
sudo bash install-debuntu.sh

Установка через бинарник

Создадим папку и перейдем

sudo mkdir /opt/jellyfin
cd /opt/jellyfin

Находим на странице репозитория ссылку на последнюю версию и копируем tar.gz. Далее скачаем и распакуем. После распаковки создадим символическую ссылку и создадим папки.

sudo wget https://repo.jellyfin.org/files/server/linux/latest-stable/amd64/jellyfin_10.10.7-amd64.tar.gz
sudo tar xvzf jellyfin_10.10.7-amd64.tar.gz
sudo ln -s jellyfin_10.10.7 jellyfin
sudo mkdir data cache config log

Бинарник готов, осталось организовать FFmpeg. В связке с Jellyfin рекомендуется использовать кастомный билд который можно взять так же в репозитории. В моем случае это Debian, поэтому просто находим deb пакет и ставим.

wget https://repo.jellyfin.org/files/ffmpeg/debian/latest-7.x/amd64/jellyfin-ffmpeg7_7.1.1-2-bookworm_amd64.deb
sudo dpkg -i jellyfin-ffmpeg7_7.1.1-2-bookworm_amd64.deb

Создадим скрипт jellyfin.sh который будет запускаться как сервер

#!/bin/bash
JELLYFINDIR="/opt/jellyfin"
FFMPEGDIR="/usr/share/jellyfin-ffmpeg"

$JELLYFINDIR/jellyfin/jellyfin \
 -d $JELLYFINDIR/data \
 -C $JELLYFINDIR/cache \
 -c $JELLYFINDIR/config \
 -l $JELLYFINDIR/log \
 --ffmpeg $FFMPEGDIR/ffmpeg

Файлу дадим права на запуск и назначим пользователя:

sudo chown -R user:group *
sudo chmod u+x jellyfin.sh

Далее создаем systemd службу которая будет запускаться автоматически при старте системы. Создадим файл /etc/systemd/system/jellyfin.service

[Unit]
Description=Jellyfin
After=network.target

[Service]
Type=simple
User=youruser
Restart=always
ExecStart=/opt/jellyfin/jellyfin.sh

[Install]
WantedBy=multi-user.target

По классике перезагружаем демон systemd и запускаем. Так же не забываем поставить на автостарт

sudo systemctl daemon-reload
sudo systemctl enable jellyfin.service
sudo systemctl start jellyfin.service
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9