This program is a light DLNA Media Server which provides ContentDirectory:1 service for sharing IPTV unicast streams over local area network (with udpxy for multicast to HTTP unicast conversion).
The program shares UTF8-encoded M3U playlists with links over local area network as content of the directory.
You can watch HDTV broadcasts (multicast or unicast) and listen Internet Radio in IP network without transcoding and PC.
Pre-compiled binary build and source code here.



#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' attributes:
'#EXTINF' attributes:
'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
-- multicast interface for SSDP exchange, 'eth0', 'br0', 'br-lan' for example
cfg.ssdp_interface='br0'
-- 'cfg.ssdp_loop' enables multicast loop (if player and server in one host)
cfg.ssdp_loop=0
-- HTTP port for incoming connections
cfg.http_port=4044
-- syslog facility (syslog,local0-local7)
cfg.log_facility='local0'
-- 'cfg.daemon' detach server from terminal
cfg.daemon=true
-- silent mode - no logs, no pid file
cfg.embedded=true
-- 'cfg.debug' enables SSDP debug output to stdout (if cfg.daemon=false)
-- 0-off, 1-basic, 2-messages
cfg.debug=1
-- external 'udpxy' url for multicast playlists (udp://@...)
--cfg.udpxy_url='http://192.168.1.1:4022'
-- downstream interface for builtin multicast proxy (comment 'cfg.udpxy_url' for processing 'udp://@...' playlists)
cfg.mcast_interface='eth1'
-- 'cfg.proxy' enables proxy for injection DLNA headers to stream
-- 0-off, 1-radio, 2-radio/TV
cfg.proxy=2
-- I/O timeout
cfg.http_timeout=15
-- 'cfg.dlna_extras' enables DLNA extras
cfg.dlna_extras=true
-- XBox360 compatible mode
cfg.xbox360=false
-- enables UPnP/DLNA notify when reload playlist
cfg.dlna_notify=true
-- group by 'group-title'
cfg.group=true
-- Device name
cfg.name='UPnP-IPTV'
-- static device UUID, '60bd2fb3-dabe-cb14-c766-0e319b54c29a' for example or nil
cfg.uuid='60bd2fb3-dabe-cb14-c766-0e319b54c29a'
-- max url cache size
cfg.cache_size=8
-- url cache item ttl (sec)
cfg.cache_ttl=900
-- default mime type (mpeg, mpeg1, mpeg2, ts)
cfg.default_mime_type='mpeg'
-- feeds update interval (seconds, 0 - disabled)
cfg.feeds_update_interval=0
-- playlist (m3u file path or path with alias
playlist=
{
{ './playlists/mozhay.m3u', 'Mozhay.tv' },
{ './localmedia', 'Local Media Files', '127.0.0.1;192.168.1.1' }
}
-- feeds list (plugin, feed name, feed type)
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' },
}
License: GPL
Copyright (C) 2014-2021 Anton Burdinuk
clark15b@gmail.com