About the program
xupnpd
- eXtensible UPnP agent
This program is a simple and portable UPnP media server for IPTV broadcasts within a home network on DLNA compatible devices without support for multicasting or playlists with a list of Internet addresses of content sources.
xupnpd can be installed on a home WiFi router, which will make it possible to watch Internet television on many home devices without using a computer and specialized set-top boxes from your home Internet provider (provided there is no encryption). In addition, it is possible to watch satellite television on multiple televisions with just one receiver.
The program does not have a certificate of compliance with DLNA requirements, but it can announce a list of unicast or multicast TV channels to the M3U local network using UPnP/DLNA mechanisms in an amount sufficient to watch IPTV from a local provider or videos from Vimeo on Sony PlayStation 3, tablets and many models of Smart TVs .
In the case of multicast channels, the program can convert to unicast over HTTP itself or using udpxy. During conversion, there is no transcoding of the signal - only a change in the delivery method to the player. It is possible to view both SD and HD channels.
All you need is a router or computer running OS Linux and a DLNA compatible player/TV.
The performance of xupnpd was tested on the following equipment:
- PC running OS Ubuntu 10.04
- D-Link DIR-320 (DD-WRT v24 preSP2 13064, mipsel)
- Asus WL-500gP
- Asus N-16
- Asus RT-N56U
- Zyxel Keenetic
- TP-LINK WR841ND
- Samsung TV series B/C/D
- Satellite TV receiver DreamBox DM500HD
The following players were tested for compatibility with xupnpd:
- Sony PlayStation 3 with factory firmware
- Iconbit HDS4L, WDTV Live
- HTC Desire (Android + UPnPlay/BubbleUPnP + Vplayer/MX Video Player)
- TVs Samsung UE46D6510, Samsung UE40D5000PW, Samsung LE40c550, Samsung LE40B650, Samsung UE40C6000, Samsung US46ES6100, Samsung UE32EH6037, LG PZ750, Sony 26EX231, Philips 47pfl7606h
- Microsoft Windows Media Player 11, VideoLAN (Ubuntu 10.04)
Working with HMS: nuances
Let's look at some of the nuances that characterize the operation of the Home Media Server program. Using the main window of this software, you can edit the list of folders that form media content, as well as manage them when exchanging data between different devices.
If navigation through files that form media content is slow, this may be due to the specifics of a particular device. It is also possible that the performance of the server's hard drive is insufficient. Failures can also be caused by frequent changes in directory structure. Slowdown of the server may be due to the fact that the directory scanning mode is activated in the program while the system is running.
You can navigate through the files that form the structure of media content using a folder called “Media resource directories.” It is quite possible that certain media files will not be visible on the device used to view content, despite the fact that they are viewed in the main program window. This may be due to the specific mime types for a particular type of content. You can set a different Mime type - the program's capabilities also allow you to do this. You should click “Settings”, then “Media Resources”, then “File Types” and change extensions if necessary.
Possibilities
- Built-in DLNA/UPnP media server for announcing a list of channels or media files to the local network
- Support for HTTP sources (list of URLs with Internet stream addresses)
- Built-in multicast proxy for IPTV from your home Internet provider
- Classic media server for sharing video files on your home network
- Support YouTube, Vimeo, Vkontakte, IVI, GameTrailers, AG, etc.
- Watching High Definition (HD) Videos
- Internet radio
- Lua extension engine to support new video sources
- No transcoding
- M3U playlists
- Automatic update of the list of videos (feeds) or channels according to a schedule
- Content Grouping and Tree Display
- Access Control Lists and Parental Controls
- Web interface and the ability to create external programs for management
- Possibility of modification by Lua scripting
- Open source
Setting up a server via HMS
You should launch the HMS program, then select the “Settings” button. After that there is a section called “Media Resources”. Then go to the “Directory List” page and click “Add”. After this, you can use the Windows interface to move the necessary folders to the main program window.
The HMS program is characterized by a fairly high degree of automation. In general, the user does not need to make significant changes to the settings of this software. But sometimes this may be necessary, for example, if the system does not work for some reason. We will look at possible reasons for incorrect server operation a little later.
Once the files are downloaded, click “Launch” in the main HMS window. If the server starts, then everything is fine. If necessary, it can be stopped or restarted. After this, you can start using the home server using devices that support the corresponding function, for example, using a TV.
To organize access to the server through a browser, you must again select “Settings”, then “Server”, and enter the required value in the “Port” section. Using a browser, you can log into the server by entering the IP address of the home server in the address bar, then a colon, and then the port number that we entered before. You can find out the required IP address by selecting “Settings”, then “Server”, and then selecting the list of connections that are allowed.
Images
Playlist example
#EXTM3U name=”My IPTV” #EXTINF:0 logo=https://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 https://192.168.1.1:4022/udp/234.5.2.2:20000 #EXTINF:0 group-title=”Main”,Channel 3 https://020.mozhay.tv #EXTINF:0 logo =https://b.vimeocdn.com/ts/204/056/204056508_200.jpg type=mp4 plugin=vimeo,The Curious Fate of Humankind https://vimeo.com/30381893 #EXTINF:0 logo=https:/ /i.ytimg.com/vi/kffacxfA7G4/1.jpg type=mp4 plugin=youtube,Justin Bieber - Baby ft.
Ludacris https://www.youtube.com/watch?v=kffacxfA7G4&feature=youtube_gdata #EXTINF:0 logo=https://i.ytimg.com/vi/KQ6zr6kCPj8/1.jpg type=mp4 plugin=youtube,LMFAO — Party Rock Anthem ft. Lauren Bennett, GoonRock https://www.youtube.com/watch?v=KQ6zr6kCPj8&feature=youtube_gdata '#EXTM3U'
attributes:
- name — playlist name
- type — default video type
- dlna_extras - default DLNA profile
- plugin - name of the handler (extension) for the entire playlist by default (for YouTube, Vimeo, etc.)
‘#EXTINF'
attributes:
- logo — URL of the logo (picture in jpeg format)
- group-title - group name (elements with the same value are grouped in one folder)
- type — video type
- dlna_extras - DLNA profile
- plugin — name of the handler (extension)
type' attribute
can have the following values: avi, asf, wmv, mp4, mpeg, mpeg1, mpeg2, ts, mp2t, mp2p, mov, mkv, 3gp, flv, aac, ac3, mp3, ogg, wma
Attribute ' dlna_extras'
can have the following values: 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_mpeg 4_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
What is DLNA?
In English translation, Digital Living Network Alliance (DLNA) refers to certain standards, thanks to which compatible devices can transmit and receive various media content over a home network and display it in real time using wired and wireless channels.
Thanks to this technology, home computers, mobile phones, consumer electronics, and laptops are combined into a single digital network. When you use DLNA certified devices, they are automatically configured and connected to your users' networks.
Thanks to the transmitting device (server), information is transmitted to the TV. A PC, phone, camera, or camera can act as a server. The presence of DLNA support may mean that the device can receive video.
Such a wired or wireless network has its advantages:
- The ability to instantly access materials located on all the user’s home devices. You can watch a movie or photo immediately after downloading, and you can listen to music on the music center in the highest quality.
- For wireless connection there is no need to drill holes in walls and doors.
- With a wireless connection via Wi-Fi, you can download entire files to the desired devices for further viewing.
Disadvantages of DLNA include:
- To make a wired connection (for example, through reinforced concrete walls that block the radio signal), it is necessary to drill holes in the walls and doors, which will negatively affect the interior.
- The wireless connection is significantly affected by various obstacles in the form of steel reinforcement or thick concrete (brick) walls.
- As with the Internet, there is a possibility of file playback delays when streaming if the file is too large or the connection speed is not fast enough.
- Using a weak router can affect the speed and quality of data transfer.
- Not all file types can be played, and HD video may be of poorer quality.
Example settings file
xupnpd.lua
— The name of the network interface for announcing the media server to the local network, for example: 'eth0′, 'br0', 'br-lan' (depending on the equipment) cfg.ssdp_interface='br0′ — Forces the host to receive its own multicast announcements when both the server and the player are on the same machine cfg.ssdp_loop=0 - HTTP for incoming connections (including for the Web interface) cfg.http_port=4044 - Determines where to write logs (syslog,local0-local7) cfg.log_facility= 'local0′ - Run in daemon mode cfg.daemon=true - Do not write logs or create a pid file cfg.embedded=true - Enables tracing of SSDP announcements (works only when cfg.daemon=false) - 0-disable, 1-basic information, 2-entire messages cfg.debug=1 - URL for using an external proxy for multicast streams (addresses like: udp://@...). To enable the built-in proxy, comment out! —cfg.udpxy_url='https://192.168.1.1:4022′ — Name of the network interface (usually WAN) for receiving multicast streams from the provider through the built-in proxy cfg.mcast_interface='eth1′ — Method of proxying unicast HTTP streams — 0-not proxy (announce the URL as is), 1-proxy only radio, 2-proxy (pass through itself) ALL cfg.proxy=2 - Network timeout cfg.http_timeout=15 - Enable DLNA transfer extras cfg.dlna_extras=true - Compatibility mode with XBox 360 cfg.xbox360=false — Enable UPnP/DLNA notifications about changes in playlists cfg.dlna_notify=true — Group content by 'group-title' cfg.group=true — Device display name cfg.name='UPnP-IPTV' — Unique device identifier (if nil, then a new one is generated each time it starts) cfg.uuid='60bd2fb3-dabe-cb14-c766-0e319b54c29a' — Default IPTV stream type (mpeg, mpeg1, mpeg2, ts) cfg.default_mime_type='mpeg ' — Feed update frequency in seconds (0 — do not update) cfg.feeds_update_interval=0 — Playlists playlist= { { './playlists/mozhay.m3u', 'Mozhay.tv' }, — M3U playlist with the name Mozhay.tv { './localmedia', 'Local Media Files', '127.0.0.1;192.168.1.1' } — Folder with files, accessible only from addresses 127.0.0.1 and 192.168.1.1 } — Feeds (extension name, feed name, display name feed) 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' }, }
Setting up a server via HMS: fixing errors
What to do if the home media server does not start? The network setup was probably carried out with errors in this case. Let's look at the most typical ones. First of all, it is useful to check which network connections are reflected in the list of available ones. This can be done by opening Settings and Server, and then enabling the list of allowed connections. It is useful to compare the data displayed in the program window with the information contained in the list of available connections, which can be viewed using the “Search” button. You can also allow the system to use available network connections using the HMS program interface.
It is also useful to check whether there are any restrictions on the operation of the HMS program in the settings of the Windows firewall or its analogues, which may be installed in the operating system. The exchange of all types of packets must be allowed - incoming, outgoing.