Uniprocessor Mode

-1 (no additional parameters)

TSReader uses many different threads to spread its CPU load across multiple processors/cores. We have found a few plugins that are not thread safe and will crash on multi-core processors. By adding this switch, TSReader will run only on the first core.

Control Sleep Mode

-2 (no additional parameters)

TSReader will by prevent Windows from going to sleep by simulating key-presses. This is necessary to prevent TSReader from loosing packets. However in some cases, you might want the system to be able to sleep. Adding this switch allows that.

Internal Switch


Used internally - not documented.

XML Character Set

-4 export-format

By default, TSReader writes XML files using the ISO-8859-1 character set which only supports Western European character sets. TSReader can also export in UTF-8 format which supports all character sets used around the world.

export-format can be either ISO-8859-1 or UTF-8.

EIT Language Selection

-5 language

If the EIT stream contains multiple languages, TSReader will load all of the different text languages when it loads EIT events. Adding this switch will filter the EIT stream so only the specified language is loaded.

language is the three-character country code to select, for example GER for German and FRA for French.

Internal Switch


Used internally - not documented.

Internal Switch


Used internally - not documented.

Start TSBitCounter Logging (TSReader Professional only)

-8 (no additional parameters)

Tells TSReader to start logging bit counter information. This generates a comma-separated file (CSV) with the bits used for various parts of the stream which is then in-turn used to generate graphs by importing the data into a spreadsheet application.

Use multiple UDP Multicast Lists


Uses multiple Multicast UDP lists. Normally the list of Multicast UDP/RTP/HRTP addresses is stored in UDPMulticast.lst in the TSReader install folder. Adding -91 will cause TSReader to use UDPMulticast-1.lst, -92 uses UDPMulticast-2.lst and so on. This switch is supported by TSReader and TSWatcher.

Record Transport Stream

-a service file length
-A splitsize service file length

This switch records the entire transport stream to a file.

splitsize is used with the -A option only and sets the size in MB for TSReader to split files into chunks.
service is the MPEG-2 service (program) number to select before recording begins. This is used to select a channel should a descrambler such as the BISS plugin is used.
file is the name of the file to record. We suggest using the .TS extension for transport stream files.
length is the number of seconds to record.

Single Program Thumbnail

-b service

By default, TSReader will process video and audio streams for all programs. If you would like just one program's elementary streams to be decoded, add this switch.

service is the MPEG-2 service (program) number to limit thumbnails.

Disable Blacklisting

-B (no additional parameters)

As TSReader processes the elementary streams defined in the PMTs, it will blacklist streams that aren't correctly formatted or do not exist as part of the stream. This is to prevent TSReader from getting stuck attempting to decode an elementary stream that can't be decoded. This option disables the blacklisting completely.

Control Server Enable

-c port or -c ip-addr:port

This option enables the Control Server on the specified port. By default, TSReader will listen for connections on this port on all network interfaces - the second format will force TSReader to listen for connection on that interface only.

port is the TCP port number on which to listen for Control Server connections. ip-addr:port is the IP address and port number on which to listen for Control Server connections.

Serial Receiver Control

-C receiver port

This allows remote control via a serial connection of commercial receivers which in-turn feed their transport stream via an ASI or SMPTE-310M interface.

receiver is the receiver type
port is the serial port, for example COM3

Disable Stream Parsing

-d (no additional parameters)

If TSReader is crashing on a stream, use this switch to disable the stream parser inside TSReader. This will then allow you to record the multiplex and send it over to us so we can investigate the problem.

Force Network Type

-D network-type

TSReader figures out which type of network is being listened to by looking at various flags and stream PIDs. If the stream contains network PIDs for multiple systems, TSReader will randomly choose the network type based on the streams it sees first. This switch overrides the automatic stream selection.

network-type is a=ATSC, d=DVB, i=ISDB, m=DCII, s=SCTE.

Save EIT Data (TSReader Professional only)

-e folder

Writes all EIT data to a comma-separated file named EPG_yyyymmdd.txt in the folder specified.

folder is the name of the folder to write the file.

Extended EIT Selection

-E extended-EIT

TSReader processes the EIT data in ATSC, DVB and ISDB formats depending on the network type detected. Dish Network (USA), Bell TV (Canada), Sky Broadcasting (UK/Republic of Ireland) and Media Highway 2 (Europe) all have their own extended EIT streams that typically transmit many days worth of EPG data using a unique format. This switch selects the extended EIT format.

extended-EIT is -Eb for Bell TV, -Ed for Dish Network, -EM for Media Highway 2 and -Es for Sky Broadcasting.

TSReader Professional only: The default DVB/ISDB PID of 0x0012 for the EIT can be overridden by proving the PID after the -E switch either as decimal or hex if prefixed with 0x. For example -E 0x0039.

Forward UDP streams (TSReader Professional only)

-f {+ip-addr}

This switch enables UDP forwarding when TSReader starts. The UDP forwarder should be previously been configured. The optional parameter sets the output network address in the case of multiple NICs in a system. The + sign is required before the IP address.

ip-addr is the IP address of the output network adapter prefixed with the + sign. For example -f +

Run TSReader Control Server Script (TSReader Professional only)

-F {+/*reload} filename

The TSReader control server is normally used dynamically to allow other processes to control TSReader. It is also possible to make a text file containing a list of control server commands and have the control server execute them line-by-line. The output from the control server is discarded.

Control server scripts are run once however, they can be run repetitively by using the + and * prefixes. For example -F +3600 control-server.txt will run the contents of the file through the control server every hour. The * prefix is the same except the file contains a list of files to run through the control server. The list of filenames can be prefixed with http:// to tell TSReader to read these files from an HTTP server rather than a straight file.

Operate in Memory Stick Mode (TSReader Professional only)

-g (no additional parameters)

This switch is used to enable automatic profile import/export when running TSReader from a memory stick. The first time TSReader is run this way, profiles from the current system will be copied onto the memory stick. From that point on, the profiles will remain on the memory stick being automatically copied to and from the system TSReader is being run on. The -g switch MUST be the first switch on the command line.

Specify PAT PID (TSReader Professional only)


Sets the PAT PID - almost always this is zero, but if specified, the PID can either be decimal or hex if prefixed with 0x. For example, -G 0x1000.

Display Chart

-h chart-number (no spaces)

Displays the specified chart when TSReader starts: -h0 PID pie, -h1 PID pie 3D, -h2 Video Bitrate, -h3 Video Bitrate Area, -h4 Mux Usage, -h5 Mux Usage Area, -h6 Active PIDs by Rate, -h7 Active PIDs by PID, -h8 Program Usage Stacked, -h9 Video Composition, -h: (minus h colon) Signal Chart.

Automatic HTML Export

-H {+option} filename

Exports transport stream information to an HTML file and then quits TSReader. By default, TSReader outputs all data types to the HTML file. To specify which details are exported, use the + character followed by the sum of the following hexadecimal values: 1-PAT, 2-PMT, 4-CAT, 8-NIT, 10-SDT, 20-EIT,40-SDT only for this mux,80-PID chart,100-thumbnails,200-MPEG-2 stats,400-source info

Force TSReader Single Instance

-i (no additional parameters)

Forces TSReader to run a single instance. For example if a satellite or cable tuner is being used, TSReader will bring a prior instance's window to the front rather than trying to start a new instance.

Record PIDs

-I file duration options {+}"PID PID PID"

Records PIDs to a file. The + symbol tells TSReader to load a list of PIDs from a file rather than the specified PIDs.

file is the name of the file to record to. The PID number is added to the file unless recording multiple PIDs to a single file.
is the recording time in seconds.
options is the decimal sum of options: 1-records without the PID header, 2-records all PIDs to a single file, 4-appends recording to an existing file.
PID is the quoted list of PIDs. By default decimal PIDs are used unless prefixed with 0x to indicate hexadecimal.

Select Profile (TSReader Professional only)

-L profile

Selects the profile used by TSReader. If no -L switch is used, the Default profile will be used. Profile names with spaces must be surrounded by quote marks.

Load Manual Channel Definitions

-m file

Loads a manual channel definition file.

file is the name of the manual channel file definition. This is created using the File/Manual Channel option.

Run TSReader Minimized


TSReader normally displays at the last screen position and size used. With this option, TSReader starts minimized. The -Mm switch tells TSReader to launch as a hidden window with an icon displayed in the notification area. The -Mh switch completely hides the TSReader window.

Launch Record All Programs Mode (TSReader Professional only)


Starts automatic archiving with the Record All Programs feature. The optional H character tells TSReader to hide its main window. The Record All Programs mode must have previously been configured.

Automatically Launch Stream Monitor (TSReader Professional only)


Runs the ETR-290 style stream monitor function when TSReader starts. If the + character follows the switch, the log filename can be specified. If omitted, TSReader will write a log file called StreamMonitor-yyyymmdd.txt in the TSReader install folder. The - character tells TSReader to show just the Stream Monitor window (the TSReader main window is hidden) and to close TSReader when the Stream Monitor window closes.

Select DiSEqC Positioner Command

-P{U} position delay

Sends a DiSEqC or USALS command to a dish motor before tuning.

position is the pre-programmed position number or with the -PU switch is the orbital location used with USALS compatible motors for example 61.5 west would be 61500W and 19.2 east would be 19200E.
delay is the number of seconds to wait after the motor command is sent to give the motor time to move the dish prior to tuning.

Select Quiet Mode

-q (no additional parameters)

Switches to quiet mode. TSReader runs normally but should there be an issue starting (like not being able to tune), TSReader will display no message and return a value of one to the application that started TSReader. This is useful for automating TSReader.

Record Single Program

-r service file length
-R{t} splitsize service file length

Records a single program from the transport stream to a file. TSReader regenerates the PAT and PMT to include only the single stream in the case of multi-program transport stream and all network PIDs and NULL PIDs are removed from the recording.

splitsize is used with the -R option only and sets the size in MB for TSReader to split files into chunks. If you want to specify the number of seconds for each chunk, add the t character as in -Rt.
service is the MPEG-2 service (program) number to record.
file is the name of the file to record.
length is the number of seconds to record.

Specify Source Module Name

-s module

Sets the source module name.

module is the name of the TSReader source module to be used. This is the full filename of the source module so for example to set the source module to UDPMulticast, the module parameter would be TSReader_UDPMulticast.dll.

Specify Device Number

-S card-number

Some source modules support multiple cards or tuners. This switch specifies the card number.

card-number is the card or tuner number starting typically at 0. For example -S 0 is used for the first tuner, -S 1 for the second and so on.

Select Audio Track

-t track

If multiple audio streams are present, this selects which stream is recorded with the -r and -R switches.

track is the audio track number starting at zero.

Load PID List

-T file

Loads a PID list. This is a plain text file containing the hex PID numbers and is used to tell TSReader a PID is present even if it hasn't been received. This is used with the -I switch to record a PID that hasn't yet been received when the recording starts.

file is the name of the PID list file usually with a .PDL extension.

Specify Subtitle Track Recording

-u (no additional parameters)

When recording a single program with the -r and -R switches by default only the video and audio streams are recorded. With the -u switch any DVB subtitle streams are also included in the recording. For North American/South Korean closed captions, the subtitles are always recorded since the captions are included within the video stream.

Automatic Playback via VLC

-v service VLC-config
-V service VLC-config seconds

This switch selects automatic playback via VLC when TSReader starts.

service is the service number to playback.
VLC-config is the VLC configuration to use. The default configuration for playback is 1.
seconds specifies the number of seconds to playback with the -V switch.

Automatic XML Export

-x{+} filename

The optional + character after the switch is used along with -y followed by a very large number and the file source with the option to close TSReader when the file has been processed. Using this combination, it's possible for TSReader to process an entire file and then do XML export and exit. XML export always exports all data. We assume the application parsing the XML file can differentiate between the various sections.

filename is the name of the XML file to export

Automatic XMLTV Format

-X{+} {option remap-file} filename

XMLTV is a format of XML containing just EPG data. Adding a + before the filename adds two parameters - option is a sum value of export options: 1 - export using UTC time (XMLTV is usually local-time), 2 - export a script file (compatible with TSReader's control server) and 4 - remap channel numbers per the remap file which is a text file containing lines with mmmmm=nnnnn where mmmmm is the TSReader service number and nnnnn is the exported service number. The remap file is only specified when the 4 value is in the option field. The value 8 when added tells TSReader to export the channel list first and then the events - without this value, the channels and events are mixed together.

filename is the name of the XML file to export

Delay Automatic HTML/XML/XMLTV Export

-y delay

When performing an automatic export, TSReader will start the export process ten seconds after the last SI data is received. This is normally enough to receive all the SI data, but some systems may send data much slower and therefore the ten seconds is not enough. This switch allows the ten second value to be overwritten.

delay is the number of seconds after the last SI data is received prior to exporting.

Set DVB SDT/BAT PID (TSReader Professional Only)


Normally in DVB and ISDB networks the SDT/BAT PID is 0x0011. This can be overridden by using this switch. PID is either decimal or hex if prefixed with 0x.

Automatic DVB T2-MI mode


Switches TSReader into DVB T2-MI mode when it launches. The PID supplied should be the PID carrying the DVB T2-MI data. This is in decimal or for hex, prefixed with 0x. PLP is decimal and is the PLP number to use.

Disable Stream Monitor Logging (TSReader Professional Only)

--n {no additional parameters}

By default, TSReader Professional will generate a log file for all alarms generated when the Stream Monitor function is running. This option disables this log function.

Set Stream Monitor Window Position (TSReader Professional Only)

--N x y

Sets the position of the Stream Monitor window. The size of the window is fixed.

Set TSReader Window Position and Size

--p x y width height

Sets the position and size of the main TSReader window

Set Stream Monitor PCR delay level (TSReader Professional Only)

--P nnn

Sets the number of milliseconds that the Stream Monitor will generate an alarm when the delay between PCR stamps exceeds this number. By default, this is 40ms.

Write Video/Audio timing data (TSReader Professional Only)

--v program filename

Automates the Export/Log Video/Audio timing menu item. This selects the program number selected and then writes video and audio timing (the PCR, PTS, DTS and PCR/PTS plus A/V time difference) to a text file. Once started, the logging continues while the stream is active until the menu item is clicked or TSReader is stopped. A sample of the data generated is here.