English | Russian

Исходные тексты

xupnpd на github.com. Скачать ZIP архив.

Новый xupnpd2 на github.com. Узнать о проекте или скачать ZIP архив.

xupnpd-live на github.com. Скачать ZIP архив или бинарную сборку.

О программе

xupnpd - eXtensible UPnP agent

Эта программа является простым и переносимым UPnP медиа-сервером для осуществления IPTV трансляций в рамках домашней сети на DLNA совместимых устройствах без поддержки мультикастинга или плейлистов со списком Интернет-адресов источников контента.

xupnpd может быть установлен на домашний WiFi роутер, что даст возможность просмотра Интернет-телевиденья на множестве домашних устройств без использования компьютера и специализированных ТВ приставок Вашего домашнего Интернет провайдера (при условии отсутствия шифрования). Кроме того существует возможность просмотра спутникового телевиденья на множестве телевизоров имея всего один ресивер.

Программа не имеет сертификата соответствия требованиям DLNA но умеет анонсировать в локальную сеть M3U список юникаст или мультикаст ТВ-каналов используя UPnP/DLNA механизмы в объеме достаточном для просмотра IPTV местного провайдера или роликов с Vimeo на Sony PlayStation 3, планшетах и многих моделях телевизоров Smart TV.

В случае мультикаст каналов программа может осуществлять преобразование в юникаст поверх HTTP сама либо с использованием udpxy. При преобразовании не происходит транскодирования сигнала — только смена способа доставки до плеера. Существует возможность просмотра как SD так и HD каналов.

Все что нужно — роутер или компьютер под управлением OS Linux и DLNA совместимый плеер/телевизор.


Работоспособность xupnpd проверялась на следующем оборудовании: В качестве плееров на совместимость с xupnpd проверялись:

Возможности

Требования

* Вместо роутера можно использовать PC либо иное оборудование под управлением операционной системы на основе Linux или BSD.

Скачать

Готовые бинарные сборки и исходные тексты можно получить тут.


Картинки






Видео

Видео-обзоры и руководства тут.

Установка и настройка

  1. Загрузить архив на маршрутизатор (scp,sftp,ftp)
  2. Распаковать (например: 'tar zxf xupnpd.tar.gz')
  3. Запустить ('xupnpd/xupnpd-mipsel' или 'xupnpd/xupnpd-ar71xx')
  4. Перейти браузером по ссылке 'http://192.168.1.1:4044' (192.168.1.1 - адрес Вашего маршрутизатора)
  5. Загрузить Ваш IPTV плейлист в формате M3U
  6. Наслаждаемся IPTV в Вашем DLNA-совместимом плеере

Часто задаваемые вопросы

Пример плейлиста

#EXTM3U name="My IPTV"
#EXTINF:0 logo=http://butovo.com/iptv/iskra_channels_files/perviy00.jpg type=mpeg dlna_extras=mpeg_ps_pal ,Channel 1
udp://@234.5.2.8:20000
#EXTINF:0,Channel 2
http://192.168.1.1:4022/udp/234.5.2.2:20000
#EXTINF:0 group-title="Main",Channel 3
http://020.mozhay.tv
#EXTINF:0 logo=http://b.vimeocdn.com/ts/204/056/204056508_200.jpg type=mp4 plugin=vimeo,The Curious Fate of Humankind
http://vimeo.com/30381893
#EXTINF:0 logo=http://i.ytimg.com/vi/kffacxfA7G4/1.jpg type=mp4 plugin=youtube,Justin Bieber - Baby ft. Ludacris
http://www.youtube.com/watch?v=kffacxfA7G4&feature=youtube_gdata
#EXTINF:0 logo=http://i.ytimg.com/vi/KQ6zr6kCPj8/1.jpg type=mp4 plugin=youtube,LMFAO - Party Rock Anthem ft. Lauren Bennett, GoonRock
http://www.youtube.com/watch?v=KQ6zr6kCPj8&feature=youtube_gdata

'#EXTM3U' атрибуты:

'#EXTINF' атрибуты:

Атрибут 'type' может иметь следующие значения: avi, asf, wmv, mp4, mpeg, mpeg1, mpeg2, ts, mp2t, mp2p, mov, mkv, 3gp, flv, aac, ac3, mp3, ogg, wma

Атрибут 'dlna_extras' может иметь следующие значения: none, mpeg_ps_pal, mpeg_ps_pal_ac3, mpeg_ps_ntsc, mpeg_ps_ntsc_ac3, mpeg1, mpeg_ts_sd, mpeg_ts_hd, avchd, wmv_med_base, wmv_med_full, wmv_med_pro, wmv_high_full, wmv_high_pro, asf_mpeg4_sp, asf_mpeg4_asp_l4, asf_mpeg4_asp_l5, asf_vc1_l1, mp4_avc_sd_mp3, mp4_avc_sd_ac3, mp4_avc_hd_ac3, mp4_avc_sd_aac, mpeg_ts_hd_mp3, mpeg_ts_hd_ac3, mpeg_ts_mpeg4_asp_mp3, mpeg_ts_mpeg4_asp_ac3, avi, divx5, mp3, ac3, wma_base, wma_full, wma_pro

Пример файла настроек

xupnpd.lua

-- Название сетевого интерфейса для анонса медиа-сервера в локальную сеть, например:'eth0', 'br0', 'br-lan' (зависит от оборудования)
cfg.ssdp_interface='br0'

-- Заставляет хост получать собственные мультикаст анонсы в случае когда и сервер и плеер находятся на одной машине
cfg.ssdp_loop=0

-- HTTP для входящих соединений (в т.ч. для Web-интерфейса)
cfg.http_port=4044

-- Определяет куда писать логи (syslog,local0-local7)
cfg.log_facility='local0'

-- Запускаться в режиме "демона"
cfg.daemon=true

-- Не писать логи и не создавать pid-файл
cfg.embedded=true

-- Включает трассировку SSDP анонсов (работает только когда cfg.daemon=false)
-- 0-выключить, 1-основная информация, 2-сообщения целиком
cfg.debug=1

-- URL для использования внешнего прокси мультикаст потоков (адреса вида: udp://@...). Для включения встроенного прокси закомментировать!
--cfg.udpxy_url='http://192.168.1.1:4022'

-- Имя сетевого интерфейса (обычно WAN) для получения мультикаст потоков от провайдера через встроенный прокси
cfg.mcast_interface='eth1'

-- Способ проксирования юникаст HTTP потоков
-- 0-не проксировать (анонсировать URL как есть), 1-проксировать только радио, 2-проксировать (пропускать через себя) ВСЕ
cfg.proxy=2

-- Сетевой таймаут
cfg.http_timeout=15

-- Включить передачу DLNA extras
cfg.dlna_extras=true

-- Режим совместимости с XBox 360
cfg.xbox360=false

-- Включить UPnP/DLNA уведомления об изменениях в плейлистах
cfg.dlna_notify=true

-- Группировать контент по 'group-title'
cfg.group=true

-- Отображаемое название устройства
cfg.name='UPnP-IPTV'

-- Уникальный идентификатор устройства (если nil, то формируется новый при каждом запуске)
cfg.uuid='60bd2fb3-dabe-cb14-c766-0e319b54c29a'

-- Тип IPTV потока по умолчанию (mpeg, mpeg1, mpeg2, ts)
cfg.default_mime_type='mpeg'

-- Частота обновления фидов в секундах (0 - не обновлять)
cfg.feeds_update_interval=0

-- Плейлисты
playlist=
{
    { './playlists/mozhay.m3u',             'Mozhay.tv' },                      -- M3U плейлист с названием Mozhay.tv
    { './localmedia', 'Local Media Files', '127.0.0.1;192.168.1.1' }            -- Папка с файлами, доступна только с адресов 127.0.0.1 и 192.168.1.1
}

-- Фиды (название расширения, наименование фида, отображаемое название фида)
feeds=
{
    { 'vimeo',   'channel/hd',          'Vimeo HD Channel' },
    { 'vimeo',   'channel/hdxs',        'HD Xtreme sports' },
    { 'vimeo',   'channel/mtb',         'Mountain Bike Channel' },
    { 'youtube', 'channel/top_rated',   'YouTube Top Rated' },
}

Обратная связь


www.paypal.me/clark15b

Мои проекты

Благодарность


License: GPL
Copyright (C) 2014-2021 Антон Бурдынюк
clark15b@gmail.com