Iptv to dlna linux

DLNA IPTV xupnpd

Купили брату телевизор Sony Bravia. Выбирал специально, чтоб ТВ умел проигрывать много форматов видео и знал что такое DLNA. Однако упустил IPTV. Странно, но ТВ его совсем не умеет проигрывать. Удивительно, что Sony не позаботились об этом. В итоге IPTV таки удалось получить, пусть и через DLNA.

Настраивается установкой xupnpd. Можно поставить программу на роутер. В интернете есть мануалы по ентой установке. У меня же стояла задача более простая. Заставить ТВ показывать iptv не важно откуда. В итоге поставил xupnpd на ноут с ubuntu, благо на оффсайте есть уже собранный пакет для нее.

Правим конфиг файл /etc/xupnpd.lua
Заменяем интерфейс на свой, через который выходим в интернет.

Запускать следует через sudo.
sudo xupnpd

Либо можно утянуть последнюю версию с svn

sudo apt-get install subversion
svn co http://tsdemuxer.googlecode.com/svn/trunk/xupnpd
cd xupnpd/src/
make

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

Запускаем программу
chmod +x xupnpd
./xupnpd

Дальше настройки можно править через веб-интерфейс 192.168.X.X:4044, где 192.168.X.X ваш ip.
Там же можно загрузить свой плейлист.m3u

Ввиду того, что я смотрю iptv от тетушки Шуры и потоки там все http-шные, мне не пришлось ставить udpxy. Единственный нюанс, который заставил меня поломать голову, из-за того, что при выборе канала трансляция запускалась, но картинки не было, заключается в том, что в настройках Default mime type следует указать mpeg_ts (cfg.default_mime_type=’mpeg_ts’).

DLNA IPTV xupnpd: 8 комментариев

vreode vse ustanavil kogda hochu zagruzit svoi playlist pishet fail shto mne delati?

zahareeivici, как устанавливали? Возможно у вас не хватает прав на запись. Плейлисты находятся в директории xupnpd/src/playlists/ Как вариант можно скопировать туда плейлист, он должен отобразиться в списке.

Здравствуйте. Извините, если немного не в тему. Xupnpd пользуюсь уже довольно давно, работает нормально, но есть один вопрос. Можно ли плейлисты разложить по каталогам, чтобы удобнее было в них ориентироватся. Создание папок в \disk_a1\system\usr\share\xupnpd\playlists ничего не дает (не видит).

vlad514, не знаю может ли это делать Xupnpd, у меня не так много плейлистов. Однако на этот вопрос смогут ответить авторы проекта http://xupnpd.org/t/index_ru.html#Feedback

добрый…
подскажите плиз как смотреть iptv
на Sony модель KDL-42W817B, роутер Asus RT-N12VP
с поддержкой IPTV
Не судите строго, я новичок, буду благодарен за пошаговый алгоритм.

Alex, привет. Пошагового алгоритма не дам, т.к. на роутер xupnpd я не ставил. Устанавливал на компьютер с ubuntu linux. Если у тебя такой в наличии имеется (в принципе достаточно виртуалки с линуксом), то ман выше.

Скачал (rev.405), пытаюсь установить на Ubuntu 14.04.3, в результате make получаю:
mcast.cpp:15:23: fatal error: uuid/uuid.h: No such file or directory
#include
^
compilation terminated.
make: *** [x86] Error 1

что бы это могло быть?

извини, поторопился, она же говорит uuid, вот и надо было доустановить uuid-dev.

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Источник

Wi-CAT LLC

Wireless Comprehensive Advanced Technology. Build your network now.

Настройка встроенного DLNA сервера xupnpd для работы IPTV без STB.

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

Для чего это нужно: для просмотра контента IPTV на устройствах пользователя, не поддерживающих Multicast и плейлисты, без использования TV-приставки (STB). Всё , что необходимо — это устройство , на котором Вы собираетесь просматривать IPTV (телевизор, смартфон) с поддержкой dlna.

Для начала, рекомендации и ограничения:

1. Если Ваш телевизор поддерживает не только dlna, но и установку приложений, умеющих работать напрямую с мультикаст, плейлистами и тд, лучше использовать эти приложения. Вариант, рассмотренный в статье, рекомендован для оконечных устройств , поддерживающих dlna, но не позволяющих устанавливать приложения для работы с iptv.

2. Методом, рассмотренным в статье, можно воспроизводить только открытые каналы. То есть, если провайдер шифрует потоки, то ничего не выйдет и метод не применим.

3. Максимально эффективно будет использовать xupnpd в связке с udpxy для использования последнего в качестве конвертера multicast udp в http, понятный для телевизоров. Встроенный в xupnpd вариант крайне урезан и может доставлять проблемы, особенно при попытке смотреть iptv на нескольких устройствах одновременно. Особенно это важно в сетях, для доставки iptv в которых используется Multicast. Для сетей, отдающих поток открытых каналов по http в HLS, это не так критично. Порядок действий таков: сначала включаем udpxy (Services → Miscellaneous → Services IPTV →Multicast to http proxy→LAN либо в русском варианте Сервисы →Разное → Сервисы IPTV→ Преобразование мультикаста в http→LAN), затем включаем xupnpd и производим его настройку.

Читайте также:  Эмуляторы дос для windows

И так, приступаем к настройке.

Настройка сервисов iptv в wi-fi роутере с ПО wive-ng

В настройки xupnpd в web интерфейсе можно попасть следующем путём: Services → Miscellaneous → Services IPTV → DLNA media server (в русскоязычном варианте: Сервисы →Разное → Сервисы IPTV→DLNA медиа сервер) . По умолчанию он отключен (находится в статусе Disable / Отключить). После выбора Enable и применения настроек, статус сервиса изменится на « work » / « работает ». После этого можно приступать к настройке (переходим в «Configure» / «Настройка»)

Web — интерфейс настройки xUPNPd выглядит следующим образом:

web gui встроенного dlna – сервера xupnpd

Способ №1 — загрузка плейлиста.

Самый простой и быстрый способ начать смотреть iptv — это загрузить плейлист , предоставляемый Вашим провайдером для онлайн-тв. Всё, что Вам необходимо сделать — это зайти в Playlists , выбрать плейлист в формате m3u , ранее скаченный на Ваш ПК , и загрузить его нажатием кнопки Send.

загрузка плейлиста Iptv каналов от провайдера на wifi-роутер

Результатом данной манипуляции будет появление плейлиста в списке на странице Playlists

список загруженных плейлистов

Нажатием Back возвращаемся в главное меню. Теперь мы можем увидеть каналы, доступные для данного плейлиста, на своем телевизоре. Для примера, покажу как это выглядит на Smart TV от Samsung.

1. Заходим в список Источников (Source). Выбираем наш роутер в качестве сетевого устройства (его имя будет совпадать с тем, что отображается в качестве заголовка на стартовой странице настроек xupnpd)

Выбор wi-fi роутера с ПО Wive-NG-mt в качестве сетевого источника на телевизоре Samsung

2. Выбираем интересующий нас плейлист в случае, если их несколько (либо «кликаем» в единственный). Имя плейлиста будет, разумеется, то же самое, что и при загрузке его с локального хранилища.

3. В плейлисте в качестве медиафайлов будут представлены все доступные каналы. Просто выбрав интересующий, Вы можете начать просмотр.

Список каналов iptv , доступных после подключения к dlna серверу

Процесс простой настройки IPTV без использования STB можно считать законченным.

Способ №2 — настройка фида для автоматического получения плейлиста.

Как известно, оператор может менять состав плейлиста. Способ, описанный выше, потребует от пользователя контроля этого факта с последующей загрузкой обновленного плейлиста. То же касается централизованного вещания медиаконтента на предприятии. Чтобы избавить себя от указанных телодвижений , достаточно настроить фид. В этом случае, плейлист будет автоматически по таймауту либо по Вашей команде загружаться с указанного URL . Все фиды, настроенные в текущий момент, перечислены в разделе Feeds.

Раздел feeds в web gui dlna сервера xupnpd

По умолчанию в Wive-ng добавлено несколько фидов операторов связи (это такие операторы Екатеринбурга как Конвекс, Планета и Инсис, омский ТТК), рекомендуется удалить все не нужные и оставить только те,которые будут использоваться.

Если Вы ранее создавали фид, но забыли его содержание, «зайти» в него через web gui xupnpd, к сожалению, невозможно. Но можно воспользоваться следующей командой:

результат будет выглядеть следующим образом:

т.е , имя фида, и соответствующие ему плагин и URL плейлиста.

Чтобы добавить собственный фид, соответствующий плейлисту оператора, необходимо в разделе Add feed заполнить три значения следующим образом:
Plugin = Generic
Feed data = m3u_url (т.е ссылка на плейлист в формате m3u)
Name = Любое наименование, под которым Вы хотите видеть Ваш плейлист в списке.
В моем случае настройка выглядит так:

список созданных feed-ов

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

Важно: Поле Feed data чувствительно к регистру. Будьте внимательны при указании URL (лично я потратила кучу времени , чтобы понять,чяднт).

Список доступных плейлистов после обновления фидов

Если всё прошло успешно, то в списке фидов появится только что созданный фид с указанным Вами именем. Перейдя обратно в Playlists , Вы увидите, что ничего не изменилось — список по прежнему пуст. Не стоит пугаться. Если у Вас настроено ручное обновление фидов, то необходимо нажать Reload Feeds. После этого в списке плейлистов появится плейлист, соответствующий только что настроенному фиду. Плейлист появится на Вашем телевизоре по аналогии с разобранным выше Способом №1.

Важно: по умолчанию Feeds reload interval = Playlists reload interval = 0 , это означает, что обновление фидов и плейлистов производится по команде пользователя. Для автоматизации этого процесса необходимо задать таймаут в секундах: например, 86 400 для обновления раз в сутки. Также, необходимо задать ненулевое значение, если необходимо сохранять настроенные фиды даже после обновления ПО на более поздние версии.

Читайте также:  Windows 2012 zabbix template

Чтоб попасть в раздел настроек xupnpd , необходимо перейти в раздел Config

Переход в раздел “Настройки” в web gui xupnpd

и найти блок «Common (restart needed)»

Настройки dlna сервера xupnpd

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

Не забываем сказать save в xupnpd, а также save & reboot самому роутеру , для сохранения rwfs.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Домашний медиа сервер minidlna

На кой черт это надо?

Так сложились обстоятельства, что мне удалось скоммуниздить старенький ПК, да и чтобы он просто не пылился, так как такое старье продавать за 5-7 тысяч (цена в моем регионе за подобную конфигурацию) мне стыдно, а получать за него 3 тысячи — ну такое. Я решил, сделаю дома небольшую библиотеку фильмов, музыки, да и у жены очень много фотографий, которые её очень дороги. Задумка была следующей.

Некий медиа сервер, который будет транслировать медиаконтент на телевизор.

Некое локальное хранилище для файлов, порой приходится с флешками побегать, а то жесткого диска на 500ГБ не хватает.

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

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

Установка Linux

То, как поставить линукс, я думаю, не стоит говорить. Я просто опишу что я сделал после установки. Во-первых, пока компьютер был возле меня, я настроил статический адрес в файле /etc/netplan/00-installer-config.yaml

Думаю, тут вроде понятно, что где что и как. Конечно, правильнее было бы привязать ip-адрес через роутер, но у меня роутер Xiaomi, и там все в иероглифах. Я просто сделал статический ip-адрес на компьютере. После этого я его отнес в подвал и подключил к роутеру и сел за рабочую машину. Теперь стоит создать пару ssh-ключей для удобства

Ну и отправил ключ на медиа сервер

Теперь настрою файл

И теперь для подключения достаточно написать ssh home ,и последний момент, которой наверное не стоит делать, это убрать ввод пароля при использовании sudo. Для этого достаточно добавить NOPASSWD в файл /etc/sudoerc что бы вышло так

Установка transmission-daemon

И так, начну с торрент-клиента transmiss-daemon.

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

Если править файл конфигурации /etc/transmission-daemon/settings.json в тот момент как демон работает, изменения не сохранятся. И так мне надо поправить несколько строк, но для начала создам папки куда будет все качаться. Я создам все папки для медиа контента в /media и будет /media/torrent/downloads для загружаемых файлов и /media/torrent/complete для файлов которые уже загрузились

сразу сменю владельца на папки для загрузки на debian-transmission

Теперь можно приступать к настройке transmission. Как уже говорилось, все настройки хранятся в файле /etc/transmission-daemon/settings.json . Нам необходимо поправить несколько строк, а именно

«download-dir»: «/var/lib/transmission-daemon/downloads» — указываем папку куда будут помещаться загруженные файлы, у меня в /media/torrent/complete Лучше указывать полный путь

«incomplete-dir»: «/var/lib/transmission-daemon/Downloads» — указываем папку в которой будут храниться не докачавшиеся файлы, у меня /media/torrent/downloads

«incomplete-dir-enabled»: false — указываем true что бы хранить скачавшиеся файлы отдельно

«rpc-authentication-required»: true — меняем на false для отключения авторизации по логину и паролю, это пожеланию

«rpc-host-whitelist-enabled»: true — меняем на false для отключения использования «белого списка ip-адресов»

«rpc-username»: «transmission» — указываем логин для авторизации

«rpc-whitelist-enabled»: true — опять-таки отключаем авторизацию по разрешенным ip-адресам меняя true на false соответственно

И запуск transmission

и захожу в web-панель transmission по ip-адресу и порту 9091, у меня это 192.168.31.5:9091

web-интерфейс transmission

transmission почти готов теперь настрою проксирование через NGINX

Установка NGINX и настройка проксирования

Я поставил весь nginx, но в теории достаточно и самого пакета nginx

После установки проверю, работает ли веб сервер зайдя на ip-адрес машины

Приветственное сообщение от Nginx

Теперь выполню настройку nginx. Все конфигурационные файлы находятся в /etc/nginx/* . Для начала я удалю все лишнее из файла /etc/nginx/nginx.conf и приведу его к такому виду

И создам файл /etc/nginx/sites-enabled/home.conf с базовым содержимым

Немного объясню файл. listen 80 указываем на каком порту будет слушаться сайт, root /var/wwww/home я создал папку от имени root и поместил туда простую страницу html взятую из интернета для проверки как будет все работать.

Читайте также:  X air edit для windows

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

Перенаправление пошло, но вот только transmission жалуется на отсутствие хедера X-Transmission-Id . Немного поковырявши хедеры, так же добавив 2 блока 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, прост в настройке.

Файл конфигурации находится /etc/minidlna.conf , я в нем внес несколько правок, а именно, указал где находятся медиаконтент

Указал где хранить базу данных файлов minidlna

Указал куда писать логи

и указал имя сервера

и в конце перезапустил сервер

И получил результат

Напоследок

Писать о том как я настроил временно samba не буду. Есть очень много мануалов в котором все описано куда лучше, чем смогу описать я, но хочу поделится несколькими мыслями на будущие) Целый комп для этого излишнее, тем более у меня есть роутер с прошивкой OpenWRT на котором можно все это реализовать, но жена мне раз дала идею сделать мониторинг цен. Я такое уже делал, написал небольшой скрипт на bash который парсил страницу, брал оттуда название товара, картинку и цену. Скрипт запускался через cron. Идея неплохая, но для каждого сайта необходимо делать свой шаблон. И скорее всего сайты по типу Wildberries при авторизации будут показывать другую цену. Идею думаю реализовать на C++, которые будут брать ссылку для просмотра из БД и смотреть на цену. Если цена записанная в БД будет больше, то отправлять сообщение в том же телеграме о том что на такой-то товар ценна изменилась. Да и для разных экспериментов и обучения можно поднимать сервере виртуальную машину и её ковырять. Так же есть идея реализовать некую запись телепередач. У нас нет обычного телевидения, есть всего 1 канал XD, и жена смотрит несколько передач. Думаю просто настроить запись их в тот же медиа сервер. Но все это планы, желание на исполнения не много.

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

Источник

Оцените статью