Домашний микросервер. Программное обеспечение. Раздаем контент по DLNA.

Содержание:

  1. Постановка задачи
  2. Смотрим на конкурсантов
  3. Что в итоге?

Постановка задачи

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

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

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

Требуется ли мне транскодирование или нет? Изначально я был четко уверен, что транскодирование мне не понадобится. Причиной такой уверенности служили современные телевизоры LG, читающие и проигрывающие любые форматы. Да и функция перекодирования мультимедиа требует хороших ресурсов. Либо мощного процессора, либо объемного жесткого диска (транскодирование можно делать как в режиме онлайн, так и в фоновом режиме). Спустя год, оказалось, что далеко не всё, что можно скачать из Сети, способны увидеть все серверные DLNA проигрыватели, да и проигрываются телевизором не любой мультимедийный файл. Увы, некоторые релизеры стараются выделиться и используют нестандартные кодеки или режимы кодирования, разобраться с которыми может либо компьютер, либо продвинутый мультимедийный плеер.

Так или иначе, источником медиафайлов для DLNA проигрывателя выступает torrent клиент, который их откуда-то скачивает и складирует в папку. Проблема тут возникает в самом неожиданном месте. Если торрент-клиент скачивает файлы в директорию, которая сканируется DLNA-плеером, то тут могут возникать излишние коллизии, связанные с повышенной нагрузкой на сервер. Файл еще не докачен, а плеер уже пытается его индексировать. Самым разумным способом избежать непроизводительной нагрузки на минисервер я бы назвал временное хранение не докаченных файлов в директории недоступной DLNA-плееру. Такая функция присутствует в Transmission.

Кстати о ресурсах минисервера. Для осуществления процедуры транскодирования «на лету», особенно если обрабатываться какой-нибудь видеофильм в разрешении FullHD, требуются существенные ресурсы, коих на микросервере может и не быть. По этой причине я решил не полагаться на функцию перекодировки как на основную и обязательную к присутствию. Во всяком случае, в случае неподдерживаемого формата, можно поискать релиз другого формата. Либо провести перекодирование в фоновом режиме, ну или совсем руками на рабочем компьютере.

Смотрим на конкурсантов

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

MiniDLNA

Пожалуй, MiniDLNA (второе название ReadyMedia) самое популярное и самое аскетичное решение по трансляции DLNA потоков по сети. Плеер не может ничего, кроме как транслировать мультимедийные потоки в сеть. MiniDLNA не имеет привычного интерфейса, не занимается перекодированием файлов, не поддерживает и множество других ненужных функций. Только чистый хардкор и на минимуме ресурсов.

Кстати, устанавливается MiniDLNA в одну строчку (sudo apt-get install minidlna), так как находится в стандартных репозиториях Ubuntu. Ну а для тех, кто хочет немного поэкспериментировать, есть возможность применения сложных способов установки, например, так, как описано в этой статье. MiniDLNA — настоящий автомат Калашникова в мире серверных плееров. Финтифлюшек нет вовсе, зато работает. Однозначно рекомендуется к установке на микросервере. Хотя многие устанавливают MiniDLAN даже на роутерах и сетевых утюгах Phillips. Вставляют флешку с фильмами и гоняют киношку по сети на своих телеках.

Кстати, если все же есть желание ходить в гости к MiniDLNA не через SSH, то есть возможность прикрутить веб-интерфейс. Я лично его не проверял, просто незачем, поэтому возможность чисто гипотетическая.

Serviio Media Server

Serviio это не цацки-пецки, а самый настоящий мультимедийный комбайн, позволяющий делать если не все, то почти все. Разработчики заявляют примерно следующие возможности: полноценный DLNA-плеер, онлайн-перекодировка с использованием профилей с распознанием конкретного оборудования, поддержка тучи форматов кодирования файлов включая RAW-файлы с фотографиями, стриминг из онлайн источников, с возможностью подключения плагинов для трансляций с совсем странных и недружелюбных источников. И последняя функция вызывает неподдельный интерес.

Консоль сервера Serviio. Настройка транскодирования.

Консоль сервера Serviio. Настройка транскодирования.

По идее, Serviio может получать потоковые данные, например, по RTSP и отдавать их своим клиентам. Возможность очень интересная и потенциально далеко идущая, но тут есть одно но. Ту версию, что тестировал я, можно было заставить транслировать потоки извне, но мне так и не удалось заставить ее перетранслировать их в DLNA. А ценность, без перетрансляции — нулевая. Ведь, с обычного компьютера можно с легкостью зайти на внешний ресурс с трансляцией и просмотреть там все что требуется, без любых промежуточных посредников.

Настройка папок в Serviio

Настройка папок в Serviio

В целом у меня создалось впечатление, что Serviio это не столько DLNA плеер, сколько специальное приложение-оболочка для сетевого медиаплеера. Да, была такая мода одно время, впрочем, она еще и сейчас продолжается, когда собирался бесшумный компьютер, да подключался к телевизору. Компьютер воспроизводил мультимедиа как со своего жесткого диска, так и по сети. Фишка подобных плееров была в том, чтобы поразить пользователя удобством и красотой интерфейса. И ведь даже Microsoft было ринулся в эту же гонку, но, как водится, где-то в середине спасовал и совсем сошел на нет.

Отображение информации о фильме в Serviio

Отображение информации о фильме в Serviio

Ну так вот, именно на красоту и удобство управления как раз и нацелен Serviio. Включаешь плеер и у тебя на телевизоре буйство красок, все фильмы и музыка рассортированы по папочкам, у всех есть краткие описания и релевантные обложки. Водишь пультом-мышкой и выбираешь чтобы сегодня такого, эдакого, посмотреть нам в доброй частно́й компании. Но увы, в то время, когда сам телевизор уже с усами, потребность в подобных плеерах постепенно отпадает, если не сказать, что совсем сходит на нет. И единственным сценарием, который приходит на ум, где можно применять подобное, так это модернизация стареньких аппаратов, которые сами ничего толком проиграть не могут. Да и тут, возможно, что будет гораздо дешевле отделаться готовым сетевым плеером. Он и места займет меньше, да и стоить будет дешевле.

Трансляция внешних источников в Serviio

Трансляция внешних источников в Serviio

А если еще учесть, что Serviio выполнен на Java… Не поймите меня превратно, я вовсе не против языка Java как такового. Еще в начале 2000-х я активно занимался пропагандой этого чуда и внедрения его в различные IT-проекты. Но благодаря упоротой упорной политике Sun, Java скатилась до нишевого решения для бизнес-сектора, где требуется длительный и надежный срок эксплуатации, а не красивости и модные финтифлюшки. Посему Serviio не лучший выбор для трансляции DLNA, особенно если ресурсы сервера ограничены. Желательно поискать более подходящее решение.

Plex

Зародившись на волне энтузиазма самопальных бытовых медиаплееров, разработчики Plex быстро смекнули, что бум продлится не долго, а крупные игроки наверняка отожмут сою долю рынка не далее, чем скоро. И поэтому ребята пошли немного в другом направлении, нежели владельцы Serviio.

Если в Serviio упор сделан на визуальную красоту и возможность транскодирования медиапотоков, то в Plex, основное маркетинговое преимущество увидели в возможности носить свою медиабиблиотеку с собой. В те времена, когда выкристаллизовывалась концепция трансформации Plex из просто красивого плеера, в нечто большее, облака еще не пришли прочно и надолго в нашу жизнь. Поэтому пользователи вынуждены были применять различные методы синхронизации файлов между всеми своими устройствами, либо вообще закидывать их вручную (на те устройства, которые подобные операции вообще допускают). Как решить подобное неудобство?

А очень просто. Достаточно связать все свои устройства в единую виртуальную сеть и смотреть видео (или слушать музыку) без перерыва. Удобно, спору нет. Начал смотреть утром очередную серию мыльной оперы за завтраком, продолжил ее просмотр в поезде подземки, а закончил уже вечером, во время ожидания супружницы в кафе. И все это посредством сервиса Plex.

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

Браузер файлов в Plex

Браузер файлов в Plex

Помимо всего прочего усилиями команды Plex, приложение стало появляться на телевизорах основных игроков. Правда, ознакомиться с приложением мне не удалось, приложение хоть и скачалось на мой LG, но работать с ним пока могут лишь обладатели проплаченного Plex-Pass, платного доступа к услугам «сети» Plex. Кстати, на совсем старых «умных» телевизорах были оригинальные приложения Plex, которые позволяли подключаться к серверу Plex и смотреть киношки прямо с него. Но я подобных уже не застал.

Plex помимо вышеописанного набора функций способен проводить трансляцию по DLNA, что и позволило его включить в обзор. Так же доступны и плагины-расширения, позволяющие добавлять нечто новое к системе. А если немного покопаться, то можно найти даже неофициальный клиент для Plex под телевизионные приемники LG. Что он дает? А совсем немногое — всего лишь возможность воспроизведения библиотеки Plex на телевизоре LG с предварительным выбором фильма с обложкой.

Просмотр детальной информации о фильме в Plex. Информация подкачивается автоматически.

Просмотр детальной информации о фильме в Plex. Информация подкачивается автоматически.

В целом, хоть Plex и намного шустрее, и легче нежели Serviio, его целевая аудитория явно отличается от моих потребностей. Мне не требуется ни ручное, ни автоматическое каталогизирование моих медиафайлов, поскольку я стираю ненужное после просмотра. А шансы на то, что вдруг мне захочется глянуть на какой-то фильмец еще разок, стремятся к нулю. Если уж совсем припрет, то я смогу скачать его еще раз оттуда же откуда и в первый раз утянул. Более того, никакой трансформации контента в Plex нет, всё работает абсолютно с листа. И если уж ваш телек отказался проигрывать хитрозакодиравнный файл по DLNA, то придется либо перекодировать его самостоятельно, либо искать другой релиз с менее охочим до экономии битов кодировщиком.

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

Что в итоге?

А в итоге у нас вырисовывается не совсем приятная картина. Казалось бы, адепты Linux кичатся тем, что под эту разновидность операционных систем есть великое множество приложений самого разного толка и направлений. А по факту, если начинаешь копать в плане получения чего-то, что на 100% удовлетворит твои такие необширные запросы, то оказывается, что существует только одна программа, которая работает более-менее. И то что она существует — есть заслуга ее автора, который, не щадя живота своего, сводя концы с концами, допиливает ее время от времени, устраняет ошибки и привносит немного нового функционала. И хорошо, что сии упражнения ему пока не надоели. А то глядишь, так и останешься работать на версии десятилетней давности. Но прочь все домысли и стенания, перейдем к конкретному заключению. А оно будет таково:

При всем многообразии DLNA-плееров под Ubuntu, фактически можно говорить только о трех приложениях: Serviio, Plex Media Server и MiniDLNA. И только последний, хоть как-то адекватно решает возложенную на него задачу. Все же остальные, увы, предназначены немного для другого, а возможности по трансляции DLNA в них реализованы лишь по только поскольку. И повторюсь про свой выбор для организации DLNA трансляций. Это MiniDLNA и только он. Даже установив сразу несколько приложений, понимаешь, что пользоваться, при прочих равных, удобнее именно MiniDLNA, а не чем-то другим, даже несмотря на всю его аскетичную самодостаточность.

Ссылки на другие части:
Домашний микросервер. Идея.
Домашний микросервер. Аппаратное обеспечение. Сервер.
Домашний микросервер. Программное обеспечение. Операционная система. Ubuntu.
Домашний микросервер. Программное обеспечение. Основные и системные программы под Ubuntu.
Домашний микросервер. Программное обеспечение. Скачиваем торренты.
Домашний микросервер. Программное обеспечение. Раздаем контент по DLNA.
Домашний микросервер. Аппаратное обеспечение. Китайская NoName IP-видеокамера на основе чипа HI3518E_50H10L_S39.

Домашний микросервер. Программное обеспечение. Видеонаблюдение на основе IP-камер и Xeoma.
Домашний микросервер. Программное обеспечение. Шифруем конфиденциальную информацию в Ubuntu при помощи eCryptfs и хранением ключей в TPM.
Домашний микросервер. Программное обеспечение. Умный дом.



Домашний микросервер. Программное обеспечение. Раздаем контент по DLNA.: 2 комментария

  1. Уведомление: Домашний микросервер. Программное обеспечение. Скачиваем торренты. | Многобукфф

  2. Уведомление: Домашний микросервер. Аппаратное обеспе́чение. Сервер. | Многобукфф

Добавить комментарий