Дано: современный телевизор, модель не играет большой роли, главное чтобы был сетевой плеер.
Требуется: подцепить его к домашней сети чтобы он проигрывал хранящиеся на серваке фильмы.
Еще в процессе покупки телевизора загляните ему в мануал, на тему как он умеет подключаться к сети.
Возможны варианты:
- не умеет работать с сетью (проходим мимо таких — каменный век)
- только Ethrenet
- опциональный (внешний) WI-FI
- встроенный WI-FI
Если заявлен WI-FI как опция будьте готовы выложить еще с сотню баксов за его родной адаптер, не смотря на убеждения продавцов что мол надо докупить любой USB адаптер и все будет работать, сам столкнулся с таким в М-Видео (благо на приемке заглянул в мануал и быстро вернул деньги).
Это не просто USB, а еще и слот для родного Wi-Fi адаптера
Родные же WI-FI адептеры даже в крупных сетевых магазинах оказались редкостью. А заложить в стену в спальне, где висит телек UTP во время ремонта не у всех хватает сообразительности. Так что вроде есть две опции, а работать с ними с наскоку не получается.
Благо подключить телевизор используя порт Ethernet и внешнюю точку доступа в режиме клиента совсем не проблема. Этот вариант имеет еще и некоторые преимущества:
- цена простой точки доступа существенно ниже родного адаптера
- уровень сигнала точки с внешней антенной значительно превосходит уровень сигнала USB свистка
- при некотором везении точку доступа можно настроить в режиме моста с WDS+AP и тогда она еще будет «усиливать сигнал» перераздавая сеть для слабых устройств типа мобильников (при использовании SIP уровень сигнала довольно критичный момент)
Итак, купив телевизор с портом RJ-45 надо найти (древние однопортовые точки доступа не раритет и у многих пылятся в столах) или купить дешевую точку с поддержкой режима Client. Настраиваем по мануалу режим Client для точки доступа, после этого она начнет на первом порту бриджевать сеть, а MAC самой точки, видимый с AP сменится на мак подключенного телека.
Точка доступа притаилась в засаде
Что бы работал WDS — распределенная структура сети, чипсеты точек должны быть одного производителя (по слухам можно заточить Atheros и Broadcom но это исключение, и не будет WPA). Для настройки WDS я использовал прошивку dd-wrt для обоих роутеров — иначе не получалось заставить раздавать сеть на порты Ethernet, так что имеет смысл проверить модель перед покупкой.
Получив рабочий Ютуб и обновив прошивку телека из сети, обрадованные вы скорее всего захотите запустить сетевой медиаплеер. Но не смотря на наличие разнообразных файловых серверов в вашей сети, начиная от TFTP, FTP, SCP и заканчивая Самбой (aka Сеть Windows) вы скорее всего обломитесь, а почитав мануал уясните что ваше чудо техники «работает с файлами, которые хранятся на сервере DLNA CERTIFIEDTM»
На то что такое DLNA, намекает википедия, так что этот пункт опустим, все умеют читать. Самое важное что это некий сетевой протокол, а поэтому его можно вкрячить на домашний сервак. Я выбрал minidlna — подкупило свлово мини в названии.
Предположим что у всех домашние серваки подняты на gentoo, а если нет то качаем из своего репозитория или соурсфорджа и собираем из исходников. Если вам не повезло и есть только Windows то читайте здесь, возможно найдется сервер и для него.
emerge net-misc/minidlna
К слову сказать документация на него тоже, мини. На сайте пусто, мана нет. Но да оно и не нужно. После установки появляются следующие файлы:
/etc/minidlna.conf - основной конфигурационный файл
/etc/conf.d - конфиг демона
/etc/init.d/minidlna - ранскрипт демона
Из опций которые правим в конфиге:
# интерфейсы, на которых работает сервер - домашняя сеть
network_interface=eth2, eth3
# где искать контент
# сюда качаются торренты rtorrent-ом
media_dir=/var/download/ftp
# сюда пишет камеры motion с bt848
# лирическое отступление, обратите внимание, если внутри нет подпапки, например /home/motion/camera1
# то все файлы будут отображены вместе с содержимым /var/download/ftp вперемежку с файлами и папками
# в /var/download/ftp, так что есть папка с кучей файлов делайте подпапки - будет удобнее
media_dir=V,/home/motion
# увековечиваем свое имя
friendly_name=ma5ter DLNA server
# рабочие данные хранить здесь
db_dir=/var/cache/minidlna
# а логи здесь
log_dir=/var/log
В конфиге демона говорим от чьего имени работать:
M_USER="mdlna"
M_GROUP="mdlna"
Создаем этого пользователя (с рабочей папкой) и пустой лог-файл для него:
useradd -d /var/cache/minidlna -s /sbin/nologin -U mdlna
touch /var/log/minidlna.log
chown mdlna /var/log/minidlna.log
Для начала этого достаточно. Cтартуем сервер DLNA
/etc/init.d/minidlna start
В логе не должно быть ошибок, нормальный запуск выглядит как-то так (последние строчки появляются в по прошествии некоторого времени в процессе работы сканера):
[2012/11/15 12:12:43] minidlna.c:888: warn: Starting MiniDLNA version 1.0.24 [SQLite 3.7.13].
[2012/11/15 12:12:43] minidlna.c:911: warn: Creating new database...
[2012/11/15 12:12:43] minidlna.c:988: warn: HTTP listening on port 8200
[2012/11/15 12:12:43] scanner.c:727: warn: Scanning /var/download/ftp
[2012/11/15 12:13:26] scanner.c:798: warn: Scanning /home/motion finished (1482 files)!
[2012/11/15 12:13:26] playlist.c:125: warn: Parsing playlists...
Сервер найден — нажмите ОК для просмотра файлов и папок...
В общем-то все начинает работать, однако если вас не устроит стандартная иерархия папок то можно чуточку заточить под себя редактированием конфига:
# сразу открывать папку со всем содержимым
root_container=B
Автор: ma5ter