Search
Write a publication
Pull to refresh

DLNA в действии: дружим Mediatomb с телевизором Samsung

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

Начну, пожалуй, с описания самого стандарта DLNA. Выдумывать тут нечего, процитирую Википедию:
DLNA (Digital Living Network Alliance) — стандарт, позволяющий совместимым устройствам передавать и принимать по домашней сети различный медиа-контент (изображения, музыку, видео), а также отображать его в режиме реального времени. Это технология для соединения домашних компьютеров, мобильных телефонов, ноутбуков и бытовой электроники в единую цифровую сеть. Устройства, которые поддерживают спецификацию DLNA, по желанию пользователя могут настраиваться и объединяться в домашнюю сеть в автоматическом режиме.


В качестве аппаратной части мой выбор остановился на Asus RT N-16. На данный момент это самый производительный linux-маршрутизатор для SOHO сетей. Надеюсь ни для кого не секрет, что установив на роутер альтернативную прошивку, можно значительно расширить стоковый функционал устройства. Воспользовавшись этой возможностью, я установил DLNA-сервер MediaTomb. Есть конечно и альтернативы, но самым стабильным приложением в моём случае оказался именно MediaTomb. Все настройки сервера хранятся в одном файле config.xml. С настройками по умолчанию телевизор даже не мог обнаружить DLNA-сервер. Приведу конкретные выдержки из конфига, которые помогли всё-таки подружить сервер с телевизором Samsung.
Для начало нужно добавить http-заголовки:
<custom-http-headers>
  <add header="transferMode.dlna.org: Streaming"/>
  <add header="contentFeatures.dlna.org:DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000"/>
</custom-http-headers>

Добавляем перекодировки mime-типов для того, что бы телевизор понимал какого формата файл:
Для *.mkv файлов важно указать тип «video/mpeg», а не как пишут в некоторых howto «video/x-matroska».
<mappings>
  <extension-mimetype ignore-unknown="no">
    <map from="mp3" to="audio/mpeg"/>
    <map from="ogg" to="application/ogg"/>
    <map from="asf" to="video/x-ms-asf"/>
    <map from="asx" to="video/x-ms-asf"/>
    <map from="wma" to="audio/x-ms-wma"/>
    <map from="wax" to="audio/x-ms-wax"/>
    <map from="wmv" to="video/x-ms-wmv"/>
    <map from="wvx" to="video/x-ms-wvx"/>
    <map from="wm" to="video/x-ms-wm"/>
    <map from="wmx" to="video/x-ms-wmx"/>
    <map from="m3u" to="audio/x-mpegurl"/>
    <map from="pls" to="audio/x-scpls"/>
    <map from="ts" to="video/mpeg"/>
    <map from="m2ts" to="video/mpeg"/>
    <map from="vob" to="video/mpeg"/>
    <map from="wav" to="audio/wav"/>
    <map from="mpg" to="video/mpeg"/>
    <map from="aac" to="audio/x-aac"/>
    <map from="m4a" to="audio/mp4"/>
    <map from="mkv" to="video/mpeg"/>
    <map from="mov" to="video/x-quicktime"/>
    <map from="flv" to="video/x-flv"/>
    <map from="divx" to="video/divx"/>
    <map from="avi" to="video/x-msvideo"/>
  </extension-mimetype>

На этом настройка сервера закончена.
Запускаем сервер в режиме демона: mediatomb -d
Осталось подключить к USB-порту флэшку или винт и указать какие каталоги сканировать на наличие медиа-файлов. Для этого заходим в web-интерфейc по адресу «my_router:50500» и выбираем в древовидной структуре папку c фильмами. После непродолжительного сканирования можно включать телевизор и наслаждаться просмотром медиа-контента. При просмотре крупных файлов роутер совсем не нагружается т.к. транскодирование не используется. Мне повезло с моим телевизором — он воспроизводит большинство мультимедийных форматов.
В дополнение можно установить торрент-клиент Transmission, который будет качать видео из интернета для последующего просмотра на телевизоре.
Как видите, у меня получился вполне работоспособный медиа-сервер, тихий, всеядный и экономный.
Я специально не нагружаю пост информацией по перепрошивке роутера и установке optware софта — её достаточно много в интернете, в том числе и на Хабре. Спасибо за внимание.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.