Добавить в корзинуПозвонить
Найти в Дзене

Медиа сервер на базе Seafile + Emby

Я уже давно пользуюсь домашним облаком Seafile, которое развёрнуто дома на виртуальном сервере Ubuntu 18. Seafile — это личное хранилище для хранения данных в стиле Dropbox. Seafile — замечательный инструмент для создания личного, семейного или корпоративного файлового хранилища. Не очень сложен в установке и настройке. Бесплатен. Seafile — личное хранилище Продолжаю тему развёртывания домашнего медиа сервера на базе Seafile. Цепочка Seafile → Fuse → DLNA позволила настроить медиа сервер с пакетом MiniDLNA. DLNA (Digital Living Network Alliance) — набор стандартов, которые позволяют передавать и воспроизводить в реальном времени фото, видео и аудио файлы по домашней сети. Поддерживается проводная (Ethernet) и беспроводная (Wi-Fi) связь. Это решение обладало рядом недостатков и достоинств, подробнее здесь: Медиа сервер на базе Seafile + MiniDLNA Теперь я решил рассмотреть в качестве DLNA сервера бесплатный медиа сервер Emby. Для настройки медиа сервера нужно решить две задачи: По отдель
Оглавление

Я уже давно пользуюсь домашним облаком Seafile, которое развёрнуто дома на виртуальном сервере Ubuntu 18.

Seafile — это личное хранилище для хранения данных в стиле Dropbox. Seafile — замечательный инструмент для создания личного, семейного или корпоративного файлового хранилища. Не очень сложен в установке и настройке. Бесплатен.

Seafile — личное хранилище

Продолжаю тему развёртывания домашнего медиа сервера на базе Seafile. Цепочка Seafile → Fuse → DLNA позволила настроить медиа сервер с пакетом MiniDLNA.

DLNA (Digital Living Network Alliance) — набор стандартов, которые позволяют передавать и воспроизводить в реальном времени фото, видео и аудио файлы по домашней сети. Поддерживается проводная (Ethernet) и беспроводная (Wi-Fi) связь.

Это решение обладало рядом недостатков и достоинств, подробнее здесь:

Медиа сервер на базе Seafile + MiniDLNA

Теперь я решил рассмотреть в качестве DLNA сервера бесплатный медиа сервер Emby.

-2

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

  1. Получить доступ к данным Seafile как в обычной файловой системе.
  2. Поднять DLNA сервер.

По отдельности про решение этих двух задач можно почитать здесь:

В Seafile данные не хранятся в виде файлов а разбиты на блоки. Это позволяет эффективно использовать механизм дедупликации данных. Но для предоставления данных серверу DLNA эти блоки нужно превратить в обычные файлы. Для этого используется расширение seaf-fuse. Seaf-fuse является реализацией виртуальной файловой системы FUSE. Этот скрипт монтирует всё содержимое Seafile в папку (которая называется "mount point"), так что мы получаем доступ ко всем файлам Seafile так же, как к обычной папке на сервере.

https://manual.seafile.com/extension/fuse/

Доступ к зашифрованным папкам с помощью seaf-fuse не предоставляется, поэтому библиотеку с фильмами не шифруем. Данные доступны только для чтения, это нам подходит. В debian/centos для монтирования папки FUSE пользователь должен быть в группе "fuse".

Как использовать seaf-fuse

Создаём точку монтирования, назначаем владельцем пользователя, от имени которого работает seafile:

mkdir /opt/seafile-fuse
chown sf\: /opt/seafile-fuse

У меня Ubuntu, поэтому для монтирования директории пользователь должен быть участником группы fuse. Создадим группу и добавим в неё пользователя:

groupadd fuse
usermod -aG fuse sf
-3

Для проверки можно запустить скрипт seaf-fuse от имени пользователя, под которым работает seafile:

/opt/seafile-server-latest/seaf-fuse.sh start /opt/seafile-fuse

В папке /opt/seafile-fuse появится содержимое Seafile. Теперь мы можем получить путь к папке с фильмами, например:

/opt/seafile-fuse/user@example.com/5403ac56-5552-4e31-a4f1-1de4eb889a5f_Video

Для остановки монтирования:

/opt/seafile-server-latest/seaf-fuse.sh stop

По умолчанию доступ к содержимому имеет пользователь root, дадим доступ всем пользователям сервера. Редактируем файл /etc/fuse.conf. Раскомментируем опцию:

user_allow_other
-4

Для проверки можно запустить скрипт seaf-fuse от имени пользователя, под которым работает seafile, с параметрами:

/opt/seafile-server-latest/seaf-fuse.sh start -o allow_other /opt/seafile-fuse

В папке /opt/seafile-fuse появится содержимое Seafile. Доступ к содержимому имеют все пользователи.

Автоматизируем запуск seaf-fuse

Запуск служб Seafile у меня уже автоматизирован:

Seafile — автозапуск

Добавим автозапуск seaf-fuse в systemd.

${seafile_dir} — измените переменную на путь к вашей директории Seafile. У меня /opt.
User и Group — измените на своего пользователя и группу.

Работаем под рутом. Создаём сервис seafile-fuse:

sudo vim /etc/systemd/system/seafile-fuse.service

Сервис будет запускаться после seafile и seahub. Содержимое:

[Unit]
Description=Seafile fuse
After=network.target seafile.service seahub.service

[Service]
Type=forking
ExecStart=${seafile_dir}/seafile-server-latest/seaf-fuse.sh start -o allow_other /opt/seafile-fuse
ExecStop=${seafile_dir}/seafile-server-latest/seaf-fuse.sh stop
LimitNOFILE=infinity
User=sf
Group=sf

[Install]
WantedBy=multi-user.target

Настраиваем автозагрузку:

systemctl daemon-reload
systemctl enable seafile-fuse
-5

Проверяем:

systemctl start seafile-fuse
systemctl status seafile-fuse
-6

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

Emby

Emby представлен в двух реализациях, бесплатной и Emby Рremiere. Платная версия поддерживает работу с мобильными клиентами, облачную синхронизацию, эфирное ТВ и ещё какой-то функционал. Помимо DLNA мы получим полноценный web GUI с возможностью просмотра фильмов через браузер.

Ссылки

https://emby.media

Установка Emby на Ubuntu 18

Заходим на официальный сайт.

-7

Тыкаем по ссылкам (DOWNLOAD) и находим инструкцию для установки медиа сервера на Ubuntu.

https://emby.media/linux-server.html

Инструкция лаконична:

Ubuntu X64

  1. dpkg -i emby-server-deb_4.6.4.0_amd64.deb
  2. Open a web browser to http://localhost:8096

Я буду устанавливать последнюю стабильную версию Emby 4.6.4.0.

После установки веб-инретфейс для настройки доступен по адресу http://localhost:8096 или https://localhost:8920.

Скачиваю пакет:

cd /tmp
wget https://github.com/MediaBrowser/Emby.Releases/releases/download/4.6.4.0/emby-server-deb_4.6.4.0_amd64.deb
-8

Устанавливаю пакет:

dpkg -i emby-server-deb_4.6.4.0_amd64.deb
-9

Всё установилось без проблем. Проверяю работающий порт 8096:

netstat -tanu | grep 8096
-10

Порт работает, дальнейшую настройку можно производить в браузере:

http://localhost:8096
-11

Проходим квест по первоначальной настройке сервера.

-12

При создании библиотеки указываем путь к видео, который мы создали с помощью seaf-fuse, например:

/opt/seafile-fuse/user@example.com/5403ac56-5552-4e31-a4f1-1de4eb889a5f_Video

В итоге получаем работающий медиа сервер, который распознаёт фильмы и скачивает привьюшки.

-13

Фильмы отлично проигрываются в браузере.

-14

Emby по DLNA

Но меня больше интересует, что из себя представляем Emby в качестве DLNA сервера. За это отвечает встроенный DLNA плагин. Настройки DLNA.

-15

Здесь нужно выбрать пользователя по умолчанию, чьи библиотеки будут транслироваться по DLNA.

Стоит обратить внимание на вкладку "Profiles".

-16

Здесь можно выбрать профиль по умолчанию для DLNA сервера. Я выбрал LG Smart TV. Выбираем системный профиль, нажимаем OK. Далее настройки профиля можно переопределить.

Результат работы на телевизоре LG

Захожу в SmartShare.

-17

Перехожу к устройствам. Обнаружен наш сервер.

-18

Папки и файлы читаются.

-19

Очень радует наличие превьюшек. Дети быстро научились пользоваться Emby на телевизоре.

-20

Фильм проигрывается. Субтитры есть. Аудиодорожки выбираются.

Результат работы на стареньком телевизоре Philips

И облом, не работает там ничего! Медиа сервер отображается, но папки выводятся в бесконечном цикле, памяти не хватает и телевизор перестаёт работать. Удалось поймать кадр:

-21

Я пытался использовать различные профили, но ничего не помогло. Нашёл на форуме такую же проблему у людей:

https://emby.media/community/index.php?/topic/71673-emby-dlna-play-to-philips-32pfs580312-not-working/page/2/

I have about the same issue on a Philips TV. I have 2 LGs and none have this problem.
When I activate DLNA in the TV, I can see the server, then I access the server and I see an infinite list of folders. I actually have only one Library, named "Joaqui" (my sons name) but in the list I see that name repeated infinitely, and that seems to crash the TV app. I have to power off and on the TV to see DLNA again.

Проблему скорее всего не исправят, это печально.

Результаты

На базе домашнего облака Seafile + Emby получилось сделать домашний медиа сервер. Работу фотографий и музыки я не тестировал.

Минусы

  • DLNA на Philips не заработало!
  • По умолчанию содержимое медиа библиотеки обновляется раз в 12 часов. Однако, содержимое папки можно обновить вручную через web GUI.
  • Иногда при входе в папку по DLNA на телевизоре не отображается содержимое, приходится выходить и снова входить.
  • Нет встроенной возможности запустить emby под нужным пользователем, так что seaf-fuse монтируем только с доступом на чтение всем пользователям.

Плюсы

  • Фильмы по DLNA заработали на телевизоре LG. Есть превьюшки.
  • Emby и Seafile не требовательны к ресурсам, процессор и память сильно не жрут.
  • Есть кодирование на лету. Вот тогда могут использоваться ресурсы.
  • Есть красивый web интерфейс с возможностью просмотра фильмов.
  • Содержимое папки можно обновить вручную через web GUI.
  • Потенциально можно настроить IP TV.
  • А ведь можно запустить несколько разных серверов DLNA, у меня вместе работает Emby и MiniDLNA.

Заметки

  • Фильмы высокого качества по Wi-Fi тормозят, нужно подключать телевизор к проводной сети Ethernet.
  • Часто фильмы не распознаются или распознаются неправильно, пришлось научиться распознавать фильмы.
  • Фильм DVD на телевизоре отобразился, но выбрать правильную аудио дорожку и субтитры не удалось.
  • Реклама Emby Premiere задолбала.

В целом впечатление от Emby хорошее. Связка Seafile + Emby + MiniDLNA (только для Philips TV) решила почти все поставленные задачи. Я буду пробовать и другие медиа серверы с поддержкой DLNA, ждите новый статей.

Источник:
https://internet-lab.ru/seafile_mediaserver_emby

💰 Поддержать проект

Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.