Как установить serviio на linux

Обновлено: 05.07.2024

Как-то так сложилось, что тег DLNA сервер чаще встречается в постах-вопросах, чем в ответах. И если в вопросах установки на домашний Windows-ПК какой-то пользовательский опыт накоплен, то определиться с выбором ПО для домашнего сервера/NAS-а/медиацентра — оказалось непросто. Распределившись по песочницам народ обособленно решает проблемы каждой программы в отдельности. А понять что из них чего стоит и нужно ли оно вообще — лично мне не удалось.

И вот, я вооружившись ссылкой с Википедии Как выбрать DLNA-сервер под Windows, Mac OS X или Linux — опробовал почти всё, что есть под Linux.

DLNA — его место в домашней сети

  • плазме в гостинной лучше подавать 720p чем FullHD
  • телевизору Sony в детской подключеному по Wi-Fi больше 15Mbit/s лучше не скармливать, H.264 ему нужен максимум Profile 4.1, а файлы на сетевых хранилищах он не видит вообще
  • спутниковый ресивер Openbox не умеет играть звуковые дорожки в DTS, по SMB не тянет больше 30Mbit/s, по NFS-не отображают кириллицу
  • Nokia Lumia и iPhone вообще ограниченны везде и всюду

На что ставить

Домашний компьютер — как правило это Windows-машина. Смотреть фильм с перекодированием пока кто-то играет — не получиться; режима 24/7 нет и близко. На роль не подходит. Поэтому Windows версии программ я даже не рассматривал.
Роутер, прошитый DD-WRT/OpenWRT — есть пакеты для этих прошивок и они работают. Аппаратные ресурсы очень ограничены — транскодирование малореально, скорость доступа к USB порту и сетевым папкам сильно ограничена. Тем не менее — многим и такое подходит.
NAS или домашний сервер с Linux — самое универсальное решение. Программ много. Ограничений по протоколам нет. Производительности x86 процессоров 5-летней давности (в моем случае это Athlon X2-6000) хватает для одновременного перекодирования на-лету двух фильмов любого формата.

Личный опыт, оценка программ

MiniDLNA, uShare и xupnpd
  • смотрите/слушаете только с одного всеядного устройства (такого как телевизор Samsung)
  • Ваше устройство не умеет напрямую брать файлы с сетевых папок или делает это слишком медленно (такое как телевизор Sony Bravia)
  • храните фильмы/музыку на недорогом NAS-е или маршрутизаторе с USB-диском
  • заранее отбираете контент в нужном формате или не ленитесь перекодировать вручную
  • медиа-файлы уже хорошо отсортированы по папкам или Вас это вообще не беспокоит
MediaTomb
  • какие форматы транскодировать, а какие передавать напрямую
  • задать кодировщик по ситуации: ffmpeg, vlc, mplayer или что-то ещё
  • задать bitrate, количество аудио-каналов, профиль H.264 и прочие опции кодирования
  • наложить видеофильтр, такой как обрезание полей или crop
Rygel

Массовый, есть почти везде. Но очень криво ставится в режим демона (нужно самому писать init-скрипт, создавать папки и пользователя). Является частью проекта gnome и тянет за собой gstreamer (а то и pulseaudio). Если у кого на компьютере стоит KDE или что-то другое — совсем неудобен. Иконки для видео генерирует через tumbler из проекта XFCE, да и то с нюансами. Регулярно падает.
До изучения особенностей транскодирования у меня руки не дошли. Мой вердикт — "не годен".

PS3 Media Server

Очень старый проект. И хотя от своего начального применения: «Раздавать фильмы/музыку с домашнего Windows ПК на Sony PS», — проект сильно развился. Но JAVA-код и требования для запуска X-сервера меня от него отвернули.

DLNA-сервер в нём есть. Но держать этот комбайн ради одного лишь модуля глупо.
Тем более, что именно из XBMC родился отдельный проект медиа-сервера Plex.

Universal Media Server

Кривой он какой-то. Показывал мне все дерево каталогов вместо выбранной папки. Файлы открывал лишь некоторые и регулярно сыпал ошибками в консоль. С transconding-ом я вообще не разобрался.
Весьма тяжелый из-за JAVA-кода. Обязательно нужен запущенный X-сервер — демоном его не поставишь. "Не годен."

GMediaServer

Проект заброшен. Внимания не достоин.

LXiMedia

Простая и удобная реализация DLNA-сервера. Достаточно выбрать папки с файлами, жестко задать параметры транскодирования, аудиодорожку, субтитры. Никаких пофилей, настроек. К тому-же это GUI-приложение, демоном не ставиться.
На мой взгляд он в таком виде бесполезен — один из многих и далеко не лучший.

Serviio

Пожалуй самый быстроразвивающийся проект сейчас. Регулярно обновляется. Активно обрастает плагинами, профилями и приложениями под мобильные OS.
Представляет из себя JAVA-приложение работающее демоном. Поддержка DLNA-протокола — полная. Довольно умело разбрасывает контент по папкам и категориям. Умеет создавать превьюшки к фильмам. Легко подключаются разные каналы on-line вещания.
Транскодирует при помощи ffmpeg. База профилей устройств уже достаточно большая (и продолжает пополнятся) — сервер корректно подбирает параметры кодирования для любого из домашних железок. Что не распознал — подобрать профиль или написать свой не сложно.
Из-за того, что используется ffmpeg — та-же проблема, что и в mediatomb — нет перемотки в транскодированном потоке и не меняется аудиодорожка.
Управляется это все либо из JAVA-клиента, либо web-морды, написанной на PHP, либо смартфона (есть приложения под Android и WP).
К сожалению недоступен в виде .deb или .rpm пакета. Нужно ставить вручную: создать папки, пользователя, распаковать, взять на форуме поддержки init-скрипт, прописать в автозапуск". Под Synology NAS есть готовый пакет.
В целом — вполне может стать единой точкой доступа к медиа-контенту дома. Все, что нужно — он умеет.

Skifta

Не включен в Linux-репозитории, а потому редок. Но он имеет графический инсталлятор и несет с собой jre, а потому станет почти в любой системе. Неудобен тем, что запускается в два шага — вначале утилитка в SystemTray, потом — сам media-server. Без иксов и демоном не пойдет. Очень прост и лаконичен, но сильно грузит систему (JAVA-код).

TVMOBiLi
TwonkyServer

Устанавливается распаковкой tar.gz. или через инсталлятор. В Linux репозиториях его нет. Очень быстрый код, мгновенный запуск, удобный web-интерфейс. Хорошо и грамотно раскидывает контент по папкам. Есть готовые init-скрипты. Умеет извлекать из файлов meta-данные и генерировать превьюшки. Все понравилось. Одна беда — $19.95.
И все же: "Рекомендую".

Способен решить любые задачи в рамках темы, при этом бесплатен, стабилен и как ни странно — быстр.

Очень хотелось бы, что-бы кто-то этот список дополнил и/или внес изменения.

Таких программ создано не так чтобы очень много, но и не очень мало, и встаёт вопрос выбора. Есть программы небольшие, но их настройка не очень проста, и возможности минимальны (хотя, возможно, и достаточны) — minidlna (или ReadyMedia) и mediatomb. Но возиться не хотелось, да и эти программы сейчас не развиваются.

Есть Kodi, который может, наверное, всё, но кажется слишком навороченным (внешне чем-то даже напоминает Windows Media Center). Впрочем, я, может быть, предвзято к нему отношусь? Почему? Потому что нашёл, как мне кажется, золотую середину, программу, которая называется Serviio. Программу, которая во-первых, легко настраивается, но после установки — незаметна, во-вторых, имеет достаточно (для меня!) возможностей, не глючит и не падает (за почти два года я не помню ни одного сбоя по вине именно Serviio. Программа также поддерживает Windows и некоторые другие системы.

Забавно то, что два года назад именно из-за необходимости настроить serviio я начал присматриваться к такому дистрибутиву, как Manjaro. Дело в том, что для этой программы требуются ffmpeg и openjdk8. Два года назад установить их в debian- и ubuntu- дистрибутивы было не очень просто — требовалось подключение дополнительных репозиториев, а заниматься этим не очень хотелось. Именно тогда я обратил внимание на Manjaro и Rosa Linux, в которых эти пакеты можно было установить без проблем.

Перечень возможностей Serviio можно найти здесь. Основными возможностями программы можно пользоваться совершенно бесплатно, но автор не будет возражать, если вы приобретёте версию pro всего за $25. Сравнить свободную версию и версию pro можно здесь. Первые две недели после установки программа работает в режиме Pro. Впрочем, у меня желания покупать профессиональную версию не возникло.

Установка

Установить программу можно двумя способами:

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

Но запускать программу вручную, а потом настраивать автозапуск — на мой взгляд, не лучшая идея. Можно запустить serviio как сервис, тем более, что всё необходимое для этого уже готово, достаточно набрать только:

sudo systemctl enable serviio

sudo systemctl start serviio

Всё. Можно переходить к настройке. Мне в этом способе не нравится только одно — serviio будет запускаться от рута, что не очень хорошо, поэтому я использую второй способ.

Вручную. Подойдёт для любого дистрибутива Linux.

    Устанавливаем ffmpeg и openjdk8. В Manjaro при установке системы со стандартного установочного образа они уже установлены. В противном случае устанавливаем:

/serviio, то запустите файл

sudo useradd -r -m -s /bin/false serviio

sudo chown -R serviio:serviio /home/data/serviio

sudo kate /lib/systemd/system/serviio.service

Вместо kate можно использовать любой другой текстовый редактор. Редактируем файл:

[Unit]
Description=Serviio Media Server
After=syslog.target local-fs.target network.target

[Service]
Type=simple
User=serviio
Group=serviio
ExecStart=/home/data/serviio/bin/serviio.sh
ExecStop=/home/data/serviio/bin/serviio.sh -stop
KillMode=none
Restart=on-abort

[Install]
WantedBy=multi-user.target

Сохраняем, выходим. Запускаем сервис:

sudo systemctl daemon-reload

sudo systemctl enable serviio

sudo systemctl start serviio

Всё. Проверить правильность установки программы можно, набрав:

Если всё нормально, то увидим что-то вроде:

Если у вас в компьютере включён межсетевой экран, то необходимо открыть порты 8895/tcp и 1900/udp для входящих соединений. У меня установлен gufw, настроить можно так:

  1. Запустить gufw.
  2. Добавить два правила.



Настройка

Результат будет примерно таким:

Кроме меню нас здесь интересует количество проиндексированных файлов (пока ноль) и кнопка переключения языка. Нажимаем на неё и переключаем язык.

Следующий пункт в меню — Состояние:


Здесь вы увидите перечень подключённых к серверу устройств и их адреса. Щёлкнув соответствующую строчку, вы можете настроить режим доступа к данному устройству (требуется версия pro). Здесь также можно остановить или перезапустить сервер, но если вы запустили его как сервис, то останавливать его лучше так:

Медиатека:


Здесь же вы можете добавить онлайн-источники медиа, но я пробовал добавлять только интернет-радиостанции. Добавлять интернет-видео я не пробовал — просто не было надобности, поэтому по всем вопросам — в serviio-wiki.

Доставка:


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

Метаданные:

Здесь определяется, нужно ли создавать миниатюры для локальных видео и нужно ли получать метаданные для видеофайлов из Интернета (можно выбрать одну из перечисленных баз видео). Меня вполне устраивают миниатюры, которые создаёт Serviio, я отключил получение метаданных: чтобы полученные данные были корректными, нужно, чтобы ваш фильм был в базе и имя файла было бы правильным (а ведь видеофайлам часто дают имена типа 1.avi 🙂 ). Так что для моих файлов порой находились такие миниатюры, что я не знал, плакать или смеяться, поэтому я всё это отключил.

Навигация:


Удалённый доступ:


Если вам нужен доступ к вашим файлам через Интернет, то вам сюда. Если вы хотите использовать MediaBrowser (требуется версия pro!), то установите пароль пользователя.


Для доступа к медиа-браузеру с другого компьютера вашей сети используйте адрес


Итак, мы имеем медиасервер, может быть, не самый навороченный, но его возможностей лично мне хватает с избытком. Живёт себе спокойненько в памяти, не мешает, не падает, а просто работает. Если бы не эта странная ситуация с НЕКОТОРЫМИ именами файлов, я бы сказал, что я просто не вижу недостатков.

Надоело бегать с флешкой, чтобы посмотреть кино или фоточки на большом телеке? Тогда эта статья для Вас!

Практически все современные smart телевизоры, медиа приставки и даже телефоны поддерживают удобный способ трансляции и просмотра цифрового контента в локальной сети. Конкретно речь сейчас пойдёт о DLNA ( Digital Living Network Alliance ).

DLNA — набор стандартов, позволяющих совместимым устройствам передавать и принимать по домашней сети различный медиаконтент (изображения, музыку, видео), а также отображать его в режиме реального времени. То есть — технология для соединения домашних компьютеров, мобильных телефонов, ноутбуков и бытовой электроники в единую цифровую сеть. Устройства, которые поддерживают спецификацию DLNA, по желанию пользователя могут настраиваться и объединяться в сеть в автоматическом режиме.

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

Клиент (DMP, digital media player )

С клиентом всё просто, это просто плеер который поддерживает нужный нам стандарт DLNA. В роли плеера выступает устройство подключенное к общей локальной сети. Подойдет практически любой современный телевизор, медиаплеер или смартфон. Если внимательно присмотритесь к меню своего ТВ то, скорей всего, найдете там пункт DLNA, DMP, AllShare или что-то подобное, разные производители по разному обзывают эту функцию. В самом клиенте настраивать обычно ничего не нужно, только выбрать доступный сервер, а далее уже можно смотреть видео, музыку или фото, которые хранятся и транслируются с нашего сервера DLNA.

dlna на TV

Клиент DLNA для Android

На смарт ТВ или телефоне c ОС Android можно использовать любой сторонний клиент. Стандартный бывает запрятан далеко в меню и не всегда легко его найти, да и функционал возможно будет скудный. Больше всего мне понравился вот этот BubbleUPnP. На самом деле это большой комбайн который умеет много всего, но просто как клиент для того же MiniDLNA он идеален. А вот тут можете посмотреть список самых удобных программ для просмотра мультимедиа контента на андроиде.

Сервер DLNA ( digital media server )

А вот тут уже большой выбор и куча вариаций. Самый очевидный и простой вариант это установить такой сервер там где хранится наш контент. Если это отдельный NAS можно поставить сервер DLNA прям на него, а если это обычный компьютер или ноутбук то нужно ставить сервер туда. Далее уже зависит от операционной системы и ваших предпочтений. Под Windows есть огромный выбор подобных программ, просто выбираем которая нравится и устанавливаем. Настройки там обычно очень простые и проблем возникнуть не должно. Вот список самых популярных серверов DLNA под Windows:

Я же сейчас покажу как настроить сервер DLNA под Linux. Эта инструкция подойдёт для Manjaro Linux и Arch Linux. В качестве программы сервера будем использовать miniDLNA. Я попробовал несколько разных, но это самая простоя и удобная. Она не имеет графического интерфейса, но он и не нужен. Всё будет работать как сервис, нужно только один раз настроить и всё.

Установка miniDLNA на Manjaro Linux

Эта же самая инструкция подойдет на Arch Linux.

Скачиваем и устанавливаем программу:

Все настройки хранятся в одном файлике:

/etc/minidlna.conf

Если всё настроено правильно, но данные не показывает на клиенте?

Если нихрена не работает нужно внимательно смотреть права. От кого запускается сервер и есть ли у этого пользователя права в нужные директории?

Если папка с контентом у вас лежит в домашней папке то нужно ещё дать программе туда доступ. Для этого нужно создать файлик /etc/systemd/system/minidlna.service.d/override.conf вот с таким содержимым:

Остаётся поставить службу в автозапуск и запустить:

Установка и настройка DLNA сервера : 6 комментариев

Если в minidlna вылазит ошибка:

WARNING: Inotify max_user_watches [8192] is low or close to the number of used watches [4] and I do not have permission to increase this limit.

WARNING: Inotify max_user_watches [16384] is low or close to the number of used watches [4] and I do not have permission to increase this limit.

Это значит сработало какое-то ограничение системы. Нужно просто увеличить это число. Сделать это можно так:

minidlna реально классная штука, один раз настроил и работает!

нет каталога minidlna.service.d
/etc/systemd/system/minidlna.service.d/

создал, каталог и override.conf с содержимым:

[Service]
ProtectHome=read-only
но видосиков не видно

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

sudo cp /etc/systemd/system/minidlna.service.d/override.conf /usr/lib/systemd
перенесите папку с конфигом сюда этой командой и потом
sudo systemctl daemon-reload
sudo systemctl restart minidlna.service
после этого все заработало

если не запалит то смотрите где лежит файл сервиса коммандой
sudo systemctl status minidlna.service

Всё перепробовал, оказалось что проблема в неправильно записанном пути к директории. А именно в конце пути не должно быть слеша!

NAS сервер для дома - часть 6 (Установка Serviio в NAS сервер Synology DS713+)


Плавно подобрались к самому интересному. Многим полюбился Serviio, очень удобный и главное функциональный медиасервер. Ну что ж, давайте попробуем установить его в наш NAS сервер.

На сегодняшний день актуальная версия Serviio 1.1 — за работу.

NAS сервер для дома - часть 6 (Установка Serviio в NAS сервер Synology DS713+)


Первым делом нам необходимо зайти в «Панель управления» сервера Synology, в настройки пользователей.

NAS сервер для дома - часть 6 (Установка Serviio в NAS сервер Synology DS713+)


Далее «главная папка пользователя»

NAS сервер для дома - часть 6 (Установка Serviio в NAS сервер Synology DS713+)


И отмечаем галочку «Включить службу главной папки пользователя». Без этих манипуляций, Serviio не установится! В английских мануалах об этом действии пишут так (Firstly, in the DSM User control panel enable the User Home service) и многие просто не могут понять, где это и как его настроить.

Далее, нам необходимо добавить репозиторий, из которого установим Serviio. В 4-той части обзора я подробно рассказывал как устанавливать пакеты и добавлять репозитории.

Так же на сервере необходима пред установка Java SE (Java 6 или Java 7). Писал как это сделать и теперь понимаете для чего.


Следующий шаг

1. Жмем кнопку «Обновить», что бы обновился список пакетов
2. Переходим на вкладку «Сообщество». Здесь показываются все пакеты от сторонних разработчиков
3. Видим в списке Serviio. У меня он уже установлен, а у вас будет кнопка — установить. Нажимаем и произойдет установка.

Serviio установлен, ныряем во внутрь пакте потирая ручки и что видим:


Ссылка с IP сервера, ну это такое же вебоформление для просмотра фильмотеки как я уже описывал/

NAS сервер для дома - часть 6 (Установка Serviio в NAS сервер Synology DS713+)


Ниже Журнал логов (ниже расскажу чем он нам будет полезен).

А где же настройки?
Врубаем логику :). Нужно скачать клиент Serviio для Mac/Windows/Linux? там же Serviio Console для управления сервером. Точно, я ж об этом писал в обзоре про сервиио. Для тех, кто не читал обзор — качайте. Кому в тот момент метод понравился, значит консоль у вас есть, но ее необходимо вначале настроить.

NAS сервер для дома - часть 5 (Стриминг TV мультимедиа сервером DLNA/UPnP)

Заходим в Mac OS в список установленных программ, находим Serviio Console

Выбираем показать содержимое пакета.

NAS сервер для дома - часть 5 (Стриминг TV мультимедиа сервером DLNA/UPnP)


Далее ныряем в папку Contents и находим там файл info.plist

Его необходимо открыть с помощью любого текстового редактора, чтобы внести в него изменения.

Содержимое файла будет таким:


В самом низу находим последнюю секцию dict


и меняем на такую:


serviio.remoteHost — обращение к удаленому серверу
10.0.1.3 — это IP вашего Serviio сервера на NAS сервере Synology

NAS сервер для дома - часть 6 (Установка Serviio в NAS сервер Synology DS713+)

IP Serviio вы уже поняли где смотреть да? В информации самого приложения на вашем Synology

Сохраняем результат и запускаем консоль Serviio



Добавляем свои папки, я пока добавил только папку с фильмами. Задаем интервал автоматического обновления медиатеки. Чтоб вы правильно понимали, консоль — вносит изменения в настройки удаленного сервера Serviio, т.е. консоль не нужно будет потом держать включенной или еще чего. 1 раз настроили и забыли, а вот в журнале о котором я писал выше вы теперь можете отслеживать как Serviio индексирует свежескаченный контент.

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

NAS сервер для дома - часть 6 (Установка Serviio в NAS сервер Synology DS713+)

Осталось протестировать на телевизоре.

Вот он родненький AllShare Serviio (NAS)








Замучились читать? :) пусть лучше так и без вопросов :)

Читайте также: