The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

Настройка DLNA-сервера для обращения к мультимедиа коллекции с телевизора
В современной бытовой технике, например в телевизоре Samsung LE32B652T4W,
поддерживается протокол DLNA (http://ru.wikipedia.org/wiki/DLNA), позволяющий
организовать обращения к контенту других устройств. Было решено расшарить
мультимедиа контент через DLNA-сервер под Linux.


Исследуем варианты

Судя по статье на elinux.org существует 3 реализации DLNA сервера под Linux:

1. uShare
2. Rygel
3. minidlna

Не буду писать много про преимущества и недостатки каждого. Скажу просто, Rygel
у меня вылетел и высыпал в консоль кучу отладочной информации. uShare
заработал, но остановился на сканировании первого же каталога. Не понимает он
кириллицу. Проблема известная и вроде как не решена, впрочем я сильно не
исследовал этот вопрос, потому могу ошибаться. Остался 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

   # 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 и
перезапустить сервер.

И напоследок, телевизор и сервер подключены через WiFi маршрутизатор D-Link DIR-300.
 
22.03.2010 , Автор: Karapuz , Источник: http://karapuzz.blogspot.com/2010/0...
Ключи: DLNA, multimedia / Лицензия: CC-BY
Раздел:    Корень / Пользователю / Обработка изображений и видео

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, yucon (?), 11:50, 23/03/2010 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    mediatomb наше все
     
  • 1.2, strah4 (?), 12:53, 23/03/2010 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    Спасибо, прилечу домой попробую.
     
  • 1.3, DmitryINdig0 (?), 09:55, 24/03/2010 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    Поищите в гугле универсальный не по названию а по возможностям Playstation Media Server. Поддерживает плагины, профили под разные устройства, транскодирование на лету при необходимости и стримминг.
     
  • 1.4, Artur (??), 21:04, 24/03/2010 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    Использую год mediatomb - просто работает.
     
  • 1.5, RedRat (ok), 12:12, 25/03/2010 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    Жалко, что этот minidlna только под Линукс собран. Запускать линуксулятор во Фряхе ради одной программы - явный оверкилл.
     
     
  • 2.7, dry (ok), 18:04, 27/03/2010 [^] [ответить]    [к модератору]  
  • +/
    а сделать

    cvs -d :pserver:anonymous@minidlna.cvs.sourceforge.net:2401/cvsroot/minidlna checkout minidlna

    религия не позволяет или что?

     
  • 1.6, Nas_tradamus (ok), 11:25, 26/03/2010 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    А в Винде рулит Homemediaserver, написанный российским программистом и распространяющийся бесплатно. По функциям уделывает все виндовые аналоги.

    Для транскодинга на лету 1080p-контента нужен быстрый винт (читай SSD) и LAN-подключение.

     
     
  • 2.8, DmitryINdig0 (ok), 17:46, 15/05/2010 [^] [ответить]    [к модератору]  
  • +/
    >А в Винде рулит Homemediaserver, написанный российским программистом и распространяющийся бесплатно. По
    >функциям уделывает все виндовые аналоги.
    >
    >Для транскодинга на лету 1080p-контента нужен быстрый винт (читай SSD) и LAN-подключение.
    >

    заступлюсь за ps3 ))
    кроссплатформенная штука, которая много чего умеет и как демон работает тоже.
    http://code.google.com/p/ps3mediaserver/

     
     
  • 3.9, Nas_tradamus (ok), 20:20, 16/05/2010 [^] [ответить]    [к модератору]  
  • +/
    >>А в Винде рулит Homemediaserver, написанный российским программистом и распространяющийся бесплатно. По
    >>функциям уделывает все виндовые аналоги.
    >>
    >>Для транскодинга на лету 1080p-контента нужен быстрый винт (читай SSD) и LAN-подключение.
    >>
    >
    >заступлюсь за ps3 ))
    >кроссплатформенная штука, которая много чего умеет и как демон работает тоже.
    >http://code.google.com/p/ps3mediaserver/

    Пробовал - не умеет и десятой того, что предлагает HMS.
    Сейчас HMS научился кэшировать в оперативную память и теперь можно смотреть с транскодингом на лету, используя обычный HDD.

     
     
  • 4.10, DmitryINdig0 (ok), 21:00, 16/05/2010 [^] [ответить]    [к модератору]  
  • +/
    >Пробовал - не умеет и десятой того, что предлагает HMS.
    >Сейчас HMS научился кэшировать в оперативную память и теперь можно смотреть с
    >транскодингом на лету, используя обычный HDD.

    Что значит с транскодингом на лету? (интересуюсь только потому, что уж 1,5 года юзаю с ПС3 и не чешусь, включая транскодинг "на лету".

     
     
  • 5.11, Nas_tradamus (ok), 22:26, 16/05/2010 [^] [ответить]    [к модератору]  
  • +/
    >>Пробовал - не умеет и десятой того, что предлагает HMS.
    >>Сейчас HMS научился кэшировать в оперативную память и теперь можно смотреть с
    >>транскодингом на лету, используя обычный HDD.
    >
    >Что значит с транскодингом на лету? (интересуюсь только потому, что уж 1,5
    >года юзаю с ПС3 и не чешусь, включая транскодинг "на лету".
    >

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

     
     
  • 6.12, DmitryINdig0 (ok), 22:49, 16/05/2010 [^] [ответить]    [к модератору]  
  • +/
    >Ну раньше у меня тормозило, так как диск не успевал читать и
    >писать один и тот же файл одновременно.

    Когда искал под приставку медиа-сервер пробовал hms, но остановился на pms ))
    В общем, pms открывает fifo и транскодит "туда" поток, без сохранения на диск. Очень удобно ))

     
     
  • 7.13, Nas_tradamus (ok), 12:03, 17/05/2010 [^] [ответить]    [к модератору]  
  • +/
    >>Ну раньше у меня тормозило, так как диск не успевал читать и
    >>писать один и тот же файл одновременно.
    >
    >Когда искал под приставку медиа-сервер пробовал hms, но остановился на pms ))
    >
    >В общем, pms открывает fifo и транскодит "туда" поток, без сохранения на
    >диск. Очень удобно ))

    Аа. Ну я говорю - HMS тоже научился это делать.
    Сейчас там даже с меню можно пульта/геймпада  управлять полностью сервером - настраивать сдвиг аудио, субтитры, и т.д.

    Так или иначе, для меня это в прошлом - купил 7-метровый HDMI-HDMI и смотрю напрямую с ПК.

     
     
  • 8.14, strah4 (?), 19:51, 01/06/2010 [^] [ответить]    [к модератору]  
  • +/
    Напрямую неудобно. Если хочется включить что-нибудь на тв, а самому продолжать комп использовать.
     
     
  • 9.15, Nas_tradamus (ok), 11:31, 02/06/2010 [^] [ответить]    [к модератору]  
  • +/
    >Напрямую неудобно. Если хочется включить что-нибудь на тв, а самому продолжать комп
    >использовать.

    А я использую в винде "Расширение экрана" и настраиваю в плеере MPC чтобы он при фулскрине отображал на второй экран и выставлял частоту вывода равную частоту кадрам (чтобы не было т.н. "тирринга").

     
  • 1.16, yury (??), 23:26, 09/02/2011 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    вот все, что я получил от minidlna

    Feb  9 23:09:44 localhost abrt[17568]: not dumping repeating crash in '/usr/sbin/minidlna'
    Feb  9 23:09:44 localhost abrt[17569]: not dumping repeating crash in '/usr/sbin/minidlna'
    Feb  9 23:09:44 localhost kernel: minidlna[17524]: segfault at 84 ip 0813fdc3 sp bf8b5560 error 4 in minidlna[8048000+246000]
    Feb  9 23:09:47 localhost kernel: minidlna[17564]: segfault at 84 ip 0813fdc3 sp bfa63570 error 4 in minidlna[8048000+246000]
    Feb  9 23:09:47 localhost abrt[17573]: not dumping repeating crash in '/usr/sbin/minidlna'
    Feb  9 23:09:53 localhost kernel: minidlna[17525]: segfault at 84 ip 0813fdc3 sp b6a7fd40 error 4 in minidlna[8048000+246000]
    Feb  9 23:09:54 localhost abrt[17579]: saved core dump of pid 17520 (/usr/sbin/minidlna) to /var/spool/abrt/ccpp-1297282193-17520.new/coredump (23769088 bytes)
    Feb  9 23:09:54 localhost abrtd: Directory 'ccpp-1297282193-17520' creation detected
    Feb  9 23:09:54 localhost abrtd: Executable '/usr/sbin/minidlna' doesn't belong to any package
    Feb  9 23:09:54 localhost abrtd: Corrupted or bad crash /var/spool/abrt/ccpp-1297282193-17520 (res:4), deleting

     
  • 1.17, Chukcha (??), 18:01, 24/06/2012 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Часто пользуюсь этой статьей, когда надо настроить minidlna на новом сервере.

    Но одного не могу понять: нафига афтор за***дюхал такой нев**бенный скрипт?
    Ведь всего навсего надо было сделать автозапуск!
    Афтор решил повыпендриваться и показать свою храмотность там, где не надо?

     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor