IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Измерительная техника, инструменты [278]
    Drones, boats, cars... [99]
    Накопители данных [186]
    Гаджеты для спорта и здоровья... [166]
    Автомобильные гаджеты... [159]
    Сети, сетевые технологии, оборудование... [211]
    Гаджеты, аксессуары... [604]
    News IT, Это интересно, ликбез... [1048]
    Linux и не только [4195]
    Windows 10... [271]
    Планшеты [738]
    Нетбуки, Ноутбуки, Ультрабуки [618]
    Смартфоны, фаблеты.. [4986]
    GPS-навигаторы, трекеры... [49]
    Видеорегистраторы [195]
    mini computers и не только... [365]
    Своими руками [322]
    CB, LPD, PMR- связь... [110]
    Smart TV, UltraHD, приставки, проекторы... [404]
    Радар-детекторы [22]
    DECT, IP-телефоны [18]
    Мультиварки, блендеры и не только... [122]
    Smart Watch [225]
    Блоки питания, Power Banks, зарядки... [340]
    Sound: наушники, плееры, усилители... [568]
    Безопасность IT [478]
    Электронные книги [75]
    Роботы-пылесосы [26]
    electric cars [28]
    Фотокамеры, объективы, искусство фотографии.. [433]
    Время

    Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1243
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2014 » Март » 30 » Настройка MiniDLNA для цифрового мультимедийного плеера WD TV Play
    15:48
    Настройка MiniDLNA для цифрового мультимедийного плеера WD TV Play

    Настройка MiniDLNA для цифрового мультимедийного плеера WD TV Play

     

    Не столь давно я решил отказаться от видеокарты с разъёмом S-Video, к которому у меня дома был подключен телевизор. Новых видеокарт с таким разъёмом сейчас не найти, везде только VGA, DVI и HDMI. Конвертеры из HDMI и DVI в композитный, компонентный сигнал или в S-Video стоят неоправданно больших денег, причём найти их в продаже - задача непростая. Покупать вместе с новой видеокартой ещё и новый телевизор с разъёмом HDMI мне не хотелось.

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

    Единственным оставшимся решением, которое позволило бы смотреть фильмы с компьютера на старом телевизоре, были цифровые мультимедийные проигрыватели. Это небольшие устройства с жёстким диском или без него, умеющее воспроизводить видео, музыку с SATA-дисков, флеш-накопителей, карт памяти или из сети Ethernet или WiFi.

    После сравнения доступных предложений мой выбор пал на устройство WD TV Play. Это устройство не имеет жёсткого диска или места под его установку, более того - у него даже нет интерфейса SATA, но зато у него есть всё нужное мне: композитный видеовыход, выход для аналогового стерео и сеть Ethernet. Кроме того, имеется поддержка WiFi и разъёмы, которые могут пригодиться в дальнейшем: USB, HDMI, оптический SPDIF.

    Подробную инструкцию по настройке самого устройства можно найти на его странице. Для лентяев приведу прямую ссылку на руководство: Руководство пользователя.

    Внешний видПульт

    1. Как это работает

    Итак, в целом автоконфигурирование сети на домашних устройствах работает примерно следующим образом.

    Если устройству не назначен сетевой адрес вручную, то оно сначала пытается получить настройки у DHCP-сервера. Если DHCP-сервер не отвечает, устройство выбирает случайный адрес из диапазона 169.254.1.0-169.254.255.255 и проверяет, что оно свободно, выполняя ARP-запрос. Если адрес занят, устройство выбирает другой случайный IP-адрес и повторяет процедуру до тех пор, пока не обнаружит свободный IP-адрес. С выбранным адресом используется маска подсети 255.255.0.0.

    После того, как сеть настроена, устройство отправляет мультикаст-запрос на адрес 239.255.255.250, на UDP-порт 1900, пытаясь обнаружить по протоколу SSDP устройства в локальной сети. Каждое устройство, предоставляющее сервис, должно ответить на запрос, сообщив в ответе HTTP-ссылку на страницу управления устройством.

    Протокол SSDP позволяет обнаруживать маршрутизаторы, поддерживающие протокол IGD и мультимедийные устройства, поддерживающие протокол DLNA. Таким образом устройство может получить доступ к сети интернет, включая возможность принимать соединения из внешней сети, а также воспроизводить мультимедийные файлы, имеющиеся на устройствах домашней сети.

    2. Как будем настраивать

    Я не буду использовать автоконфигурирование и ручную настройку сети, а воспользуюсь более привычным для системного администратора способом раздачи настроек - при помощи DHCP-сервера ISC DHCP Server. Если у вас дома есть маршрутизатор, раздающий настройки по DHCP, или использующий самоназначенные адреса, то логично воспользоваться вместо DHCP-сервера DHCP-клиентом с поддержкой самоназначения адресов (APIPA), например из пакета dhcpcd5.

    Поскольку мой мультимедийный проигрыватель работает с сетью интернет лишь как клиент, не пытаясь открыть на прослушивание порты на внешнем адресе, то мне будет достаточно настроить фаерволл вручную. Вы же можете воспользоваться протоколом IGD и настроить сервер из пакета linux-igd. Или, если вы пользуетесь домашним маршрутизатором, можно воспользоваться поддержкой IGD, имеющейся на маршрутизаторе.

    Наконец, я буду использовать лишь один DLNA-сервер, поэтому он самостоятельно будет отвечать на запросы по протоколу SSDP. Если планируется настроить несколько DLNA-серверов или интегрировать их с IGD-сервером, то скорее всего вам потребуется отдельный сервер протокола SSDP, например из пакета minissdp. Теоретически, остальные приложения можно настроить так, что они будут работать через minissdp как через посредника. На практике я этого не проверял.

    3. Настройка сетевого интерфейса

    Моя домашняя компьютерная сеть подключена к отдельной сетевой карте компьютера. Я использую сеть 169.254.254.0/24, которая входит в диапазон IP-адресов link-local 169.254.1.0-169.254.254.255, который описан в RFC 3927. Этот диапазон используется для автоматической настройки сети на устройствах, которые не смогли найти DHCP-сервер. Устройство выбирает случайный адрес из этого диапазона и делает ARP-запрос к нему. Если на ARP-запрос никто не отвечает, устройство присваивает этот адрес себе. Если адрес занят, то процедура поиска свободного адреса повторяется.

    Этот диапазон я выбрал по одной простой причине - он не используется моим провайдером, так что моя локальная домашняя сеть не пересекается с локальной сетью провайдера и устройства в моей сети могут обращаться через NAT к локальной сети провайдера.

    Настройки интерфейс eth1 описываются в файле /etc/network/interfaces и имеют следующий вид:

    auto eht1
    iface eth1 inet static
     address 169.254.254.1
     netmask 255.255.255.0
    

    Всё просто. Чтобы настройки вступили в силу, можно воспользоваться следующими командами:

    # ifdown eth1
    # ifup eth1
    

    4. Настройка DHCP-сервера

    Устройство я включил в домашнюю локальную сеть, которая подключена к отдельной сетевой карте компьютера. Если у вас есть домашний маршрутизатор, можете воткнуть устройство в него - в таком случае можно воспользоваться DHCP-сервером, встроенным в сам маршрутизатор. Можно также настроить статические IP-адреса или попытать счастья с автоматической настройкой сетевого интерфейса без участия DHCP-сервера, например, при помощи демона avahi-autoipd.

    Чтобы устройство могло получить настройки сети от компьютера автоматически, я настроила на своём компьютере DHCP-сервер. Мой выбор автоматически остановился на привычном мне ISC DHCP Server, что кому-то может показаться забиванием гвоздей микроскопом. Вы можете настроить другой DHCP-сервер.

    Итак, установим пакет с DHCP-сервером:

    # apt-get install isc-dhcp-server
    

    Создадим файл конфигурации /etc/dhcp/dhcpd.conf со следующим содержимым:

    # Не нужно пытаться обновлять данные на DNS-сервере
    ddns-update-style none;
    
    # Этот DHCP-сервер в сети - главный
    authoritative;
    
    # "Средство" syslog, которое DHCP-сервер будет использовать для отправки
    # диагностических сообщений в syslog
    log-facility local7;
    
    subnet 169.254.254.0 netmask 255.255.255.0 {
     # Диапазон адресов, выдаваемый в аренду
     range 169.254.254.2 169.254.254.254;
    
     # Суффикс, используемый для решения запросов с неполным доменным именем
     option domain-name "stupin.su";
    
     # DNS-серверы моего провайдера - Уфанет
     option domain-name-servers 81.30.199.5, 81.30.199.94;
    
     # Клиент должен продлевать аренду по прошествии суток
     default-lease-time 86400;
    
     # Аренда считается истекшей по истечение двух суток
     max-lease-time 172800;
    
     # NTP-серверы моего провайдера - Уфанет
     option ntp-servers 81.30.199.34, 81.30.199.66, 81.30.199.73;
     
     # Маршрут по умолчанию
     option routers 169.254.254.1;
     
     # Широковещательный адрес сети
     option broadcast-address 169.254.254.255;
    }
    
    host wd {
     hardware ethernet 00:90:a9:62:b2:99;
     fixed-address 169.254.254.2;
    }
    

    В файл /etc/default/isc-dhcp-server впишем имя интерфейса, на котором DHCP-сервер должен принимать запросы:

    INTERFACES="eth1"
    

    Осталось перезапустить DHCP-сервер, чтобы его новые настройки вступили в силу:

    # /etc/init.d/isc-dhcp-server restart
    

    На самом деле устройство способно работать только с первым DNS-сервером, а NTP-серверы он попросту игнорирует, предпочитая всегда пользоваться серверами pool.ntp.org.

    Мой плеер имеет MAC-адрес 00:90:a9:62:b2:99 - его я узнал при помощи tcpdump. Этому MAC-адресу всегда будет выдаваться один и тот же IP-адрес 169.254.254.2.

    5. Настройка фаерволла

    До сих пор у меня ещё не было повода расписывать, как я обычно настраиваю фаерволл, поскольку обычно мне приходится настраивать прохождение пакетов для классических интернет-протоколов, вроде HTTP, FTP, SMTP, POP3, IMAPv4, DNS, NTP. Там всё довольно просто - достаточно открыть TCP или UDP-порт в нужном направлении, а в случае FTP ещё загрузить несколько модулей ядра и прописать их в автозагрузку.

    В этом случае речь идёт о протоколе под названием SSDP, который не назовёшь классическим. Поэтому я решил описать настроенные правила в этой заметке. Однако, для начала я опишу минимальную настройку фаерволла для рабочей станции, на которой не запущен ни один сетевой сервис. Обычно я ограничиваюсь всего тремя правилами и политикой по умолчанию для входящих пакетов DROP:

    # iptables -A INPUT -s 127.0.0.1/32 -i lo -j ACCEPT
    # iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    # iptables -A INPUT -p icmp -m icmp ! --icmp-type 5 -j ACCEPT
    # iptables -P INPUT DROP
    

    При такой конфигурации наш компьютер может инициировать обмен с кем угодно, получать от него ответы, но сам будет отвечать только на ICMP-запросы.

    Для того, чтобы эти настройки восстанавливались при каждой загрузке, я сохраняю их при помощи команды iptables-save:

    # iptables-save > /etc/network/iptables
    

    И прописываю загрузку правил при настройке интерфейса lo в файле /etc/network/interfaces:

    auto lo
    iface lo inet loopback
     pre-up iptables-restore < /etc/network/iptables
    

    Теперь перейдём к настройке доступа со стороны мультимедиа-центра к серверу MiniDLNA на нашем сервере:

    # iptables -A INPUT -i eth1 -s 169.254.254.2 -d 169.254.254.1 -p tcp -m tcp --dport 8200 -j ACCEPT
    # iptables -A INPUT -i eth1 -s 169.254.254.2 -d 169.254.254.1 -p udp -m udp --dport 1900 -j ACCEPT
    # iptables -A INPUT -i eth1 -s 169.254.254.2 -d 239.255.255.250 -p udp -m udp --dport 1900 -j ACCEPT
    

    UDP-порт 1900 - это порт протокола SSDP, позволяющего устройствам сети обнаруживать друг друга и обмениваться информацией. Для обнаружения используется мультикаст-адрес 239.255.255.250.

    На TCP-порту 8200 работает встроенный в MiniDLNA веб-сервер. На нём есть всего одна страница, на которой можно увидеть количество доступных на сервере видео-, аудио- и графических файлов. В случае более сложных DLNA серверов там может быть, например, веб-интерфейс для управления устройством и т.п. Устройства узнают о веб-серверах друг друга по протоколу SSDP.

    Кроме того, устройство обращается в сеть интернет для получения данных о времени, о погоде в выбранном городе и при использовании онлайн-сервисов. Я разрешу лишь обращаться к веб- и NTP-серверам в интернете и к DNS-серверам моего провайдера:

    # iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    # iptables -A FORWARD -i eth1 -s 169.254.254.2 -p tcp -m tcp --dport 80 -j ACCEPT
    # iptables -A FORWARD -i eth1 -s 169.254.254.2 -p udp -m udp --dport 123 -j ACCEPT
    # iptables -A FORWARD -i eth1 -s 169.254.254.2 -d 81.30.199.5 -p udp -m udp --dport 53 -j ACCEPT
    # iptables -A FORWARD -i eth1 -s 169.254.254.2 -d 81.30.199.5 -p tcp -m tcp --dport 53 -j ACCEPT
    # iptables -A FORWARD -i eth1 -s 169.254.254.2 -d 81.30.199.94 -p udp -m udp --dport 53 -j ACCEPT
    # iptables -A FORWARD -i eth1 -s 169.254.254.2 -d 81.30.199.94 -p tcp -m tcp --dport 53 -j ACCEPT
    

    Поскольку моя домашняя сеть не будет маршрутизироваться в сети провайдера, я выполняю трансляцию исходного адреса на внешних, провайдерских интерфейсах:

    # iptables -A POSTROUTING -o ppp0 -j MASQUERADE
    # iptables -A POSTROUTING -o eth0 -j MASQUERADE
    

    Ответные пакеты будут транслироваться в обратном направлении автоматически. Осталось запомнить новые настройки фаерволла в файле /etc/network/iptables и включить маршрутизацию:

    # iptables-save > /etc/network/iptables
    # sysctl -w net.ipv4.conf.all.forwarding=1
    

    Чтобы маршрутизация автоматически включалась при перезагрузке, пропишем в файл /etc/sysctl.conf ту же самую настройку:

    net.ipv4.conf.all.forwarding = 1
    

    6. Настройка MiniDLNA

    Остался финальный штрих - настройка самого сервера MiniDLNA. Для этого нужно прописать в файл /etc/minidlna.conf следующие настройки:

    # Прописываем каталоги с видео-, аудио и графическими файлами
    # Можно указывать произвольное количество каталогов, можно не указывать тип источника
    media_dir=V,/home/video
    media_dir=A,/home/music
    media_dir=P,/home/photos
    
    # Слушать будем указанный интерфейс и IP-адрес
    network_interface=eth1
    listening_ip=169.254.254.1
    
    # TCP-порт встроенного веб-сервера
    port=8200
    
    # Имя хранилища, под которым его будет видно на других устройствах
    friendly_name=stupin.su minidlna
    
    # Серийный номер нашего хранилища, модель и номер модели
    serial=12345678
    model_name=Windows Media Connect compatible (MiniDLNA)
    model_number=1
    
    # Использовать механизм inotify:
    # ядро Linux будет оповещать MiniDLNA об изменении интересующих файлов
    inotify=yes
    
    # В качестве обложек музыкальных альбомов использовать файлы с указанными именами
    album_art_names=Cover.jpg/cover.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg
    

    По умолчанию MiniDLNA сам открывает UDP-порт 1900 протокола SSDP. Но, если вы собрались запустить на компьютере несколько программ, которые используют протокол SSDP, можно настроить отдельный SSDP-сервер MiniSSDP. Сокет-файл этого сервера можно в дальнейшем указывать всем программам, которые пользуются протоколом SSDP. В случае MiniDLNA путь к сокет-файлу указывается в конфигурационном файле /etc/minidlna.conf, в настройке minissdpdsocket.

    Осталось убедиться, что в файле /etc/default/minidlna разрешён запуск сервера:

    START_DAEMON="yes"
    

    И можно запустить его:

    # /etc/init.d/minidlna restart
    

    Задняя панельТелевизор

    7. Ссылки

    Для автоматической настройки локальных сетей было создано большое количество различных протоколов, многие из которых являются взаимными альтернативами и конкурентами. По замыслу создателей, устройства должны автоматически настраивать IP-адресацию, проброс внешних портов внутрь локальной сети, открывать доступ в интернет через фаерволл, узнавать друг о друге. Например, компьютер может обнаружить принтер, мультимедийное устройство - хранилище медиафайлов, телевизор с доступом в интернет может автоматически пробиться через домашний маршрутизатор, равно как и другие программы - компьютерные игры и торрент-клиенты и т.п.

    Ниже приведён небольшой список ссылок на краткое описание различных протоколов, имеющих отношение к автоматической настройке локальной сети:

    • Zeroconf - описание самой идеи собирательного названия Zeroconf, диапазона локальных адресов для самонастройки IPv4LL - IPv4 Link-Local, способа самонастройки локальных адресов APIPA - Automatic Private IP Addressing
    • RFC 3927 - формальное описание диапазона локальных адресов для самонастройки IPv4LL - IPv4 Link-Local
    • UPnP - описание группы протоколов Universal Plug and Play
    • SSDP - описание протокола обнаружения сервисов Simple Service Discovery Protocol, входящего в группу протоколов UPnP
    • DLNA - описание протокола Digital Living Network Alliance для обмена мультимедийными данными, входящего в группу протоколов UPnP
    • IGD - описание протокола настройки шлюза Internet Gateway Device Protocol
    • NAT-PMP - другой протокол управления шлюзом NAT Port Mapping Protocol
    • PCP - ещё один протокол управления шлюзом Port Control Protocol

     

    http://vladimir-stupin.blogspot.com/2014/03/minidlna-wd-tv-play.html

    Категория: Гаджеты, аксессуары... | Просмотров: 1345 | Добавил: laptop | Рейтинг: 4.5/2
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Погода
    Погода в Нью-Йорке Погода в Бреcте
    Поиск
    Календарь
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2019