Купили телевизор Samsung и обнаружили на нём AllShare, но совершенно не хочется ставить ради использования этой функции Windows? Тогда читаем ниже.
Что такое AllShare, при более близком рассмотрении, и с чем её едят? Ну у корейцев видимо всё не как у людей и оттого они обозвали то, что все называют DLNA по своему - AllShare, ну чтобы враги не догадались, а может оттого, что поддерживают DLNA коряво и не получили соответствующей сертификации, а использовать ой как хочется.
А что такое DLNA? DLNA (Digital Living Network Alliance) — стандарт, позволяющий совместимым устройствам передавать и принимать по домашней сети различный медиа-контент (изображения, музыку, видео), а также отображать его в режиме реального времени. Это технология для соединения домашних компьютеров, мобильных телефонов, ноутбуков и бытовой электроники в единую цифровую сеть. Устройства, которые поддерживают спецификацию DLNA, по желанию пользователя могут настраиваться и объединяться в домашнюю сеть в автоматическом режиме.
Средой передачи медиаконтента обычно является домашняя локальная сеть (IP-сеть). Подключение DLNA-совместимых устройств к домашней сети может быть как проводным (Ethernet), так и беспроводным (Wi-Fi).
Выбор DLNA сервера может показаться не тривиальной задачей, тем более, что выбор достаточно велик. У себя дома, под домашним Debian'ом решил поднять minidlna.
Итак, с чего же начать? Ну как всегда, с установки зависимостей, скачки исходников и их компиляции.
Теперь, когда сервер DLNA скомпилирован и установлен, приступим к его настройке. В этом, собственно, тоже не должно возникнуть никаких сложностей.
В network_interface прописываем через запятую интерфейсы на которых будет жить сервер DLNA.
Настройка media_dir может не ограничиваться лишь одним ресурсом, этих строк может быть много. media_dir может включать либо просто имя каталога, либо начинаться с A, V или P, что означает, соответственно, назначение ресурса - аудио, видео, картинки.
friendly_name описывает имя которое будет светиться в списке источников для DLNA ресурсов.
notify_interval этот параметр описывает интервал через который происходит уведомление о вновь появившихся ресурсах на DLNA сервере. Значение по-умолчанию в 900 секунд наверное всё-таки слишком велико.
db_dir это директория где DLNA сервер будет хранить свой кеш о представляемых объектах.
log_dir - директория где будет вестись журнал DLNA сервера.
Теперь настало время произвести первый запуск нашего DLNA сервера и посмотреть, что при этом происходит:
Видим, что сервер запускается, начинает сканировать медиа-ресурсы и ожидает подключение клиентов.
На этом можно было бы и закончить, но ведь наверняка будет очень лениво каждый раз запускать сервер в ручную, а оттого создаём стартап-скрипт и помещаем его в /etc/init.d:
Содержимое скрипта было позаимствовано (зачем изобретать велосипед?), единственно, что были добавлены заголовки для нормального выполнения update-rc.d:
Уровни выполнения актуальны для Debian, Ubuntu и, наверное, производных дистрибутивов. В принципе поменяв уровни выполнения этот скрипт можно использовать и в других дистрибутивах поддерживающих LSB заголовки.
Собственно на этом с настройкой сервера покончено. Ну, а на телевизоре сначала разрешаем AllShare, затем находим все DLNA сервера в широковещательном домене, добавляем их, видим их в Source и наслаждаемся их присутствием, и просмотром медиаконтента.
ps: Справедливости ради отмечу, что в репозитории Debian'а есть пакет mediatomb и тем кому лень возиться со сборкой minidlna могут установить и настроить его:
Что такое AllShare, при более близком рассмотрении, и с чем её едят? Ну у корейцев видимо всё не как у людей и оттого они обозвали то, что все называют DLNA по своему - AllShare, ну чтобы враги не догадались, а может оттого, что поддерживают DLNA коряво и не получили соответствующей сертификации, а использовать ой как хочется.
А что такое DLNA? DLNA (Digital Living Network Alliance) — стандарт, позволяющий совместимым устройствам передавать и принимать по домашней сети различный медиа-контент (изображения, музыку, видео), а также отображать его в режиме реального времени. Это технология для соединения домашних компьютеров, мобильных телефонов, ноутбуков и бытовой электроники в единую цифровую сеть. Устройства, которые поддерживают спецификацию DLNA, по желанию пользователя могут настраиваться и объединяться в домашнюю сеть в автоматическом режиме.
Средой передачи медиаконтента обычно является домашняя локальная сеть (IP-сеть). Подключение DLNA-совместимых устройств к домашней сети может быть как проводным (Ethernet), так и беспроводным (Wi-Fi).
Выбор DLNA сервера может показаться не тривиальной задачей, тем более, что выбор достаточно велик. У себя дома, под домашним Debian'ом решил поднять minidlna.
Итак, с чего же начать? Ну как всегда, с установки зависимостей, скачки исходников и их компиляции.
$ sudo aptitude install libavcodec-dev libavformat-dev libavutil-dev libflac-dev libvorbis-dev libogg-dev libid3tag0-dev libexif-dev libjpeg-dev $ wget "http://downloads.sourceforge.net/project/minidlna/minidlna/1.0.24/minidlna_1.0.24_src.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fminidlna%2Ffiles%2Fminidlna%2F1.0.24%2F&ts=1330931715&use_mirror=ignum" -O minidlna_1.0.24_src.tar.gz $ tar xzf minidlna_1.0.24_src.tar.gz $ cd minidlna-1.0.24/ $ make && sudo make install && sudo cp minidlna.conf /etc/
Теперь, когда сервер DLNA скомпилирован и установлен, приступим к его настройке. В этом, собственно, тоже не должно возникнуть никаких сложностей.
$ sudo vim /etc/minidlna.conf
В network_interface прописываем через запятую интерфейсы на которых будет жить сервер DLNA.
Настройка media_dir может не ограничиваться лишь одним ресурсом, этих строк может быть много. media_dir может включать либо просто имя каталога, либо начинаться с A, V или P, что означает, соответственно, назначение ресурса - аудио, видео, картинки.
friendly_name описывает имя которое будет светиться в списке источников для DLNA ресурсов.
notify_interval этот параметр описывает интервал через который происходит уведомление о вновь появившихся ресурсах на DLNA сервере. Значение по-умолчанию в 900 секунд наверное всё-таки слишком велико.
db_dir это директория где DLNA сервер будет хранить свой кеш о представляемых объектах.
log_dir - директория где будет вестись журнал DLNA сервера.
Теперь настало время произвести первый запуск нашего DLNA сервера и посмотреть, что при этом происходит:
minidlna -d -f /etc/minidlna.conf
Видим, что сервер запускается, начинает сканировать медиа-ресурсы и ожидает подключение клиентов.
На этом можно было бы и закончить, но ведь наверняка будет очень лениво каждый раз запускать сервер в ручную, а оттого создаём стартап-скрипт и помещаем его в /etc/init.d:
#! /bin/sh ### 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: 2 3 4 5 # Default-Stop: 0 1 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
Содержимое скрипта было позаимствовано (зачем изобретать велосипед?), единственно, что были добавлены заголовки для нормального выполнения update-rc.d:
$ sudo update-rc.d minidlna defaults
Уровни выполнения актуальны для Debian, Ubuntu и, наверное, производных дистрибутивов. В принципе поменяв уровни выполнения этот скрипт можно использовать и в других дистрибутивах поддерживающих LSB заголовки.
Собственно на этом с настройкой сервера покончено. Ну, а на телевизоре сначала разрешаем AllShare, затем находим все DLNA сервера в широковещательном домене, добавляем их, видим их в Source и наслаждаемся их присутствием, и просмотром медиаконтента.
ps: Справедливости ради отмечу, что в репозитории Debian'а есть пакет mediatomb и тем кому лень возиться со сборкой minidlna могут установить и настроить его:
$ sudo aptitude install mediatomb
Немає коментарів:
Дописати коментар