вторник, 14 января 2014 г.

Домашний мини-сервер на ОС Xubuntu.

Сервис DLNA Serviio. Часть 1.


    В ОС Xubuntu можно установить в качестве DLNA-сервера несколько программ, не входящих в официальный  репозиторий.  Например, PS3 Media Server или Serviio.
    Serviio - самый быстроразвивающийся сейчас проект. Регулярно обновляется. Активно обрастает плагинами, профилями и приложениями под мобильные OS.
    Представляет из себя JAVA-приложение, работающее демоном. Поддержка DLNA-протокола - полная. Довольно умело распределяет контент по папкам и категориям. Умеет создавать превьюшки к фильмам. Легко подключаются разные каналы on-line вещания.
    Транскодирует при помощи ffmpeg. База профилей устройств достаточно большая (и продолжает пополнятся) - сервер корректно подбирает параметры кодирования для любого совместимого UPnP (DLNA) устройства в сетиЧто не распознал - можно подобрать профиль или написать свой.
    Serviio доступен в версиях Free и Pro. Версия Pro имеет дополнительные функции:
 - MediaBrowser - плеер для веб-браузера;                                         
 - ServiiGo - Android-приложение для потоковой передачи контента;  
 API для доступа к контенту через интернет;  
 - Контроль доступа к общему контенту. 

     И так, установим последнюю версию Serviio в Xubuntu.
На сайте Serviio найдите ссылку на последний архив для Linux и загрузите его:
     sudo wget http://download.serviio.org/releases/serviio-1.4-linux.tar.gz    (sudo wget ссылка_на_последний_архив_serviio)

  Создайте директорию /opt/serviio и распакуйте туда файл:
     sudo mkdir -p /opt/serviio && tar -C /opt/serviio -xvzf serviio-1.4-linux.tar.gz --strip-components=1 

  Создайте системного пользователя serviio:
     sudo adduser --system --home /opt/serviio serviio 

  Назначьте владельцем папки установки системного пользователя serviio:
     sudo chown serviio:nogroup -R /opt/serviio 

  Создайте другую конкретную папку, которая будет использоваться Serviio, чтобы временно хранить транскодированные файлы (Выберите путь, который вы предпочитаете, но убедитесь, что он указывает на раздел с достаточным количеством 
свободного пространства, так как мультимедийные файлы могут быть огромными). 
Мы создадим папку tmp в корневом каталоге одного из смонтированных дисков с файловой системой ext4
     sudo mkdir /mnt/32eb8b1c-dd26-406b-a5e9-da5ca93f2ac7/.tmp 

  Измените разрешения на доступ к созданной папке tmp:         
     sudo chmod 1777 /mnt/32eb8b1c-dd26-406b-a5e9-da5ca93f2ac7/.tmp 

  Измените сценарий /opt/serviio/bin/serviio.sh, чтобы указать эту папку: добавляем следующий параметр в конце 
   JAVA_OPTS= line:    -Dserviio.defaultTranscodeFolder=/mnt/32eb8b1c-dd26-406b-a5e9-da5ca93f2ac7/.tmp 
  Открываем файл serviio.sh для изменения:
     sudo mousepad /opt/serviio/bin/serviio.sh 

  Было:
  # Setup Serviio specific properties
  JAVA_OPTS="-Djava.net.preferIPv4Stack=true -Djava.awt.headless=true -Dderby.system.home=$SERVIIO_HOME/library -Dserviio.home=$SERVIIO_HOME"

  После добавления должно быть так:
  # Setup Serviio specific properties
  JAVA_OPTS="-Djava.net.preferIPv4Stack=true -Djava.awt.headless=true -Dderby.system.home=$SERVIIO_HOME/library -Dserviio.home=$SERVIIO_HOME -Dserviio.defaultTranscodeFolder=/mnt/32eb8b1c-dd26-406b-a5e9-da5ca93f2ac7/.tmp" 

  Сохраняем изменения, закрываем mousepad.

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

  Во-первых, установить Java, если он ещё не установлен:
     sudo apt-get install default-jre 

Примечание. В процессе установки появится пара окошек, в которых надо будет нажать на ОК и Да. Используйте для этого Enter и клавиши со стрелками.

  Затем установите дополнительные кодеки и библиотеки для обеспечения полноценной работы Serviio.
  Установите отсутствующие кодеки (включая последние Lame):
     sudo apt-get install ubuntu-restricted-extras 

  Установите ffmpeg (команда одной строкой):
     sudo apt-get install libxine1-ffmpeg gxine mencoder mpeg2dec vorbis-tools id3v2 mpg321 mpg123 libflac++6 ffmpeg totem-mozilla icedax tagtool easytag id3tool lame nautilus-script-audio-convert libmad0 libjpeg-progs flac faac faad sox ffmpeg2theora libmpeg2-4 uudeview flac libmpeg3-1 mpeg3-utils mpegdemux liba52-0.7.4-dev libquicktime2 

  Установите dcraw, если Вы нуждаетесь в поддержке RAW изображений:
     sudo apt-get install dcraw 

  Для автозапуска DLNA-сервера при загрузке ОС, создайте скрипт инициализации:
     sudo mousepad 
  

# Serviio - Media Streaming Server

#
# Serviio is a free media server. It allows you to stream your media files
# (music, video or images) to renderer devices (e.g. a TV set, Bluray
# player, games console or mobile phone) on your connected home network.

description "Serviio - Media Streaming Server"


env USER=serviio

env LANG=ru_RU.UTF-8

start on started networking

start on mounted DEVICE=[/UL]*
stop on shutdown

respawn


exec start-stop-daemon --start --make-pidfile --pidfile /var/run/serviio.pid -c $USER --exec /opt/serviio/bin/serviio.sh



  ( параметр LANG является необязательным и может использоваться для определения конкретного языка )

  Сохраните файл как /etc/init/serviio.conf 


  Примечание. Теперь, при необходимости, вы можете остановить сервер DLNA (также запустить снова) с помощью служебных команд:     
     sudo service serviio stop
     sudo service serviio start


  Так как всё прошло нормально (конечно же! - serviio start/running, process 12345), теперь вы сможете увидеть Serviio на любом UPnP/DLNA устройстве, подключённом к той же сети. 
  Убедитесь, что вы открываете TCP 8895 и UDP 1900 порты в брандмауэре. Брандмауэр (входит в состав некоторых антивирусных ПО) может быть одной из причин, по которым ваше устройство не может подключиться к Serviio.


  Примечание. Если всё же подключения нет, то ищите подозрительные записи в /opt/serviio/log/serviio.log.
  Если вам нужен более подробный журнал, измените категории org.serviio в /opt/serviio/config/log4j.xml:

<category name="org.serviio">
   <priority value="DEBUG"/>
</category>

  Перезапустите Serviio. Теперь вы должны иметь некоторые подсказки, чтобы помочь вам решить эту проблему.


  Продолжение следует.



Комментариев нет:

Отправить комментарий