The IPTV source module is a frontend module that allows easier monitoring of IPTV streams in various formats. It is designed to allow easier access to existing TSReader source modules that receive transport streams over UDP, RTP and more. The IPTV source module requires manual configuration but uses standardized M3U files for this task.


TSReader has individual source modules for multicast HRTP (Harmonic's version of RTP), RTP and UDP that maintain a common list of stream addresses. The HTTP source module has a different list of its stream addresses as does the TCP/IP source module. TSReader does it this way because the format of data needed to select one of these streams is different for each protocol (except HRTP, RTP and UDP which share a common list).

Using TSReader Professional it is simple to setup a profile for each protocol. One profile for RTP, another for HTTP and so on. But if you want to look at streams in different formats on the same network, you have to remember which transport protocol being used and then select the correct TSReader profile before then choosing the stream. TSReader Standard is more complicated - you must launch TSReader with the Ctrl key held down, choose the right source module and then choose the stream address.

The IPTV source module makes it simple to maintain a list of network streams in the common M3U format and it then figures out which protocol is being used based on the URL specified and then loads the appropriate TSReader source module to show that stream.

Configuring the IPTV source module requires editing the IPTV.M3U file in the TSReader install folder and here's a sample:

  #EXTINF:Los Angeles,KNBC
  #EXTINF:Los Angeles,KTTV
  #EXTINF:Los Angeles,KDOC
  #EXTINF:Washington DC,WJLA
  #EXTINF:Washington DC,WUSA
  #EXTINF:Washington DC,WETA
  #EXTINF:New York City,WNBC
  #EXTINF:New York City,WPIX
  #EXTINF:New York City,WNET
  #EXTINF:Test Streams,Apple Bip Bop 4:3

For compatibility with other programs, the file must start with #EXTM3U. This is followed by an #EXTINF tag followed by the group name and the stream name. This is slightly different from standard M3U files in that the standard M3U file has the duration of the stream as the first parameter.

Following the #EXTINF line is the stream URL. M3U files support multiple lines containing multiple URLs but the IPTV source module does not. Only the first URL is processed. The URL line is formatted as follows:

Prefix Protocol Format
hrtp:// Harmonic RTP Stream address:port. For IGMPv3 use stream address@switch:port
http:// HTTP Standard HTTP URL
https:// HTTPS Secure HTTP URL
rtp:// RTP Stream address:port. For IGMPv3 use stream address@switch:port
rtp6:// IPv6 RTP Stream address-port
tcp:// TCP/IP Server address:port
udp:// UDP Stream address:port. For IGMPv3 use stream address@switch:port
udp6:// IPv6 UDP Stream address-port

Note that the standard address:port is address-port for IPv6 streams since the colon character is used as part of these addresses.

Clicking the Edit button allows changes using the Windows Notepad. Any changes to the IPTV.M3U file will automatically reload in the tree view. The IPTV source module sorts the group and stream names alphabetically so there's no need to remember to keep the names in the IPTV.M3U file in order.

The IPTV source module is compatible with TSReader Standard and Professional. All other source modules are also compatible with TSReader Lite but IPTV isn't because it requires command-line processing which is not available in TSReader Lite.

The one case where IPTV won't work right is if you're using HRTP, RTP or UDP and have multiple Ethernet interfaces and you want to receive a stream from an interface other than the first Ethernet port. The IPTV source module always binds to the first Ethernet adapter so for these rare cases you must use the standard HRTP, RTP or UDP source modules.