TSWatcher is a multi channel monitoring application included with TSReader Professional. It tunes through multiple muxes, detects errors and generates a report and can email these reports to technicians for error resolution.

TSWatcher Main Window

It is designed for use on systems using DVB-C or SCTE QAM standards for cable or DVB-T/T2 and 8VSB for off-air television or networks based on UDP/RTP streams. It can be used for DVB-S/S2 networks but we anticipate most people would use it for off-air, cable and IP networks.

TSWatcher works by having a list of TSReader tuning commands and a list of TSReader Professional profiles. The more profiles available, the quicker TSWatcher can loop through the channels and analyze the results. In the above screen-shot, each stream is a box - those that are green are currently below the alarm level whereas red boxes indicate a currently active alarm. White indicates the channel is currently being scanned.

Alarms available

TSWatcher can generate alarms based on the following:

  • No RF lock/No PAT defined
  • Continuity and/or TEI errors above 2% (low RF levels typically cause this)
  • Scrambled elementary streams
  • Greater than 95% black pixels in decoded video (indicating disconnected input to a video encoder)
  • MPEG-2 video rate less than 1 Mbps (can be changed)
  • H.264 video rate less than 500 Kbps (can be changed)
  • Audio stream rate (any codec) less than 96 Kbps (can be changed)
  • DVB SI PIDs (0x0010 - NIT, 0x0011 - SDT, 0x0012 - EIT, 0x0014 - TDT/TOT) less than 1Kbps
  • Specified PID data rate less than value
  • Null PID (stuffing) greater than a percentage of multiplex

Alarms can be switched between two different levels or disabled. Typically, the first three alarms shown above are level one alarms and will generate error emails since they are indicative of serious permanent problems. The remainder are typically level two errors and need to generate a certain number of alarms within a certain period of time to trigger an error email.

Alarm values such as black pixel percentage and video data rates can all be changed. The values shown in the list above are the default values.

Configuring TSWatcher

TSWatcher needs to be configured before it can be used. There are four different configuration areas: Commands, Profiles, Alarms & Email.



These are the TSReader command-lines that tell it how to tune each mux. The easiest way to set these up are to import from TSReader's mux lists.

Tune TSReader to one of the muxes and let theNetwork Table (NIT) load. Then right-click the root of theNIT and choose Export. This will make a comma-separated fileof all the muxes indexed in the NIT. Quit TSReader, and thenclick the "Import" button in TSWatcher and then chooseDVB-C.
Launch TSReader and hit the Scan button onthe tuner dialog. This will make TSReader scan each of theQAM channels and generate a list of the active muxes. QuitTSReader and then click the "Import" button in TSWatcher andthen choose QAM.
Launch TSReader and select the appropriategeographical area and click the Scan button. This will scanthrough all the different frequencies and bandwidths andwill eventually generate a DVBT.lst file in the TSReaderfolder. Close TSReader and then click the Setup button inTSWatcher's main window and click Import and choose DVB-T.Although exporting the NIT would be possible in DVB-Tnetworks, some DVB-T2 network tables do not contain thefrequency and therefore would be missing.
Start TSReader and hit the Scan button on thetuner dialog. This will make TSReader scan each of thebroadcast channels and generate a list of the active muxesin the ATSC.lst file. Quit TSReader and then click the"Import" button in TSWatcher and then choose 8VSB
Use the appropriate source module to go through each stream in TSReader. This will build the UDPMulticast.lst file which can then be imported.
IPTV Source Module
Build an IPTV.m3u file based on the details in the IPTV Source Module documentation and test it with the IPTV source in TSReader. Then import directly into TSWatcher - no other changes should be needed.


These are the TSReader Professional profiles that are used to loop through the muxes. Each profile needs to be associated with a separate tuner. In the case of HDHomeRun tuners, the command-lines in the TSReader profile browser should contain the tuner's unique address and tuner number. For example:

TSWatcher Profile Example

The "Investigate Profile" is a spare tuner that's not used for looping through the muxes but causes TSReader Professional to launch when a particular mux is double-clicked in TSWatcher.


Each error condition can have one of three alarm levels: Off, One and Two. As alarms on a certain level occur, they are counted and when above a certain level, will trigger an email. Alarms reset after a selected period of time. Experimentation will show the best value for these - for example the reset time should be around the same as three or four scanning loops.
Normally scrambled elementary streams would generate an error - this alarm is disabled in the configuration shown above because our testing was done on a North American public cable system which has most channels encrypted.The same applies for DVB tables since these are not carried on cable systems here.


These are the details required to send an email when an alarm email is triggered. Most SMTP servers requiring authentication use port 587 and this can be specified with a colon after the server name. For example: mail.coolstf.com:587.
Once all the details have been entered, the configuration can be tested by hitting the "Send Test" button which should result in an email being sent. If your SMTP server requires encryption, we suggest installing hMailServer on the same computer running TSWatcher and forward emails to - hMailServer will then forward emails onto the correct SMTP server using encryption.

Running TSWatcher

Once TSWatcher has been configured its scanning can be started with the "Start" button. Each mux will be shown in a gray box first - this indicates the mux hasn't been investigated yet. As each mux is scanned, the box becomes white and after the results of the scan have been processed the box will be shown as red should that mux generate alarm emails and green if the mux is hasn't generated alarms.

The numbers shown inside a box are:

  • F: — the total number of failures seen when scanning
  • L1: — the number of level one alarms currently active
  • L2: — the number of level two alarms currently active

Double-clicking a mux box will show a dialog with all the alarms generated while TSWatcher is running. Right-clicking a mux will also allow you to launch TSReader on that mux (using the "Investigate Profile") and remove all alarms for that mux.

Turning on log alarms will write text files to a folder TSWatcherLogs in the TSReader install folder (although if running on Windows Vista or above not in Administrator mode this will be C:\Users\\AppData\Local\VirtualStore\Program Files (x86)\COOL.STF\TSReaderPro\TSWatcherLogs).