Updated June 13, 2017

What's Here?

Configuring TSWatcher
Running TSWatcher


TSWatcher is a multi-RF 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. It can also be used for monitoring other network types such as UDP/RTP streams, DVB-S/S2 networks but we anticipate most people would use it for off-air and cable. Our testing has been done using Silicon Dust HDHomeRun tuners which connect to the transport streams to the monitoring computer via Ethernet.

TSWatcher works by having a list of TSReader tuning commands and a list of TSReader Professional profiles each pointing at a separate tuner. The more tuners available, the quicker TSWatcher can loop through the RF channels and analyze the results.

Alarms available

TSWatcher can generate alarms based on the following:
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're 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.

TSWatcher Setup


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 the Network Table (NIT) load. Then right-click the root of the NIT and choose Export. This will make a comma-separated file of all the muxes indexed in the NIT. Quit TSReader, and then click the "Import" button in TSWatcher and then choose DVB-C.
Launch TSReader and hit the Scan button on the tuner dialog. This will make TSReader scan each of the QAM channels and generate a list of the active muxes. Quit TSReader and then click the "Import" button in TSWatcher and then choose QAM.
Launch TSReader and select the appropriate geographical area and click the Scan button. This will scan through all the different frequencies and bandwidths and will eventually generate a DVBT.lst file in the TSReader folder. Close TSReader and then click the Setup button in TSWatcher's main window and click Import and choose DVB-T. Although exporting the NIT would be possible in DVB-T networks, some DVB-T2 network tables do not contain the frequency and therefore would be missing.
Start TSReader and hit the Scan button on the tuner dialog. This will make TSReader scan each of the broadcast channels and generate a list of the active muxes in the ATSC.lst file. Quit TSReader and then click the "Import" button in TSWatcher and then choose 8VSB


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:

TSReader Profiles

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. Please note that in the sample image above, the credentials and server name have been removed to protect our privacy.

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.

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:
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.