Поднимаем miniDLNA сервер

Скачиваем последнюю версию сервера и распаковываем архив. Внутри не будет исходников, там лежит бинарник minidlna и файл конфигурации minidlna.conf. Файл конфигурации копируем в /etc, а бинарник в /usr/sbin.

Приступим к конфигурированию сервера. Ни чего сложного в этом нет. Приведу часть моего конфига, ту, которую я изменил.

media_dir=V,/media/hdd/Медиа/Видео
media_dir=A,/home/user/Моя музыка
media_dir=P,/home/user/Мои рисунки
notify_interval=60

То есть я указал путь для контента (media_dir=). При этом буквы V, A и P указывают на характер контента. V - видео, A - аудио и P - картинки. Можно без этих букв, просто после знака равно сразу указать путь. Обратите внимание, название некоторых каталогов у меня просто ужасны. Мало того, что там кириллица, так еще и пробелы. Но minidlna все кушает на ура, даже пробелы не нужно экранировать, и это приятно меня удивило. Параметром notify_interval я указал интервал в секундах для автоматического обнаружения новых файлов. Тут по вкусу. Иногда, после копирования нового фильма, хочется сразу его посмотреть, и не ждать 900 секунд, которые установлены по умолчанию.

Запускаем Все просто

minidlna -d -f /etc/minidlna.conf

и можно идти и смотреть фильмы. Но как быть с автозапуском? Можно конечно поместить команду в стандартный гномовский или кдешный автозапуск. Но на мой взгляд лучше воспользоваться init.d скриптом.

#! /bin/sh
# chkconfig: 345 99 10
# description: Fedora Startup/shutdown script for MiniDLNA daemon
# If you have chkconfig, simply:
# chkconfig --add minildna
# Proper init scripts on Linux systems normally require setting lock
# and pid files under /var/run as well as reacting to network
# settings, so you should treat this with care.
# Original author:  Perry Clark 
### BEGIN INIT INFO
# Provides:          minidlna
# Required-Start:    $local_fs $remote_fs $syslog $network
# Should-Start:
# Required-Stop:     $local_fs $remote_fs $syslog $network
# Should-Stop:
# Default-Start:     3 4 5
# Default-Stop:      0 1 2 6
# Short-Description: Minidlna
# Description:       DLNA Media Server
### END INIT INFO
## EDIT FROM HERE
# Installation details
MINIDLNA="/usr/sbin/minidlna"
ARGS="/etc/minidlna.conf"

# Where to keep a log file
MINIDLNA_LOG="/var/log/minidlna.log"

# Where the PID lives
PID_FILE="/var/run/minidlna.pid"

## STOP EDITING HERE
# The path that is to be used for the script
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
set -e

# Only start if we can find the minidlna.conf.
test -x $MINIDLNA || exit 0

# Parse command line parameters.
case $1 in
  start)
    echo -n "Starting MiniDLNA: "
    $MINIDLNA -f $ARGS -P $PID_FILE  >> $MINIDLNA_LOG 2>&1
    echo "ok"
    ;;
  stop) 
    echo -n "Stopping MiniDLNA: "
       for pidf in `/bin/ls $PID_FILE 2>/dev/null`; do
            if [ -s $pidf ]; then
                kill `cat $pidf` >/dev/null 2>&1
            fi
            rm -rf $PIF_FILE
       done 
    echo "ok"
    ;;
  restart|reload|force-reload)
    echo "Restarting MiniDLNA: "

    $0 stop
    sleep 2
    $0 start

    ;;
  *)
    # Print help
    echo "Usage: /etc/init.d/minidlna {start|stop|restart|reload|force-reload}"
    exit 1
    ;;
esac

exit 0

Подглядел тут. Называем скрипт minidlna, копируем в /etc/init.d, присваиваем права 755 и добавляем в автозапуск.

chmod 755 minidlna
sudo chkconfig minidlna on

Запускать и останавливать minidlna вручную можно командами:

sudo /etc/init.d/minidlna start
sudo /etc/init.d/minidlna stop

После запуска minidlna будет сканировать каталоги с контентом. Это может занят несколько минут. За ходом сканирования можно следить в файле /tmp/minidlna/minidlna.log. Если после изменения путей в файле конфигурации телевизор не видит новых каталогов, попробуйте удалить /tmp/minidlna/files.db и перезапустить сервер.


Похожие статьи