The OpenNET Project / Index page

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



"Раздел полезных советов: Настройка DLNA-сервера для обращени..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Настройка DLNA-сервера для обращени..."  +/
Сообщение от auto_tips (?), 23-Мрт-10, 11:50 
В современной бытовой технике, например в телевизоре Samsung LE32B652T4W, поддерживается протокол DLNA (http://ru.wikipedia.org/wiki/DLNA), позволяющий организовать обращения к контенту других устройств. Было решено расшарить мультимедиа контент через DLNA-сервер под Linux.


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

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

1. [[http://ushare.geexbox.org/ uShare]]
2. [[http://live.gnome.org/Rygel Rygel]]
3. [[http://sourceforge.net/projects/minidlna/ 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.

URL: http://karapuzz.blogspot.com/2010/03/dlna.html
Обсуждается: https://www.opennet.ru/tips/info/2328.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от yucon (?), 23-Мрт-10, 11:50   +/
mediatomb наше все
Ответить | Правка | Наверх | Cообщить модератору

2. Сообщение от strah4email (?), 23-Мрт-10, 12:53   +/
Спасибо, прилечу домой попробую.
Ответить | Правка | Наверх | Cообщить модератору

3. Сообщение от DmitryINdig0 (?), 24-Мрт-10, 09:55   +/
Поищите в гугле универсальный не по названию а по возможностям Playstation Media Server. Поддерживает плагины, профили под разные устройства, транскодирование на лету при необходимости и стримминг.
Ответить | Правка | Наверх | Cообщить модератору

4. Сообщение от Artur (??), 24-Мрт-10, 21:04   +/
Использую год mediatomb - просто работает.
Ответить | Правка | Наверх | Cообщить модератору

5. Сообщение от RedRat (ok), 25-Мрт-10, 12:12   +/
Жалко, что этот minidlna только под Линукс собран. Запускать линуксулятор во Фряхе ради одной программы - явный оверкилл.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #7

6. Сообщение от Nas_tradamusemail (ok), 26-Мрт-10, 11:25   +/
А в Винде рулит Homemediaserver, написанный российским программистом и распространяющийся бесплатно. По функциям уделывает все виндовые аналоги.

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #8

7. Сообщение от dry (ok), 27-Мрт-10, 18:04   +/
а сделать

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6 Ответы: #9

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #10

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #11

11. Сообщение от Nas_tradamusemail (ok), 16-Май-10, 22:26   +/
>>Пробовал - не умеет и десятой того, что предлагает HMS.
>>Сейчас HMS научился кэшировать в оперативную память и теперь можно смотреть с
>>транскодингом на лету, используя обычный HDD.
>
>Что значит с транскодингом на лету? (интересуюсь только потому, что уж 1,5
>года юзаю с ПС3 и не чешусь, включая транскодинг "на лету".
>

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #12

12. Сообщение от DmitryINdig0 (ok), 16-Май-10, 22:49   +/
>Ну раньше у меня тормозило, так как диск не успевал читать и
>писать один и тот же файл одновременно.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #13

13. Сообщение от Nas_tradamusemail (ok), 17-Май-10, 12:03   +/
>>Ну раньше у меня тормозило, так как диск не успевал читать и
>>писать один и тот же файл одновременно.
>
>Когда искал под приставку медиа-сервер пробовал hms, но остановился на pms ))
>
>В общем, pms открывает fifo и транскодит "туда" поток, без сохранения на
>диск. Очень удобно ))

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #14

14. Сообщение от strah4email (?), 01-Июн-10, 19:51   +/
Напрямую неудобно. Если хочется включить что-нибудь на тв, а самому продолжать комп использовать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #15

15. Сообщение от Nas_tradamusemail (ok), 02-Июн-10, 11:31   +/
>Напрямую неудобно. Если хочется включить что-нибудь на тв, а самому продолжать комп
>использовать.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14

16. Сообщение от yuryemail (??), 09-Фев-11, 23:26   +/
вот все, что я получил от 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

Ответить | Правка | Наверх | Cообщить модератору

17. Сообщение от Chukchaemail (??), 24-Июн-12, 18:01   +/
Часто пользуюсь этой статьей, когда надо настроить minidlna на новом сервере.

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

Ответить | Правка | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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