Как сделать dlna сервер
Как настроить DLNA сервер: настройка медиа сервера в домашней сети
Организация домашней сети – технология DLNA
Сегодня вы узнаете как правильно подключить телевизор к компьютеру и обо всех возможностях такого подключения, а также как организовать просмотр своей медиатеки на Smart TV и других устройствах, поддерживающих домашний DLNA сервер.
Что такое DLNA?
Консорциум интегрированной цифровой сети (DLNA) представляет собой группу компаний, объединившихся с целью создания общепринятого открытого стандарта для подключения устройств, чтобы все клиенты, имеющие поддержку DLNA могли в автоматическом режиме, находясь в одной сети, получать друг от друга возможность просмотра медиа контента.
Какие устройства поддерживают DLNA?
Технология DLNA совместима с любыми устройствами:
Все устройства с поддержкой DLNA имеют соответствующий логотип или наклейку с указанием типа поддерживаемого цифрового контента (например, аудио, видео, фотографии), а также назначение: сервер, принтер, плеер, и т.д. Поддержкой DLNA обладает большинство устройств от крупных производителей, таких как Intel, HP, Motorola, HTC, Microsoft, Samsung, Sony, LG, Panasonic и др. Apple разработала свой стандарт — AirPlay. Если у вас устройство от Apple, то использование его в вашей медиасети, состоящей из клиентов других производителей, не представляется возможным.
Как работает сеть DLNA?
Как вы уже поняли, устройства DLNA предназначены для взаимного подключения: создания мультимедиа сети между собой. Каждому устройству присвоен свой тип в зависимости от его назначения. К примеру, любое накопительное устройство: смартфон, медиаплеер, телевизор или ПК, могут принадлежать как к типу цифровой медиасервер (Digital Media Server), так и цифровой медиаплеер (Digital Media Player), ведь они способны как принимать, так и воспроизводить цифровой контент с другого устройства DLNA.
Как создать сеть DLNA?
Соответственно, для создания домашней DLNA сети вам понадобится один сервер DLNA для хранения контента (например, ноутбук или NAS сервер) и одно устройство DLNA для его воспроизведения (например, телевизор), а также настроенная домашняя сеть.
Беспроводной маршрутизатор (или wi-fi роутер) является центральным элементом в сети и используется для подключения устройств друг к другу в общей домашней беспроводной сети.
Оборудование для построения домашней сети с DLNA
Я буду рассказывать о построении DLNA сети не только с беспроводным подключениеи, вы также можете использовать и проводной способ подключения устройств, вместо wi-fi роутера использовать обычный маршрутизатор (свитч) для соединения источника файлов (домашний сервер – DLNA сервер) с устройством отображения (DLNA клиент). Также вы можете использовать Powerline-адаптеры (для раздачи интернета через электросеть), помимо этого вам понадобятся кабели Ethernet для подключения к вашей сети устройств.
Как настроить домашний медиа сервер DLNA?
1 Подключение телевизора с поддержкой DLNA к wi-fi роутеру (например, Samsung со Смарт ТВ).
Вариант 1 – проводное подключение. Подключение с помощью кабеля Ethernet в маршрутизатор. Достаточно соединить один конец кабеля к порту LAN телевизора, а другой — к свободному порту маршрутизатора (или свитча, в зависимости от структуры вашей сети).
Вариант 2 – беспроводное подключение. Если вы используете wi-fi роутер (беспроводной маршрутизатор), то достаточно подключить телевизор к существующей беспроводной сети через встроенный или внешний (USB) wi-fi адаптер, напрямую к роутеру. Если телевизор сильно удален от роутера, то можно установить беспроводной мост (использовать роутер в режиме Bridge или купить усилитель сигнала wi-fi) для подключения телевизора к маршрутизатору. Рекомендую также прочитать статью об оптимизации беспроводной сети. Беспроводной мост подключается к телевизору в LAN-порт, а к маршрутизатору по wi-fi точке доступа.
Вариант 3 – подключение с помощью Powerline-адаптеров. Данный тип соединения использует электросеть без прокладывания кабелей Ethernet. Данный способ поможет настроить домашнюю сеть с использованием существующей электропроводки и кабели для подключения клиентов DLNA уже не потребуются. Powerline-адаптеры выпускают почти все производители сетевого оборудования: TP-Link, Netgear, D-Link и др. Называются они Powerline-устройства. Далее вы просто как обычно подключаете вилку маршрутизатора, телевизора и других устройств в розетку электросети, но теперь уже все ваши устройства будут формировать сеть DLNA.
2 Добавление других совместимых с DLNA устройств в домашнюю сеть
Теперь можно подключить к роутеру серверы DLNA (устройства с которых вы хотите воспроизводить файлы на смарт-телевизоре) — ПК, ноутбук, телефон или медиаплеер. Все серверы будут отображаться на смарт-телевизоре, так как они находятся в одной сети, и можно воспроизводить контент, который хранится у них на носителях. Существуют различные способы настройки разнообразных типов устройств в сети DLNA.
ПК и ноутбуки в сети DLNA
Подключите компьютер или ноутбук к маршрутизатору или роутеру любым из указанных выше вариантов. Самый важный момент в настройке DLNA на ПК или ноутбуке: необходимость установить соответствующее программу – медиацентр (медиа оболочка). Самые популярные их них (на каждую программу дана ссылка с информацией о ней и настройке):
Есть возможность не прибегать к установке приложений медиацентров для создания DLNA-сервера, а воспользоваться Windows Media Player 11 или 12. Для их использования в качестве DLNA-сервера, необходимо разрешить доступ к файлам на вашем ноутбуке или ПК: откройте Windows Media Player, перейдите в меню «Параметры», затем откройте вкладку общего доступа к файлам Windows Media и активируйте обмен медиафайлами.
Окно интерфейса медиацентра Kodi
Вы можете выбрать медиа оболочку для использования в качестве DLNA сервера из списка выше. После установки понравившейся программы для создания медиацентра (DLNA-сервера) следует ее настроить и выбрать файлы (фото, видео, музыкальные файлы) для передачи на телевизор или другое устройство отображения.
Мобильные устройства в сети DLNA
В настоящее время практически любой современный смартфон или планшет можно подключить к сети DLNA, достаточно лишь подключить их к своей домашней беспроводной сети (wi-fi роутеру). Чтобы найти DLNA-сервер, установите файловый менеджер с поддержкой отображения локальных устройств в сети (например, ES Explorer). Подробнее об использовании мобильных устройств в домашней сети читайте в статье «Смартфон как пульт управления». Не менее интересный материал на эту тему: «Как смотреть фото и видео со смартфона на телевизоре».
3 Настройка DLNA на телевизоре
После того как вы подключили все устройства DLNA, включите телевизор и перейдите на домашний экран вашего Smart TV (на примере телевизора Samsung). Найдите и запустите приложение AllShare, которое позволит найти музыку, фотографии и видео, хранящиеся на устройствах DLNA вашей сети.
Если у вас телевизор Sony (модель до 2015 года), то вам необходимо включить его, нажать кнопку «Home» и включить «Media Player». После того как вы выберите тип контента: музыка, фотографии или видео, вы сможете увидеть DLNA-сервера в вашей домашней сети.
4 Использование DLNA на ОС Android
Для просмотра видео с компьютера на смартфонах и планшетах с операционной системой Android необходимо установить специальное приложение. Таких приложений довольно много, я могу посоветовать MediaHouse или Bubble UPnP, которые можно бесплатно скачать в Google Play.
После того как вы установите приложение, необходимо сделать несколько простых шагов:
Помимо универсальных приложений, производители мобильных устройств предлагают собственное ПО с поддержкой DLNA. У компании Samsung – AllShare, у LG — SmartShare и т.д.
Использование приложений с поддержкой DLNA на устройствах с ОС Android не требует никакой настройки. Достаточно запустить DLNA-сервер (например, Kodi на компьютере), и он сразу отобразится в списке доступных подключений в приложении на смартфоне или планшете. Выберите из списка ваш компьютер, нажмите «Browse» и укажите необходимую папку. Не забывайте, что ваш смартфон тоже может работать в роли DLNA-сервера.
DLNA-сервер для дома и семьи
Как-то так сложилось, что тег DLNA сервер чаще встречается в постах-вопросах, чем в ответах. И если в вопросах установки на домашний Windows-ПК какой-то пользовательский опыт накоплен, то определиться с выбором ПО для домашнего сервера/NAS-а/медиацентра — оказалось непросто. Распределившись по песочницам народ обособленно решает проблемы каждой программы в отдельности. А понять что из них чего стоит и нужно ли оно вообще — лично мне не удалось.
И вот, я вооружившись ссылкой с Википедии Как выбрать DLNA-сервер под Windows, Mac OS X или Linux — опробовал почти всё, что есть под Linux.
DLNA — его место в домашней сети
На что ставить
Домашний компьютер — как правило это Windows-машина. Смотреть фильм с перекодированием пока кто-то играет — не получиться; режима 24/7 нет и близко. На роль не подходит. Поэтому Windows версии программ я даже не рассматривал.
Роутер, прошитый DD-WRT/OpenWRT — есть пакеты для этих прошивок и они работают. Аппаратные ресурсы очень ограничены — транскодирование малореально, скорость доступа к USB порту и сетевым папкам сильно ограничена. Тем не менее — многим и такое подходит.
NAS или домашний сервер с Linux — самое универсальное решение. Программ много. Ограничений по протоколам нет. Производительности x86 процессоров 5-летней давности (в моем случае это Athlon X2-6000) хватает для одновременного перекодирования на-лету двух фильмов любого формата.
Личный опыт, оценка программ
MiniDLNA, uShare и xupnpd
MediaTomb
Rygel
Массовый, есть почти везде. Но очень криво ставится в режим демона (нужно самому писать init-скрипт, создавать папки и пользователя). Является частью проекта gnome и тянет за собой gstreamer (а то и pulseaudio). Если у кого на компьютере стоит KDE или что-то другое — совсем неудобен. Иконки для видео генерирует через tumbler из проекта XFCE, да и то с нюансами. Регулярно падает.
До изучения особенностей транскодирования у меня руки не дошли. Мой вердикт — «не годен«.
PS3 Media Server
Очень старый проект. И хотя от своего начального применения: «Раздавать фильмы/музыку с домашнего Windows ПК на Sony PS», — проект сильно развился. Но JAVA-код и требования для запуска X-сервера меня от него отвернули.
DLNA-сервер в нём есть. Но держать этот комбайн ради одного лишь модуля глупо.
Тем более, что именно из XBMC родился отдельный проект медиа-сервера Plex.
Universal Media Server
Кривой он какой-то. Показывал мне все дерево каталогов вместо выбранной папки. Файлы открывал лишь некоторые и регулярно сыпал ошибками в консоль. С transconding-ом я вообще не разобрался.
Весьма тяжелый из-за JAVA-кода. Обязательно нужен запущенный X-сервер — демоном его не поставишь. «Не годен.«
GMediaServer
Проект заброшен. Внимания не достоин.
LXiMedia
Простая и удобная реализация DLNA-сервера. Достаточно выбрать папки с файлами, жестко задать параметры транскодирования, аудиодорожку, субтитры. Никаких пофилей, настроек. К тому-же это GUI-приложение, демоном не ставиться.
На мой взгляд он в таком виде бесполезен — один из многих и далеко не лучший.
Serviio
Skifta
Не включен в Linux-репозитории, а потому редок. Но он имеет графический инсталлятор и несет с собой jre, а потому станет почти в любой системе. Неудобен тем, что запускается в два шага — вначале утилитка в SystemTray, потом — сам media-server. Без иксов и демоном не пойдет. Очень прост и лаконичен, но сильно грузит систему (JAVA-код).
TVMOBiLi
TwonkyServer
Как пишут разработчики — «A complete Media Solution». Подтверждаю.
Этот монстр вырос из XBMC и умеет все и даже больше. К фильмам найдет постеры, рейтинги и кучу данных. Сериалы к тому-же ещё и распределит по сезонам и эпизодам. Музыкальную коллекцию упорядочит из любого исходного вида.
Транскодирование делает из всего под всё. Параметрами можно управлять прямо из экранного меню телевизора. Для умных устройств вроде телевизоров LG Smart TV и Apple TV поддержка выходит далеко за пределы протокола DLNA.
Есть поддержка собственного облачного сервиса, что позволяет смотреть домашнее видео удаленно — сервер подстроит параметры отправляемого видео под возможности устройства и канала связи.
Есть отдельно написанные клиенты под мобильные OS и плитки Windows 8.
Для Ubuntu, Fedora, CentOS и массовые модели NAS есть готовые пакеты. Под все остальное — устанавливается простой распаковкой. Из зависимостей требует лишь Avahi-daemon.
К сожалению механизм транскодирования слабо допускает вмешательства в работу — профили подправить можно, но возможности сильно ограничены.
Способен решить любые задачи в рамках темы, при этом бесплатен, стабилен и как ни странно — быстр.
Очень хотелось бы, что-бы кто-то этот список дополнил и/или внес изменения.
Простой способ создания и использования DLNA сервера для домашнего хранилища
В последние несколько лет, когда интернет начал свое движение в сторону всё большей и большей доступности, количество разнообразного контента растёт в геометрической прогрессии, а способы его хранения явно стали нуждаться в апгрейде. Всевозможные CD- и DVD-диски оказались не только весьма подвластны времени, но и весьма ограничены в объёме; пришедшие им на смену USB flash носители были объёмнее, быстрее и универсальнее, но полностью «закрыли» вопрос выбора самого удобного способа для хранения контента внешние жёсткие диски.
Следующим этапом стала проблема универсализации, которая бы позволила не только удобно хранить фото или фильмы, но и в простом и понятном, а по возможности ещё и универсальном способе потреблять этот контент в рамках как минимум отдельно взятой квартиры. По сути, список протоколов, которые могли быть использованы для решения этой задачи, состоит из трёх пунктов: FTP, SMB и DLNA. Более всего для стриминга медиа предназначен последний.
Строго говоря, DLNA — это не протокол, а набор стандартов, которые используются для принятия и передачи различных типов мультимедийного контента. По данным Wiki, Digital Living Network Alliance ещё в далёком 2013 году насчитывал более 200 производителей оборудования, и встретить поддержку технологии в современных планшетах, телефонах, приложениях и Smart TV сейчас легко, а список поддерживаемых форматов для фото, аудио и видео просто огромен.
С чего начать?
Самым простым способом развернуть DLNA-сервер для совместного использования дома становится связка из роутера ZyXEL (даже среднего ценового диапазона, прошлого поколения с USB портом — в конкретном случае это Keenetic Ultra) и внешнего жёсткого диска, который так или иначе есть почти у каждого. Стоит иметь ввиду, что роутер вряд ли будет стабильно работать с дисками более 2.5 ТБ, а также использование внешнего питания для диска крайне желательно.
Далее на диске, который будет подключен к роутеру, нужно создать папку для контента, скопировать туда всё, что нужно (поддиректории поддерживаются вплоть до 3 уровней). Дальнейшая конфигурация состоит из указания папки для сканирования.
В зависимости от количества контента процесс может занять до нескольких часов, но это требуется только один раз, в дальнейшем при добавлении или удалении файлов сервер будет индексировать изменения за считанные секунды.
Если же вам не нужен сервер, который будет работать в режиме 24х7 независимо от других устройств, то стоит обратить внимание на программы Home media server (только Windows), PLEX (WIndows, Mac, Unix и даже FreeBSD), KODI (ex XBMC, WIndows, Mac, Unix, FreeBSD, Android, iOS при наличии Jailbreak и даже Raspberry Pi). Помимо этого есть ещё сетевое оборудование ASUS и OpenWRT based прошивки для ряда роутеров (тут уже на свой страх и риск).
Как смотреть?
Итак, с настройкой и копированием контента всё понятно, теперь же поговорим о том, как можно смотреть всё это.
Для ноутбуков на Windows и Mac самым простым способом будет использования всеядного и широко известного плеера VLC, из пункта «протокол UPnP» виден созданный нами DLNA-сервер и доступна возможность не только просмотреть контент по категориям, но и просто по папкам.
Для iOS-устройств Apple есть множество альтернативных плееров (VLC тоже есть) с поддержкой различных протоколов, из них самым удобным является nPlayer (платная версия или бесплатная с рекламой), который позволяет не только смотреть контент, но и скачивать его на устройство, а также запоминает позицию воспроизведения. Словом, приложение классное.
Для Android-устройств задача ещё более упрощается ввиду того, что большая их часть поддерживает DLNA из коробки, для остальных можно посоветовать приложение BubbleUPnP for DLNA/Chromecast (платная версия или бесплатная с рекламой), которое позволяет работать с DLNA и открывать видео посредством любого удобного для вас плеера, включая даже системный.
Smart TV большинства производителей (в случае Samsung с самого первого поколения) достаточно только иметь подключение к сети любым способом, буквально через несколько минут после включения в списке источников появится сервер с возможностью навигации по папкам и по типу контента.
Запас прочности и использование в реальной жизни
Несмотря на простоту решения, его работа весьма стабильна, а запас прочности велик, так что можно смотреть файлы объёмом до 4-6 Гбайт. Число одновременных подключений выдерживает 3-4 устройства без каких-либо проблем с производительностью.
Даже Android-устройства среднего уровня и самые старые поколения iPhone и iPad воспроизводят видео с диска посредством DLNA без проблем с производительностью.
Единственным минусом, характерным только для Smart TV, является отсутствие возможности быстрой перемотки файла — её можно делать только шагами по минуте или две, что несколько усложняет просмотр видео не с начала.
Итоги
Использование DLNA фактически не имеет альтернатив ввиду специфичности решений класса STB, весьма ощутимой цены и малого распространения HDMI-стиков под управлением Windows 10, а универсальность использования и создания DLNA-сервера с минимальными затратами на дополнительное «железо» просто бьёт в пух и прах возможные альтернативы в лице NAS.
О каких технологиях вам было бы интересно почитать в следующий раз?
Спасибо за внимание
Как создать DLNA сервер: самый простой способ расшарить контент дома
У любого современного пользователя накапливается довольно много всевозможного медиаконтента и встает проблема его хранения. Не всем по карману приобрести NAS, ведь CD- и DVD-диски не жалуют объемом и удобством доступа, поэтому большинство хранит свой контент на ПК или USB-накопителях (флешки и внешние жёсткие диски).
Требуется универсальное устройство хранения, которое обеспечит быстрым и беспрепятственным доступом к медиаколлекции в рамках домашней сети квартиры или частного дома. Функции, которые должно поддерживать устройство для решения этой задачи: протокол SMB и стандарт DLNA. Для полноценного стриминга медиаконтента наиболее предпочтителен последний. DLNA представляет собой набор стандартов для трансляции различного мультимедийного контента с поддержкой множества фото- аудио- и видеоформатов.
Расшариваем USB жесткий диск через роутер
Самый простой способ организовать DLNA-сервер для совместного доступа дома является связка из роутера с USB портом и внешнего жёсткого диска, так как подобные устройства сейчас есть почти у каждого. Стоит проверить лишь поддерживаемый объем жесткого диска вашим роутером. Для своих клиентов я часто делаю связки с роутером ASUS RT-N66U и сетевым хранилищем Western Digital My Cloud 4 Тб и более. Данные устройства взяты в качестве примера не ради рекламы, а как стабильные и проверенные на практике временем.
Если это обычный USB жесткий диск, то просто создайте папку для контента и перенесите туда всё, что нужно (с вложенностью директорий не ниже 3 уровней). Дальнейшими действиями укажите папку для сканирования. В зависимости от количества медиаконтента процесс может занять до нескольких часов, но это требуется только один раз, так как в дальнейшем при добавлении или удалении файлов сервер будет индексировать изменения за считанные секунды.
Если Вас не устраивает подобное решение и нет необходимости в доступе в режиме 24х7, то стоит обратить внимание на следующие программ:
Для ноутбуков на Windows и Mac самым простым способом будет использование плеера VLC с поддержкой протокола UPnP. С его помощью Вы сможете получать доступ к контенту на Вашем жестком диске, подключенном к роутеру для просмотра по папкам или категориям.
У iOS-устройств от Apple существует множество альтернативных плееров (VLC в том числе) с поддержкой различных протоколов. Особенно хочу отметить nPlayer, который позволяет не только просматривать контент, но и скачивать его на устройство. Плюс ко всему, это приложение запоминает позицию воспроизведения.
Большинство устройств на ОС Android поддерживают DLNA по-умолчанию, для остальных рекомендую приложение BubbleUPnP for DLNA/Chromecast, способное работать со стандартом DLNA и воспроизводить видео средствами любого привычного плеера, включая даже системный.
Большинство производителей смарт-телевизоров (практически все модели Samsung) поддерживают стандарт DLNA, Вам достаточно иметь подключение к сети Интернет, чтобы иметь доступ к серверу с возможностью навигации по папкам и по типу контента.
Решение с подключенным к роутеру жестким диском максимально простое и довольно стабильное. Конечно множество одновременно подключенных устройств подобный вариант не выдержит, но вполне можно просматривать BD-рипы до 10 Гб.
Несмотря на наличие совсем старого Android-устройства среднего класса или стареньких iPhone и iPad, Вы всегда сможете безпрепятственно воспроизводить видео с диска посредством DLNA.
Для Смарт ТВ ощутимым недостатком будет отсутствие возможности быстрой перемотки файла (с обычным пультом поддерживается только пошаговая), но этот вопрос можно решить покупкой пульта с гироскопом за несколько долларов на Aliexpress (так называемая AirMouse).
Домашний медиа сервер minidlna
На кой черт это надо?
Так сложились обстоятельства, что мне удалось скоммуниздить старенький ПК, да и чтобы он просто не пылился, так как такое старье продавать за 5-7 тысяч (цена в моем регионе за подобную конфигурацию) мне стыдно, а получать за него 3 тысячи — ну такое. Я решил, сделаю дома небольшую библиотеку фильмов, музыки, да и у жены очень много фотографий, которые её очень дороги. Задумка была следующей.
Некий медиа сервер, который будет транслировать медиаконтент на телевизор.
Некое локальное хранилище для файлов, порой приходится с флешками побегать, а то жесткого диска на 500ГБ не хватает.
Торрент клиент, который будет качать все что я пожелаю.
Цели поставлены, осталось их реализовать. Вряд ли опытные пользователи найдут здесь что-то полезное для себя, наверное, только начинающие пользователи Linux, так как все действия очень простые в исполнении.
Установка Linux
То, как поставить линукс, я думаю, не стоит говорить. Я просто опишу что я сделал после установки. Во-первых, пока компьютер был возле меня, я настроил статический адрес в файле /etc/netplan/00-installer-config.yaml
Думаю, тут вроде понятно, что где что и как. Конечно, правильнее было бы привязать ip-адрес через роутер, но у меня роутер Xiaomi, и там все в иероглифах. Я просто сделал статический ip-адрес на компьютере. После этого я его отнес в подвал и подключил к роутеру и сел за рабочую машину. Теперь стоит создать пару ssh-ключей для удобства
Ну и отправил ключ на медиа сервер
Теперь настрою файл
Установка transmission-daemon
И так, начну с торрент-клиента transmiss-daemon.
Так обновятся все пакеты и установится transmiss-daemon. Вообще не рекомендуется ставить без ведома все подряд, но так как у меня система только что установленная, установятся только обновления системных пакетов, и вряд тли что-то сломается. После установки transmission-daemon нужно его выключить для того что произвести настройку.
Если править файл конфигурации /etc/transmission-daemon/settings.json в тот момент как демон работает, изменения не сохранятся. И так мне надо поправить несколько строк, но для начала создам папки куда будет все качаться. Я создам все папки для медиа контента в /media и будет /media/torrent/downloads для загружаемых файлов и /media/torrent/complete для файлов которые уже загрузились
сразу сменю владельца на папки для загрузки на debian-transmission
И запуск transmission
и захожу в web-панель transmission по ip-адресу и порту 9091, у меня это 192.168.31.5:9091
web-интерфейс transmission
transmission почти готов теперь настрою проксирование через NGINX
Установка NGINX и настройка проксирования
Я поставил весь nginx, но в теории достаточно и самого пакета nginx
После установки проверю, работает ли веб сервер зайдя на ip-адрес машины
Приветственное сообщение от Nginx
И создам файл /etc/nginx/sites-enabled/home.conf с базовым содержимым
Немного объясню файл. listen 80 указываем на каком порту будет слушаться сайт, root /var/wwww/home я создал папку от имени root и поместил туда простую страницу html взятую из интернета для проверки как будет все работать.
html страница скачанная из интернета
Так же я добавил строку 192.168.31.5 home.ru в рабочей машине в файл /etc/hosts для того что бы сайт мог открываться в браузере с рабочей машины по адресу home.ru что и указал в файле home.conf server_name home.ru
Настройка проксирования transmission-daemon через nginx
NGINX вообще мощная фигня, и для того что бы открывать web-панель transmisson через http://home.ru/transmission/ его будет более чем достаточно. Все правки я буду делать в файле /etc/nginx/sites-enabled/home.conf для начала добавлю новый location и в нём укажу что бы он проксировал запрос с home.ru/transmission/ на 127.0.0.1:9091
блок location для transmission
полный файл home.conf
Написание скрипта
Так сложилось, что у меня телевизор Samsung толком не воспроизводит видео в формате avi, а если и воспроизводит то как то криво. Нельзя перемотать, длительность фильма такая — что люди стока не живут, да и самое неприятное заключается в том что посреди фильма он может просто оборваться. А вот формат mkv он ест нормально. И поэтому я решил написать небольшой скрипт на bash который будет запускать сам transmission-daemon после загрузки файла. Немного подумав над логикой и посмотрев как качаются разные файлы, выстроил себе цепочку действий. Во-первых надо понять, скачалась папка или файл. Если папка, то создать такую же папку в директории для DNLA сервера, если файл, то пропускаем. Возвращаемся к папке, теперь смотрим на содержимое папки, если файлы avi то конвертируем их через ffmpeg в конечную папку, если в папке файлы mkv то просто перемещаю их, но если там то-то другое, просто кидаю в /tmp для дальнейшего анализа. Теперь возвращаемся к началу скрипта, если же это не папка, а файл то, смотрим на формат и при необходимости конвертируем. Вроде ничего сложного, вот сам скрипт
Скрипт далек от идеала, может потом его доработаю под собственные нужды, например что бы скачанные файлы .iso перемещались сразу в папку для шаринга. Так же он отправляет в телеграм уведомление о загруженном файле, и если есть ошибки, он тоже об этом сообщит. Скрипт писал на быструю руку, и он не проходит по вложенным папкам, если будет в этом необходимость то его поправлю. На данный момент он выполняет то что мне и надо. После того как скрипт написан, и я определился с конечными папками, перемещаю скрипт к transmission
даю скрипту права на исполнения
После останавливаю transmission-daemon
и меняю 2 параметра в /etc/transmission-daemon/setings.json
done-enabled перевожу на true, то-есть включаю активацию скрипта по окончанию загрузки, а done-file указываю полный путь к файлу, можно указать только название файла если файл лежит в папке transmission, но мне легче указать полный путь.
Установка медиа сервера
В качестве медиа сервера DNLA я выбрал minidlna. Ставится из репозитория ubuntu, прост в настройке.
Указал где хранить базу данных файлов minidlna
Указал куда писать логи
и указал имя сервера
и в конце перезапустил сервер
И получил результат
Напоследок
Писать о том как я настроил временно samba не буду. Есть очень много мануалов в котором все описано куда лучше, чем смогу описать я, но хочу поделится несколькими мыслями на будущие) Целый комп для этого излишнее, тем более у меня есть роутер с прошивкой OpenWRT на котором можно все это реализовать, но жена мне раз дала идею сделать мониторинг цен. Я такое уже делал, написал небольшой скрипт на bash который парсил страницу, брал оттуда название товара, картинку и цену. Скрипт запускался через cron. Идея неплохая, но для каждого сайта необходимо делать свой шаблон. И скорее всего сайты по типу Wildberries при авторизации будут показывать другую цену. Идею думаю реализовать на C++, которые будут брать ссылку для просмотра из БД и смотреть на цену. Если цена записанная в БД будет больше, то отправлять сообщение в том же телеграме о том что на такой-то товар ценна изменилась. Да и для разных экспериментов и обучения можно поднимать сервере виртуальную машину и её ковырять. Так же есть идея реализовать некую запись телепередач. У нас нет обычного телевидения, есть всего 1 канал XD, и жена смотрит несколько передач. Думаю просто настроить запись их в тот же медиа сервер. Но все это планы, желание на исполнения не много.
Я впервые пишу такой длинный текст, и вообще в первые куда-то пишу по мимо личных сообщений. Не судите строго.