Домашние медиа серверы. Что такое DLNA сервер? Соединение компьютера и телевизора

В современном мире трудно представить нашу жизнь без использования высоких технологий. Так, наверное, многие слышали о таком понятии, как UPnP. Что такое UPnP и поддержка DLNA, мы и попробуем разобраться. Плюс к этому будет приведено несколько основных советов по настройке оборудования, поскольку это не всегда выполняется полностью в автоматическом режиме.

UPnP. Что такое UPnP?

С точки зрения современных компьютерных, мобильных и медиа-систем, UPnP представляет собой универсальное подключение нескольких устройств при объединении их в одну систему. Это так называемый стандарт Universal Plug&Play. Иными словами, такую технологию можно назвать универсальным подключением устройства с его автоматической инициализацией.

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

Что такое DLNA?

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

При этом внешний пользовательский адрес не меняется. IP- присваивается исключительно внутри одной локальной сети. В качестве основного компонента, который использует DLNA (UPnP-медиа-сервер), выступает маршрутизатор, который и отвечает за автоматизацию присвоения устройствам соответствующих IP-адресов. Чаще всего это (A)DSL-модем или роутер, хотя все еще встречаются постепенно устаревающие подключения с использованием

Варианты подключения устройств

Начнем с того, что в данном случае основным шагом является создание подключения между маршрутизатором и телевизором. Сегодня можно встретить три основных варианта:

  • соединение при помощи кабелей (Ethernet);
  • подключение при помощи внутреннего или внешнего Wi-Fi-адаптера;
  • подключение посредством электросети без какого-либо использования кабелей вообще.

Однако тут нужно четко понимать, что автоматическим объединением устройств в единое целое дело не обойдется. Нужно создать виртуальный UPnP DLNA-сервер (если таковой уже имеется, скажем, в телевизоре вроде Smart TV - вообще замечательно). За это отвечает соответствующее программное обеспечение, о чем будет сказано несколько позже.

Преимущества домашнего медиа-сервера

Если рассматривать перечень основных возможностей с применением приемо-передающих технологий UPnP (DLNA), они достаточно разнообразны, хотя используются только для работы с медиа-контентом.

Так, например, при создании домашнего медиа-сервера можно запросто просматривать фотографии и видеоролики, присутствующие в компьютере или ноутбуке, смартфоне или планшете, на большом экране телевизора. Но и этим дело не ограничивается.

Мало кто из неподготовленных пользователей знает, что с помощью таких технологий можно устроить и трансляцию онлайн-телевидения или просмотр роликов на том же хостинге YouTube не на компьютере (при наличии соответствующего программного обеспечения или обычного интернет-браузера), а на телевизионной панели. А это, в свою очередь, делает универсальным средством для просмотра программ, клипов или фильмов, прослушивания музыки и т. д.

Теперь несколько слов об основных моментах, касающихся настройки домашнего медиа-сервера. Здесь не обойтись только пониманием технологий UPnP. Что такое UPnP, мы уже немного разобрались. Посмотрим, как такие знания можно применить на практике.

Во-первых, изначально потребуется включить использование этих протоколов на маршрутизаторе и на телевизоре (или, если таковая имеется, телевизионной приставке кабельного или спутникового ТВ). На роутере, как правило, такие настройки включены по умолчанию, однако для полной уверенности следует зайти в соответствующий раздел и убедиться, что параметр UPnP находится во включенном состоянии (Enable).

Но это еще не все. В «операционке», если эта служба не задействована, ее тоже нужно активировать. Для этого нужно в «Панели управления» зайти в раздел программ и компонентов (в старых системах - меню установки и удаления программ), где просмотреть установленные и задействованные компоненты Windows.

В сетевых службах нужно подключить клиентскую службу обнаружения (управления), а также задействовать UPnP. Что такое PNP-клиент в данном случае? Универсальный мост, способный автоматически распознавать любые медиа-устройства, причем даже без установки соответствующих драйверов. Чтобы было понятнее, в локальной беспроводной сети при подключении смартфона или любого другого мобильного гаджета они попросту не нужны.

Используемые программы

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

К примеру, если установить сервер на основе приложения Samsung All Share, на телевизоре можно будет выбирать только музыку, видео или фотографии, хранящиеся в папках общего доступа устройств. Ни о какой трансляции ТВ-программ с компьютера здесь и речи нет.

Куда удобнее установить более серьезный пакет вроде Plex Media Server, который имеет такой внушительный список возможностей, что с ним могут сравниться немногие программы. Кроме того, само программное обеспечение выпускается на русском языке и распространяется совершенно бесплатно.

Что касается мобильных систем, например Android, для таких девайсов уместно использовать небольшой апплет под названием MediaHouse или Bubble UPnP. Оба приложения можно запросто найти в сервисе Play Market и установить на свое устройство абсолютно бесплатно. Преимущество таких программ в том, что при установке соответствующего компьютерного клиента настройка DLNA здесь вообще не потребуется. Достаточно, чтобы смартфон, планшет и компьютер (ноутбук) были подключены к одной частной виртуальной сети. После запуска приложения с компьютерного терминала автоматически отобразится список всех доступных устройств. Для верности в компьютерной версии можно «расширить» нужные папки (создать общий доступ). Только и всего.

Заключение

Хочется надеяться, что эта краткая информация многим начинающим пользователям даст представление о технологиях UPnP/DLNA. В общем-то, даже при настройке домашнего медиа-сервера особых сложностей тоже возникнуть не должно, разве что включение поддержки UPnP на маршрутизаторе, телевизоре и в самой «операционке». Но, как показывает практика, на всех современных устройствах и в последних версиях Windows все эти службы задействованы по умолчанию. За пользователем остается только решение проблемы по выбору максимально соответствующего его требованиям программного обеспечения.

После этого распакуйте скачанный архив и запустите файл «setup.exe».

Запуститься процесс установки. Вам предложат выбрать каталог для инсталляции приложения. Можете оставить по умолчанию:

На следующем шаге вам будет предложено выбрать тип устройства, с которым будет работать наш медиа-сервер.

В принципе, если отмечена опция «Автоопределение», программа сама все определит и выставит нужные параметры вашего медиа-устройства.

Теперь нужно выбрать папки, или локальные диски целиком, которые вы хотите сделать общедоступными:

Затем программа попросит сделать резервные копии настроек. Мы делать этого не будем, так как еще далеко не все настроили, что хотели. Поэтому жмем кнопку «Закрыть»:

На этом шаге откроется основное окно программы. Можно по изучать немного, чтобы освоится. Затем жмите кнопку «Настройки»:

В открывшемся окне выберите внизу вкладку «Сканирование»:

Это даст нам возможность управлять сервером и компьютером с телевизора.

Например, после просмотра фильма не нужно будет идти за комп, чтобы его выключить. Все можно будет сделать с телика. Классно, согласитесь?

Теперь выберите вкладку «Устройства» и нажмите кнопку «Поиск»:

Здесь снова жмите кнопочку «Поиск» внизу окна. На вопрос запуска сервера ответьте «Да»:

Запуститься программа и в системном трее появится ее значок:

После этого отобразится окно со списком найденных устройств. Находим телевизор и нажимаем кнопкой мыши на красный значок слева в виде дорожного знака «Въезд запрещен»:

Теперь он должен принять вид зеленой галочки. Это значит, что тв и сервер поняли друг друга и готовы к работе по сети.

После этого, на вкладке «Устройства» должны отобразится все найденные устройства. Снова выбирайте телевизор и жмите кнопку «Настройка»:

Если хотите получить доступ к серверу с любого устройства вашей домашней сети через веб-браузер, выберите вкладку «Дополнительные» и отметьте пункт «Web-навигация»:

Опцию «Создание плейлистов медиа-ресурсов в режиме Web-навигации» рекомендую отключить.

Теперь можно получить доступ к программе через веб-браузер:

Проверяем, так ли это:

Как видите, все работает.

Для просмотра медиа-ресурсов на компьютере, нужен проигрыватель VLC player.

Если интерфейс программы не открывается, пройдите по пути «Настройки — Сервер» и проверьте правильно ли указан номер порта:

Также отключите брандмауэр на компьютере и попробуйте снова.

Поэтому блога, чтобы не пропустить интересный материал.

Теперь кратко расскажу о вкладке «Транскодер»:

Например, вы скачали фильм в формате, который не может воспроизвести ваш ТВ.

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

Стоить отметить, что в программе можно задать настройки транскодирования по трем основным принципам:

Первый : для всех фильмов (пример на скриншоте выше).
Второй : для определенных типов расширений видео-файлов.

Для этого идите по пути «Настройки — Медиа-ресурсы — Типы файлов — Изменить»:

Третий : для конкретного фильма.

В главном окне сервера выберите нужный видео-файл, щелкните по нему правой кнопкой мыши и выберите пункт «Профиль транскодирования»:

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

Смотрите, в самом начале настройки программы Home Media Server мы указывали тип нашего медиа-устройства, в нашем случае телевизора Самсунг:

После этого приложение само определяет какие форматы аудио-видео файлов поддерживает ваш телик.

А если, к примеру, будете запускать фильм с разрешением которого нет в вышеуказанном списке, для него запуститься транскодирование для того, чтобы преобразовать в читаемый для ТВ формат. Надеюсь суть вам стала ясна.

Как правило, для телевизоров Самсунг ничего менять не надо, поэтому оставьте здесь все настройки как есть. Все проблемы будем решать по мере их появления, поскольку тема настройки транскодирования в HMS очень обширная.

Теперь переходим к завершающему этапу. Зайдите на вкладку «Дополнительно» и выставьте настройки как на скриншоте ниже:

Теперь программа будет автоматически загружаться и тихо мирно «висеть» в системных службах Windows.

Давайте еще раз вернемся в главное окно программы. Опишем основные кнопки управления:

Кнопки «Фильмы — Музыка — Фото» служат для выбора папок с соответствующими ресурсами.

Кнопками «Запуск — Остановка — Перезапуск» управляется сервер. В рабочем состоянии кнопка запуска должна быть нажата (быть неактивной).

На этом все. Вопрос как программу Home Media Server скачать, установить и настроить можно закрывать.

Наверное, у каждого из нас дома немало цифровых медиа-устройств, общающихся по WiFi или подключённых к сети с помощью обычной витой пары. У меня, к примеру - КПК, нетбук, пара ноутбуков, пара компьютеров и ещё пара смартфонов. Последние (парочка Nokia 5800 Xpress Music), благодаря тому, что даже в ванной или в постели постоянно находятся под рукой, оказались самыми часто используемыми девайсами. Благо и серфинг, и общение через GTalk/Skype, и простенькие игрушки-убийцы времени - всё доступно. Вот только памяти у девайсов всего по 8 Гб, так что фильмов туда не шибко накидаешь, да и конвертировать, а потом заливать на смартфон каждый фильм - на это нужно время, а ведь есть ещё такая штука, как лень! Одним словом, захотелось иметь возможность как-то просматривать медиаконтент (и в первую очередь - видео) с домашнего сервера в любой момент, не конвертируя и не совершая лишних телодвижений.

Фабула

В принципе, если бы не то, что мне попалась именно Nokia 5800XM, я бы давно эту проблему решил - роутер ASUS WL-500g поддерживает UPnP, так что достаточно было бы только воткнуть флешку. Беда в том, что не смотря на порой встречающиеся спецификации в онлайн-магазинах, но Nokia 5800XM не поддерживает UPnP/DLNA и сторонней реализации клиента тоже не существует. Так что же, спрашивается, делать? Поставить жирный крест на идее просмотра удалённого контента?

Первой попыткой выйти из тупика было потоковое вещание видео. Судя по спецификации протокола RTSP (RFC 2326) он должен поддерживать управление воспроизведением при вещании: PLAY, PAUSE, и TEARDOWN. К сожалению, после того, как VLC был настроен на потоковое вещание, оказалось, что запрос паузы либо не обрабатывается этим сервером и работает только со стороны сервера, либо не отсылается клиентом смартфона. К тому же, в любом случае, таким образом оказывался доступен только выбранный на сервере для вещания видеофайл, а не целая медиа-библиотека.

Но первое разочарование не охладило пыл, поиски продолжались.

Следующим на очереди стал Home Media Server, больше известный как Домашний медиа-сервер - программа, предоставляющая медиа-ресурсы (фотографии, аудио и видео-файлы) вашего компьютера другим UPnP (DLNA) устройствам в домашней сети. После установки он порадовал меня богатством опций, удобством настройки, но… полностью разочаровал в виду того, что UPnP/DLNA, как было упомянуто выше, Nokia 5800 не поддерживала, а через HTTP видео напрочь отказывалось проигрываться…
Нужна была работающая альтернатива. Вот тут как раз мне и попался на глаза медиа-сервер TVersity - название проскочило в чьём-то комментарии при обсуждении DLNA медиа-серверов.

Итак...
TVersity Media Server (free edition) - ещё более простой в освоении медиа-сервер, опять таки предлагающий нам UPnP, DLNA и HTTP. Если с первыми двумя протоколами всё понятно, то вот HTTP, как оказалось, не так прост - доступ к медиа-библиотеке оказался реализован двумя способами: классическим и через флеш. Но обо всём по порядку.

Для начала - интерфейс. Дружественный, и я даже сказал бы довольно упрощённый. Первым делом сразу полез в настройки. Хинты к каждой опции (пусть и на английском) упрощают конфигурирование сервера «под себя».

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

Настройка медиа-библиотеки тоже довольно проста (и в отличии от вышеупомянутого Home Media Server не требует длительного рестарта при своём обновлении), при добавлении источника с помощью специальных чекбоксов можно указать тип его контента: аудио, видео, и/или изображения. Я говорю именно «источника», а не «папки», потому что таким образом можно добавить внешний контент: к примеру Video RSS или Internet Radio, а также некоторые сервисы, как Youtube и Flickr. Кстати, обратите внимание - при выборе папки с помощью кнопки «Browse...» вместо кириллических имён получите кракозябры, так что лучше вписать имя вручную или скопипастить пусть из файлового менеджера.

Ну что же, с тем, как настроить библиотеку разобрались. Теперь - о том, как же с ней работать. И начнём с того, ради чего всё это затевалось: просмотр видео со смартфона. Счастливым обладателям Nokia 5800 известно, что смартфон принципиально не умеет открывать AVI контейнер, и изначально это было большой проблемой, т.к. локальный просмотр фильма требовал конвертировать видео в MP4, но потом всё же появились сторонние плееры с поддержкой этого контейнера. В данном случае это не имеет значения - нужна лишь поддержка FLV, что для него не проблема. Итак, как уже упоминалось раньше, доступ к медиабиблиотеке реализован двумя способами. Для просмотра HTML-страниц в адресной строке нужно указать http: //server-address:port/lib , а для загрузки интерактивного флеш-приложения - http: //server-address:port/flashlib . В данном случае последний вариант как раз то, что нужно, посему в браузере смартфона создаётся закладка с адресом

http: //192.168.1.33:41952/flashlib . Ну что же, теперь можно проверить, что получится.

А получается такая вот картина: после непродолжительной загрузки флеш-приложения на экране появляется каталог библиотеки с вполне удобной навигацией:

Для гладкого видеовоспроизведения пришлось таки поиграться с настройками перекодировщика, но в конце-концов удалось добиться приемлемой картинки. Правда, позиционирование существенно подтормаживает, но это не столь существенная беда - можно мириться.

В самом медиа-сервере можно посмотреть статус вещания, список адресов подключенных к нему устройств, статус перекодирования видео, а также лог работы и подключений.

DLNA/UPNP
Казалось бы всё. Да ещё нет: всё-таки медиа-сервер штука удобная, и, конечно же, хочется использовать его по-полной, а значит не только через HTTP. Кроме смартфонов в наличии также имеется ноутбук с Windows 7 и нетбук - там установлена lubuntu. С первым всё оказалось проще простого - при запуске Windows Media Player 12 он с ходу обнаружил библиотеку DLNA медиа-сервера и без проблем начал её просмотр.

С линуксом всё оказалось немного сложнее. Из списка кроссплатформенных UPnP/DLNA медиа-клиентов XBMC мне установить попросту не удалось - у него отсутствовали в репозиторие бинарники для Ubuntu 11.04 Natty Narwhal, а установленный VLC - под линуксом он таки поддерживает UPnP - не всегда находил сервер, хотя в то же время я замечательно заходил на него через браузер. В итоге решено было искать другой путь.

В итоге была найдена одна замечательная вещь под названием - основанная на утилита для монтирования ресурсов UPnP-серверов. Так как программа уже находилась в репозиторие, установка не отняла много времени. Теперь оставалось только создать точку монтирования да прописать автомонтирование. После непродолжительного исследования и наступания на грабли это таки удалось осуществить. Все нижеследующие команды выполняются исключительно из-под рута, так что не забудьте выполнить:

Sudo -s

Для начала нужно создать папку, которая будет являться точкой монтирования:

Cd /media
mkdir upnp
chmod 777 upnp

Теперь, собственно, запуск FUSE и само монтирование:

Modprobe fuse

После этого уже можно заходить в библиотеку как в обычную папку и открывать её содержимое в любых удобных программах как обычные файлы.

Кстати сказать, я нигде не нашёл упоминаний о найденных мной пренеприятнейших граблях в работе с djmount, выражающихся в неправильной кодировке файлов. По спецификации DLNA имена файлов должны быть исключительно в UTF-8 формате, посему TVersity Media Server даже не имеет настройки кодировки имён файлов. Cудя по сообщении при монтировании djmount тоже по-умолчанию использует именно эту кодировку - UTF-8. Но файловый менеджер, равно как и консоль, упорно отказывались отображать в именах файлов привычные буквы, повсеместно заменяя их вопросительными знаками. Попытки указать кодировку CP1251 или IBM-866 к полному успеху не привели, хотя теперь в кириллические папки можно было хоть заглянуть. К моей полной неожиданности, выходом из ситуации стало прямое указание на использование кодировки UTF-8 - уж не знаю, почему я решил её испробовать, но это сработало!

Автозапуск тоже оказался делом не простым, но тут пришёл на помощь гугл, и как оказалось, проблема с невозможностью автомонтирования из fstab уже была решена. В результате монтирование происходит при каждом поднятии сети. Сделано это следующим образом. Создаём скрипт:

Cd /etc/network/if-up.d
nano djmount

Содержимое скрипта:

# Not for loopback!
[ "$IFACE" != "lo" ] || exit 0

Modprobe fuse
fusermount -u /media/upnp
djmount -o iocharset=UTF-8,allow_other /media/upnp

Выставляем ему аттрибуты:

Chmod 755 djmount
chown root djmount
chgrp root djmount

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

Вообще программа Home Media Server задумана разработчиками как домашний медиа сервер. Но наиболее часто HMS используют в качестве DLNA сервера. Она идеально подходит для этой цели и имеет много полезных настроек, зачастую функционируя даже лучше таких официальных программ как LG SmartShare PC SW и стандартного способа настройки DLNA через Windows Media Player. Смысл заключается в том, чтобы позволить телевизору воспроизводить фильмы, музыку, картинки и другой контент прямо с вашего ноутбука или компьютера. При этом они должны быть подключены к одной домашней сети, для организации которой обычно используется маршрутизатор или роутер. После этого остается только настроить программу, и дело в шляпе. Скачать её можно на официальном сайте http://www.homemediaserver.ru , нажав на кнопку “Загрузить”.

Установить Media Server проще простого: распаковываем архив и запускаем “setup.exe”, где соглашаемся со всеми условиями и жмём везде кнопку “Далее”. После успешной установки и запуска HMS появится главное окно программы. При первом её запуске выберите ваш ТВ из списка устройств (например, телевизор LG). Добавить media ресурсы, к которым будет иметь доступ ваш ТВ, вы можете в следующем окне или в настройках позже. В окне резервирования и восстановления данных программы нажимаем “Выполнить” и “Закрыть”.

HMS как DLNA сервер

Сразу же переходим в настройки программы. Здесь нам предстоит настроить наш домашний медиа сервер типа DLNA. Для этого в категории “Медиа ресурсы” в самой первой вкладке “Список каталогов” с помощью кнопки “Добавить” указываем пути к папкам на нашем компьютере, где расположены media файлы, которые вы хотели бы видеть на телевизоре LG или другом. После добавления всех папок нажимаем “Сканировать”. Хоть мы и настроим автосканирование новых media ресурсов, новые элементы всё же иногда не появляются автоматически, и нужно делать сканирование при помощи этой кнопки вручную.

На вкладке “Сканирование” важно включить автоматическое сканирование каталогов при их изменении и запуске программы, чтобы новые медиа файлы сразу же отображались в телевизоре.

Для того, чтобы Home Media Server запускался при загрузке компьютера, в категории “Дополнительно” нужно поставить галочки “Автозагрузка программы при старте сессии Windows” и “Установка службы Windows Домашний медиа сервер…”. Настройка HMS для DLNA сервера завершена, жмём ОК.

Далее выбираем вкладку “Подключение ПК” и нажимаем 3 раза нажимаем кнопку “Далее”. Обратите внимание, чтобы на 3 шаге была выбрана ваша домашняя сеть (проводная или беспроводная, в зависимости от способа подключения тв), в противном случае выберите её.

На 4 шаге вы должны увидеть свой ПК. Если его там нет, выполните перезапуск сервера, обычно это помогает. Далее выбираем устройство и попадем в пункт “Подключенные устройства”.

Просмотр Media

После первого подключения наше устройство будет отображаться в последнем пункте LG SmartShare – “Подключенные устройства”. Если его там нет, выполните перезапуск сервера на ПК. К примеру, для просмотра фильмов нужно выбрать папку “Фильмы”, затем “Каталоги медиа ресурсов”.

Здесь вы увидите список папок, добавленных в настройках HMS. Заходим в любую папку и запускаем фильм. Иногда телевизор может написать, что “Тип файла не поддерживается”. Не отчаивайтесь, это глюк, пытайтесь запустить снова и со 2-3 раза всё получится.

Особенности HMS

Преимущества домашнего медиа сервера от Serviio следующие:

  • на телевизоре можно увидеть чёткую структуру папок ПК;
  • возможность запускать воспроизведение медиа файлов на ТВ из самой программы на ПК. Для этого нужно выбрать файл из списка и нажать на зелёную кнопочку Play, которая присутствует, если телевизор включен;
  • относительная стабильность работы (после PC SW DLNA от LG просто сказка);
  • большое количество настроек.

Недостатки:

  • некоторая запутанность для новичков;
  • иногда не срабатывает автоматическое сканирование новых файлов;
  • периодически приходится перезапускать сервер, чтобы устройство появилось в ТВ.

Несмотря на эти недостатки, HMS идеально подходит в качестве домашнего медиа сервера, в том числе и DLNA. Подробности настройки Home DLNA сервера есть на следующем видео.

Другие возможности

Возможности рассмотренного Home Media сервера не заканчиваются на DLNA. HMS может предоставлять доступ к media ресурсам компьютера ещё по технологии UPnP (Universal Plug and Play) и протоколу HTTP. Это более актуально для смартфонов и планшетов.

Но и для DLNA данный server может ещё многое. Например, можно давать доступ не только к ресурсам компьютера, а ещё и потока интернет радио и телевидения IPTV. Также есть возможность транслировать так называемые подкасты с различных онлайн кинотеатров, таких как hdserials.ru, hdkinoklub.ru и сотен других. Ещё есть возможности транскодирования медиа файлов формата, который не поддерживается на ТВ. Как вам такое? Всё это будет рассмотрено в следующих статьях, подписывайтесь на нашу рассылку, а также ВКонтакте и Твиттере.

Как-то так сложилось, что тег DLNA сервер чаще встречается в постах-вопросах, чем в ответах. И если в вопросах установки на домашний Windows-ПК какой-то пользовательский опыт накоплен, то определиться с выбором ПО для домашнего сервера/NAS-а/медиацентра - оказалось непросто. Распределившись по песочницам народ обособленно решает проблемы каждой программы в отдельности. А понять что из них чего стоит и нужно ли оно вообще - лично мне не удалось.

И вот, я вооружившись ссылкой с Википедии Как выбрать DLNA-сервер под Windows, Mac OS X или Linux - опробовал почти всё, что есть под Linux.

DLNA - его место в домашней сети

Наверное этот путь уже проходило большинство - в доме появляются новые медиа-устройства, растет количество членов семьи потребляющих медиа-контент, распухает сама база фильмов, музыки и фотографий.
При этом каждый строит медиа-инфрастуктуру по-своему. У кого-то это компьютер с TV-OUT, у кого-то нетбук или HTPC. Кто-то расшаривает папки с NAS-а по NFS, кто-то подключает HDD к медиаплееру, кто-то использует возможности Sony PS…
Появляется неразбериха в местах хранения, форматах, кодеках и т.п.
Так, в моем случае оказалось:
  • плазме в гостинной лучше подавать 720p чем FullHD
  • телевизору Sony в детской подключеному по Wi-Fi больше 15Mbit/s лучше не скармливать, H.264 ему нужен максимум Profile 4.1, а файлы на сетевых хранилищах он не видит вообще
  • спутниковый ресивер Openbox не умеет играть звуковые дорожки в DTS, по SMB не тянет больше 30Mbit/s, по NFS-не отображают кириллицу
  • Nokia Lumia и iPhone вообще ограниченны везде и всюду
В общем, единственным вариантом сдружить весь этот зверинец между собой - это использование DLNA сервера.
Теоретически - он и контент из разных мест в одиное дерево папок сведет, и разрешение подгонит и совместимость кодеков проверит и при необходимости перекодирует. Красота…

На что ставить

Домашний компьютер - как правило это Windows-машина. Смотреть фильм с перекодированием пока кто-то играет - не получиться; режима 24/7 нет и близко. На роль не подходит. Поэтому Windows версии программ я даже не рассматривал.
Роутер, прошитый DD-WRT/OpenWRT - есть пакеты для этих прошивок и они работают. Аппаратные ресурсы очень ограничены - транскодирование малореально, скорость доступа к USB порту и сетевым папкам сильно ограничена. Тем не менее - многим и такое подходит.
NAS или домашний сервер с Linux - самое универсальное решение. Программ много. Ограничений по протоколам нет. Производительности x86 процессоров 5-летней давности (в моем случае это Athlon X2-6000) хватает для одновременного перекодирования на-лету двух фильмов любого формата.

Личный опыт, оценка программ

MiniDLNA, uShare и xupnpd
Это разные проекты, но в сущности - одно и то-же. Легковесные и быстрые. Единственная функция, которую они выполняют - предоставляют сетевой доступ к медифайлам по протоколу DLNA/UPnP. Всё остальное плеер или телевизор должны уметь сами. DLNA поддерживается не в полной мере и многие устройства эти серверы просто не видят.
Очень массовые. Работают везде. Пакеты существуют под всевозможные дистрибутивов Linux, маршрутизаторы с прошивками DD-WRT/OpenWRT и NAS-ы. Процедура установки простейшая и хорошо расписана на профильных форумах. Никаких GUI нет
Если Вы, и только Вы (иначе неизбежны жалобы членов семьи):
  • смотрите/слушаете только с одного всеядного устройства (такого как телевизор Samsung)
  • Ваше устройство не умеет напрямую брать файлы с сетевых папок или делает это слишком медленно (такое как телевизор Sony Bravia)
  • храните фильмы/музыку на недорогом NAS-е или маршрутизаторе с USB-диском
  • заранее отбираете контент в нужном формате или не ленитесь перекодировать вручную
  • медиа-файлы уже хорошо отсортированы по папкам или Вас это вообще не беспокоит
- то Вам можно ограничиться и таким DLNA-сервером. Выбирать из них тот, который есть в пакетах под вашу железяку и будет увиден рендером.
MediaTomb
Разработчики однозначно пишут, что «это не DLNA-сервер, он лишь поддерживает часть его функций». И хотя некоторые проблемы совместимости могут быть, это вполне себе достойный внимания проект.
Здесь уже есть работающий через встроенный http-сервер GUI - в нем можно управлять папками с контентом. Добавлять новые, создавать ярлыки к существующим, задавать интервалы сканирования и т.п.
Хорошо распространен - нет проблемы установить в любом дистрибутиве Linux, тяжелых зависимостей за собой не тянет. Настраивается единственным текстовым файлом. Очень стабилен в работе, не ресурсоемк.
Можно использовать транскодирование, но оно реализовано в простешем виде. Так, привязка профилей осуществляется к формату входного файла, а не к устройству вывода. Сервер вообще не различает кто к нему подключился. Соответственно готовых профилей под устройства нет - все нужно настраивать вручную:
  • какие форматы транскодировать, а какие передавать напрямую
  • задать кодировщик по ситуации: ffmpeg, vlc, mplayer или что-то ещё
  • задать bitrate, количество аудио-каналов, профиль H.264 и прочие опции кодирования
  • наложить видеофильтр, такой как обрезание полей или crop
В моем случае пришлось писать отдельный скрипт для задания аргументов ffmpeg исходя из формата аудиодорожки (DTS или AC3).
При этом, при просмотре транскодированного потока на телевизоре не будет работать перемотка и выбор адуиодорожки. Прикрутить субтитры - тоже отдельная песня.
В общем - MediaTomb - весьма брутальные инструмент для true линуксоидов. Универсальным его не назовешь, но под себя и свое железо можно настроить идеально.
Rygel
Массовый, есть почти везде. Но очень криво ставится в режим демона (нужно самому писать init-скрипт, создавать папки и пользователя). Является частью проекта gnome и тянет за собой gstreamer (а то и pulseaudio). Если у кого на компьютере стоит KDE или что-то другое - совсем неудобен. Иконки для видео генерирует через tumbler из проекта XFCE, да и то с нюансами. Регулярно падает.
До изучения особенностей транскодирования у меня руки не дошли. Мой вердикт - "не годен ".
PS3 Media Server
Очень старый проект. И хотя от своего начального применения: «Раздавать фильмы/музыку с домашнего Windows ПК на Sony PS», - проект сильно развился. Но JAVA-код и требования для запуска X-сервера меня от него отвернули.
XBMC
DLNA-сервер в нём есть. Но держать этот комбайн ради одного лишь модуля глупо.
Тем более, что именно из XBMC родился отдельный проект медиа-сервера Plex.
Universal Media Server
Кривой он какой-то. Показывал мне все дерево каталогов вместо выбранной папки. Файлы открывал лишь некоторые и регулярно сыпал ошибками в консоль. С transconding-ом я вообще не разобрался.
Весьма тяжелый из-за JAVA-кода. Обязательно нужен запущенный X-сервер - демоном его не поставишь. "Не годен. "
GMediaServer
Проект заброшен. Внимания не достоин.
LXiMedia
Простая и удобная реализация DLNA-сервера. Достаточно выбрать папки с файлами, жестко задать параметры транскодирования, аудиодорожку, субтитры. Никаких пофилей, настроек. К тому-же это GUI-приложение, демоном не ставиться.
На мой взгляд он в таком виде бесполезен - один из многих и далеко не лучший.
Serviio
Пожалуй самый быстроразвивающийся проект сейчас. Регулярно обновляется. Активно обрастает плагинами, профилями и приложениями под мобильные OS.
Представляет из себя JAVA-приложение работающее демоном. Поддержка DLNA-протокола - полная. Довольно умело разбрасывает контент по папкам и категориям. Умеет создавать превьюшки к фильмам. Легко подключаются разные каналы on-line вещания.
Транскодирует при помощи ffmpeg. База профилей устройств уже достаточно большая (и продолжает пополнятся) - сервер корректно подбирает параметры кодирования для любого из домашних железок. Что не распознал - подобрать профиль или написать свой не сложно.
Из-за того, что используется ffmpeg - та-же проблема, что и в mediatomb - нет перемотки в транскодированном потоке и не меняется аудиодорожка.
Управляется это все либо из JAVA-клиента, либо web-морды, написанной на PHP, либо смартфона (есть приложения под Android и WP).
К сожалению недоступен в виде.deb или.rpm пакета. Нужно ставить вручную: создать папки, пользователя, распаковать, взять на форуме поддержки init-скрипт, прописать в автозапуск". Под Synology NAS есть готовый пакет.
В целом - вполне может стать единой точкой доступа к медиа-контенту дома. Все, что нужно - он умеет.
Skifta
Не включен в Linux-репозитории, а потому редок. Но он имеет графический инсталлятор и несет с собой jre, а потому станет почти в любой системе. Неудобен тем, что запускается в два шага - вначале утилитка в SystemTray, потом - сам media-server. Без иксов и демоном не пойдет. Очень прост и лаконичен, но сильно грузит систему (JAVA-код).
TVMOBiLi
Стоит 30$ (или абонентская плата 1,5$/мес). Доступен в виде.deb и.rpm пакетов. Не в Ubuntu/Fedora установить довольно сложно - встроенные vlc и ffmpeg наверняка найдут недостающие библиотеки и откажутся работать. У меня не получилось подобрать в Gentoo USE-флаги для vlc. Не работал совсем, пришлось переделывать профили, что-бы использовался только ffmpeg.
В целом профили транскодирования - его сильная сторона. Можно задать любую логику и любые параметры.
Управляется через симпатичную WEB-морду. Имеет богатую базу профилей транскодирования. Есть проигрывать файлов через встроенный http-сервер. Превьюшки генерировать не умеет.
Работает быстро и красиво. Хороший кандидат.
TwonkyServer
Устанавливается распаковкой tar.gz. или через инсталлятор. В Linux репозиториях его нет. Очень быстрый код, мгновенный запуск, удобный web-интерфейс. Хорошо и грамотно раскидывает контент по папкам. Есть готовые init-скрипты. Умеет извлекать из файлов meta-данные и генерировать превьюшки. Все понравилось. Одна беда - $19.95.
И все же: "Рекомендую ".
Plex
Как пишут разработчики - «A complete Media Solution». Подтверждаю.
Этот монстр вырос из XBMC и умеет все и даже больше. К фильмам найдет постеры, рейтинги и кучу данных. Сериалы к тому-же ещё и распределит по сезонам и эпизодам. Музыкальную коллекцию упорядочит из любого исходного вида.
Транскодирование делает из всего под всё. Параметрами можно управлять прямо из экранного меню телевизора. Для умных устройств вроде телевизоров LG Smart TV и Apple TV поддержка выходит далеко за пределы протокола DLNA.
Есть поддержка собственного облачного сервиса, что позволяет смотреть домашнее видео удаленно - сервер подстроит параметры отправляемого видео под возможности устройства и канала связи.
Есть отдельно написанные клиенты под мобильные OS и плитки Windows 8.
Для Ubuntu, Fedora, CentOS и массовые модели NAS есть готовые пакеты. Под все остальное - устанавливается простой распаковкой. Из зависимостей требует лишь Avahi-daemon.
К сожалению механизм транскодирования слабо допускает вмешательства в работу - профили подправить можно, но возможности сильно ограничены.

Способен решить любые задачи в рамках темы, при этом бесплатен, стабилен и как ни странно - быстр.

Очень хотелось бы, что-бы кто-то этот список дополнил и/или внес изменения.