TSReader Version 2.8.48 README
Updated March 23, 2016
There are three different editions of TSReader available:
- TSReader Lite - limited but free for non-commercial use.
- Standard (Std) - the regular version.
- Professional (Pro) - many additional features for professional
From version 2.7.45 onwards, all changes are listed by edition.
Changes between versions
Version 2.8 build 48:
Note: We originally released this as 2.9.48 but found it broke
some third party source modules.
Changed in 2.8, build 48:
- Captions from H.264 streams are not saved correctly in archive
- Captions carried in SCTE-20 format and written in the archive
mode will sometimes be jibberish
- The HTTP source runs at the rate the server will dole out data
and not at the mux speed
- All: DVB EIT events now compared by start date/time rather
than event id
- All: ISO 6937 character set codings are now added
- All: Fixed an issue where the progressive/interlaced flag for
MPEG-2 would occasionally report incorrectly
- Std/Pro: Added STALL xx NODATA to the control server
- Std/Pro: Added MENU xxxxx to the control server to send clicks
- Std/Pro: Added TSREADER_MDAPI_SET_TSR_TEXT and
TSREADER_MDAPI_SET_TSR_TEXTW to allow plugins to set the main
text window in TSReader
- All: Fixed a bug where the UDP Multicast and Unicast sources
might stop delivering data
- All: Added support for DVB-T2 frequency tables
- All: Added a new option to always treat stream type 0x80 as
DC-II video - even if the network is DVB
- All: SCTE-27 subtitle streams are now recognized when on DC-II
or SCTE networks
- All: Started the process of adding H.265 (HEVC) support. There
is no video decoder for H.265 in TSReader at this point, so you
don't get a thumbnail
- All: Better support for detecting AFD in MPEG-2 streams
- All: Ability to export DVB-C NIT into DVB-C tuning file (right
click the NIT root)
- All: Fixed some issues with non-Latin character sets and
descriptors from DTMB streams
- All: Added support for Dektec DTA-2136 and DTA-2139 QAM
- All: Added support for TBS cards 6220, 6982 and 6983
- All: NIT entries with no frequency defined (like some DVB-T2
NITs) now show the Network ID number in the tree-view
- All: Fixed issue with naming of the CVCT versus the TVCT in
the ATSC system
- All: Fixed issue with Canadian ratings in the EIT wouldn't
show the link to the RTT correctly
- Pro: SCTE CUE message descriptors are now decoded correctly
and fixed an issue where false CRC errors were reported for CUE
- All: Fix for the HTTP source so it no longer fills up your
hard drive with cached data. Oops!
- All: File source module now has an option to filter PCRs that
are carried in video streams but carry incorrect timing data
when the PCR is carried on a seperate PID. This is used when
calculating the mux rate for playback through TSReader.
- All: UDP related source modules now have an option to set
minimal buffering. This is useful when using TSReader on UDP
streams below 1Mbps
- All: Fixed an issue with text display in the BAT
- Pro: The caption decoder can now export CEA-708 captions (both
the one in TSReader and the standalone ccextract program)
- Pro: Korean captions carried in CEA-708 data are now handled
- Std/Pro: Fixed a crash on some DVB-C sources where
command-line tuning was used
- All: Improved detection of AFD in H.264 streams
- Std/Pro: Fixed lockup issue with the control server's TUNE
command on some HDHomeRun tuners.
Version 2.8, build 47c
- Pro: The warning that's displayed when ending archiving mode
can now be disabled
- Pro: Added an option to terminate TSReader once archive mode
- Pro: Added an option when clicking a profile in the
profile-browser to launch the profile without command-line
- All: Added support for the HDHomeRun Prime Cable Card receiver
- Pro: Fixed a bug in the archive Disk Transfer utility which
caused the video file to not be deleted from the source drive
- All: Fixed a problem with setting the default VLC path on
non-English or 64-bit Windows
- Pro: UDP forwarder now accepts domain names in addition to IP
- All: Added decoding of the ATSC Genre descriptor
- Pro: New look to the Disk Transfer utility
- Std/Pro: Added -2 switch to force the "Allow PC to Sleep"
- Pro: The UDP forwarder can now use a TTL of zero
- All: Added the ability to export the subscription status on
the HDHomeRun Prime tuner to a comma-separated file
- All: Fixed an issue with the HDHomeRun Prime not resuming the
stream after a power cycle or network interruption
- All: Added support for UTF-8 encoded ISO 10646 character sets
- All: Updated the Service Type table to reflect the latest ETSI
- All: Fixed an issue with multiple extended event description
descriptors causing characters to be lost
- All: Added an option to show the video first in the Program
- All: Updated Dektec and Sencore source modules for
compatibility with their latest drivers
- All: Current program text from the EPG is only shown on video
- Std/Pro: The Table Viewer now shows multiple tables carried in
the same section
- Pro: Fixes to cure a once every two week issue with channels
being archived going encrypted when being recorded from an
- Pro: Added option to not save thumbnails when running archive
- All: Added decoding of the ATSC service_type, hidden &
hide_guide fields from the TVCT & CVCT
- Pro: Increased the number of archive channels from 32 to 96
- Pro: Forwarder now displays channel names correctly
- Pro: Fixed an issue with deleting newly created profiles
- All: If multiple Dektec devices are found, TSReader now shows
a dialog allowing selection of the device.
- All: The DektecUSB source module is now depreciated and will
be automatically removed by TSReader. Use the Dektec source
module for all Dektec devices
- All: Support for Chinese & Korean character sets
- All: Fixed an issue with the TVCT Extended Channel Descriptor
when Huffman coded
- Std/Pro: Added support for UTF-8 character sets in XML, XMLTV
and HTML exports.
- Std/Pro: Added "-4 ISO-8859-1" and "-4 UTF-8" command-line
switches to select XML/XMLTV & HTML export character set
- Std/Pro: Added "-M h" switch to run TSReader hidden. You must
use command-line parameters if you specify this switch.
- Pro: Fixed an issue when using the archive function where
channels swapped to 30 minute recordings because of lack of EPG
wouldn't switch back to EPG mode automatically.
- All: TSReader now includes source modules from TBS. The command-line
parsing bug these source modules had is now fixed Thanks
to the guys at TBS for their help
- Pro: Lots of improvements to the Archive Viewer. Added the
ability to attach notes to a recording, print a list of
recordings and Closed Caption extraction and viewing
- Lite: H.264 thumbnails are now generated!
- All: Added input support for Stream Labs ASI cards. Only one
card is supported at present
- Pro: Added forwarder support for the ITW-9507 low-cost DVB-T
- Pro: Fixed an issue with CEA-708 captions specifically when
using 3D extensions
- All: SCTE-65 support completed
- All: Multiple ATSC descriptors of the same type in the EIT are
now displayed correctly.
- All: Added DVB-S2 support to the Alitronika AT-660 series
- All: Fixed an issue with PMTs being placed on PIDs 0x1ffb
& 0x1ffc (reserved for ATSC & SCTE).
- All: 16:9 thumbnails now have the correct aspect ratio in the
TSReader thumbnail display
- Std/Pro: Control Server RECORD command now includes the
elapsed recording time in its response
- Std/Pro: Thumbnail generation for most video types can be
disabled by setting the Maximum Pictures value to zero in the
Settings/Thumbnail Thread/Refresh Rate & Maximum Pictures
- Std/Pro: Control Server PROGRAM command now indicates if a
service is scrambled
- All: The DVB BIT outputs non-Latin characters correctly now
- Std/Pro: Added the -4 switch to select XML and HTML export
- Std/Pro: Added the -5 switch to set and enable the EIT
- All: Changed the processing of the DVB EIT extended event
descriptor to prevent character loss on some streams.
Version 2.8, build 47b
- All: Fixed an issue with VCT names in ATSC muxes being
displayed in the wrong character set in the tree-view
- Lite: Fixed a bug where the tree-view's size was incorrect.
Version 2.8, build 47a
- All: Subtitling descriptor now decoded correctly
- All: When recording a program if only one program is present
in the mux, it will be automatically selected
- All: Recording times can now accept hh:mm:ss (or mm:ss) in
addition to seconds
- Pro: When reloading from XMLTV EPG files via the control
server, if the new XMLTV has less events than the old, the new
file is now ignored
- Pro: Fixed a bug when switching from EPG to timed recording,
the 30 minute programs wouldn't be aligned to half hours
- All: Added Original Network ID to the SDT display
- All: Increased the PES buffer size which caused odd things to
happen with some MPEG-2 HD video sources
- All: Fixed bug with unaligned TS in HTTP module and added the
ability not to parse HTML5 video tags
- Pro: Fixed bug with ATSC captions in H.264 video streams
- All: Fixed various screen painting issues when using the Aero
display on Windows 7
- Pro: Added Live Video Mosaic. This shows all clear programs in
the mux live at the same time using VLC.
- All: Added support for the Sencore DTU-236 8VSB/QAM
- Std/Pro: Bug fix for the XML export so that non-North American
ratings are included in the XML.
- All: Started support for non-Latin character sets. Right now,
Greek and Cyrillic character sets are supported in the display
part of TSReader.
- All: Added support for the EPG format used in UK DVB-T2
Freeview and Freesat.
- All: Fixed an issue with the BDA interfaces using -q and not
being able to lock.
- Std/Pro: Added signal and source-module information to the XML
- All: Fixed a problem with the file source when the
command-line specified a file that TSReader then couldn't read.
- All: Added Japanese character set support. If odd characters
are seen when looking at non-Japanese ISDB streams, switch the
"Ignore ARIB characters" option on in the settings.
- All: Fixed bug with scanning QAM cable systems where a channel
0 would sometimes get created
- Pro: Correct an issue with manual channels and the Record all
- Std/Pro: Fixed a bug where & characters from the DVB NIT
would get exported incorrectly.
- Pro: Corrected a bug with the Closed Caption decoder and H.264
streams containing emulation prevention bytes.
- All: Fixed a bug in the file sources that caused a crash with
very long filenames.
- Std/Pro: Fixed a crash in XML export with bad BAT
- Pro: Fixed an issue with forwarding manual channels to UDP
- Std/Pro: Double clicking PID in PID list toggles PID
- Pro: Fixed issue with archiving ATSC channels with the
HDHomeRun and PID filtering
- Pro: Only send archive scrambled channel warning after a
significant number of encrypted packets
- All: Added the ability for source-module developers creating
satellite interfaces to provide an autoscan function
- All: Added support for more HDHomeRun tuners (Tech DVB and
Prime). The HRHR Prime receiver currently works in 8VSB/QAM only
mode and supports two out of the three tuners
- All: Added forwarder support for the Dektec DTU-205 and
DTU-235 USB ASI adapters
- All: Added compatibility with streams carrying PMT entries
pointing to the same ES PID.
- All: Added decoding for AC3 audio descriptor
- All: Fixed a bug with muxed containing more than 255 programs
- All: Corrected a bug with non parsing of PMTs with program
- All: Added support for ISO/IEC 8859-2 character set
- All: Added decoding of AVC descriptors 0x28 & 0x2a
- Pro: Improved the email setup dialog and added a trace to
allow the SMTP exchange in test mode to be seen.
Version 2.8, build 47
- Pro: Option to generate MD5 checksums on archived MPEG files.
- Pro: Added CAPTION-FILE tags to the XML generated in archive
- Pro: Changed the archive status window to show more channels
on smaller monitors.
- Std/Pro: Enhanced the -X (XMLTV export) switch to allow
control of all the export parameters (see the command-line.html
- All: Fixed decoding of AFD data when the user data also
contains private data.
- Pro: Fixed an issue with the archive mode when special
characters were in the event name which sometimes caused XML
files to be not generated.
- Std/Pro: Ability to turn off the "Control server failed to
- All: Satellite tune dialog position is remembered
- Pro: Archive mode supports 60 minute recordings
- Std/Pro: Fixed issue where pre-releases always showed a new
- All: Fix Tevii signal chart
- All: Fix DVB-S2 retune with wrong FEC selected
- Pro: Correct a bug where the command-line parameters for the
tuner would sometimes get deleted.
- Pro: Corrected the time display for timed channels when first
starting an archive session.
- Pro: Added the ability to write EIA-608 caption data to plain
text files (press F1 in the caption decoder to see all the
- Pro: Fixed a problem with the Archive Viewer app where it
wouldn't delete caption files when deleting an event.
- Pro: Corrected some issues with viewing captions from H.264
- Std/Pro: Fixed a problem with the EXPORT XML function where
the XML sent over the control server would be truncated after
the first event from the EIT.
- All: Updated to Alitronika's lastest SDK - if you use
Alitronika hardware, please make sure you're using their latest
- Pro: Fixed a bug where deleting PIDs from the PID list in the
Forwarder/Settings immediately after loading a PID list file
- Pro: The UDP Forwarder can now send a mux without a PAT/PMT
- All: PID 1FF6 now shows as ATSC M/H in the PID list on ATSC
- Std/Pro: XML export now adds the AUDIO-TYPE AC3 tag for DCII,
ATSC and SCTE networks even if AC3 descriptors aren't in the PMT
- All: HDHomeRun tuners now recover from network/power cable
disconnects and reset the PID filter if this mode is being used
in TSReader's Pro archive mode.
- Pro: <NEXT-FILE> and <PRIOR-FILE> tags added to
- Pro: Fixed bug with archive XML & characters not being
- All: DVBTBDASource now correctly detects a signal lock -
previously it would indicate a lock on every frequency even if
no signal was present
- Pro: Archive limit emails option - this limits the number of
email messages sent by the archiver when there's an issue to the
number specified per minute
- Pro: The archive status dialog now shows the EPG availability
length in days and doesn't corrupt file/event names when resized
- All: Fix problem with the Video Composition chart sometimes
crashing TSReader when being closed
- Std/Pro: -G pid switch for specifying PAT PID
- Pro: UDPFORWARD command in the control server
- Pro: A new dialog shows missing PIDs, i.e. PIDs called out in
the mux's SI, but not being used.
- Std/Pro: Control Server can now have an optional password -
the PASSWORD command must be sent along with the right password
before any other Control Server commands can be sent.
- All: Improvements to BDA support: DVB-C now reports non-locks
correctly, DVB-C and DVB-S support multiple devices and all
three DVB BDA sources now return clearer error information.
- All: MD filters can now request hooks during start
- All: Added TSREADER_MDAPI_GET_CA_PMT message
- All: Fixed an issue with the EIT where multiple descriptors of
the same type were being discarded
- All: Fixed a memory leak relating to expiring old EIT entries
- Pro: Changed the way the XMLTV command in the control server
works. This fixes an issue where very occasionally a number of
EIT events would be discarded
- All: Added an option to discard packets with the TEI flag set
- All: Fix File/Restart Source with File.dll when close on
end-of-file is set
- All: Fixed a bug in MPEG audio parsing
- All: Corrected a problem parsing PMTs on PID 0x0024 (same as
- Std/Pro: More AFD fixes
- Std/Pro: Allow recording from the scheduler using UDP muxes
when the PAT points to a DVB Network table
- Pro: Fixed an issue running archive mode on QEMM
- All: Added DVB-T bandplan for Region 2 using 6 MHz channels
- All: Added decoding of the Auxiliary PAT/CAT location
descriptors used in the Sony Passage system
- All: Added decoding of many of the DVB-T2 related descriptors
- All: Added support for Alitronika AT78XUSB
- All: Added support for Alitronika AT660
- All: Performance tweaks
- Std/Pro: Fixed XMLTV export to drop an erroneous "-" character
if no channel name was defined
- Std/Pro: Added rating export to XMLTV
- Pro: Added location export to XML in archive mode
- Pro: Added EPG warning in archiver for when EPG gets to a
certain number of days
- Pro: Added low rate UI option to archiver
- Pro: UTC offset in archive XML is now generated when the event
is started, not finished
- Pro: Added INFO ARCHIVE command to the control server
- Pro: Fixed bug where if the EPG ran out, multiple files would
be created when the EPG was reloaded
- Pro: Added INFO ARCHIVE-SPACE command to the control server
- All: Added support for TSReader_GetMiscString() in source
modules. Returned text shown below the signal.
- Pro: Added INFO ARCHIVE-EPG command to the control server
- Pro: Added RETUNE and WRITE-ERROR tags to the XML generated
for each program in archive mode.
- All: Added support for the RoVer Instruments BIT-1.
- Pro: Added the ability to log CC/TEI errors to a CSV file
- All: Added HTML-5 video support to the HTTP module. A sample
URL is http://devimages.apple.com/iphone/samples/bipbopall.html
Version 2.8, build 46g
- All: Fixed a problem with DiSEqC switch commands on Tevii
- All: Hidden registry DWORD value: ForceH264ProgramNumber -
forces the specified program to use H.264 for video. This allows
TSReader to operate correctly with the ITV HD channel on Astra 2
which advertises itself as H.263.
- All: Fixed a problem there an empty PAT would show a single
- Std/Pro: Fixed an issue with the control server GRAPH SEND
function if a graph hasn't been saved
- Pro: Improvements to the PID filtering in the UDP forwarder.
- Std/Pro: Fixed a crash when processing some MPEG-4 audio.
- All: Fixes for more than 64 muxes in ATSC/QAM networks.
- Pro: Added support for forwarding to Alitronika DTA-2145
- Std/Pro: The -y switch now accepts a negative value for the
timeout which causes an export after the specified number of
seconds regardless of table processing.
- Std/Pro: The control server now sends the correct response
code for the SOURCE command.
- Std/Pro: NIT tables up to 4096 bytes can now be processed.
- Std/Pro: The -I switch now accepts a + sign in the front of
the first " character around the PID numbers. If the + sign is
there, the quoted text becomes the name of a PDL file which
specifies the PIDs to record.
- All: Initial support for the SCTE 65 system used in cable
systems in the Americas.
- Pro: Added decoding of SCTE 35 CUE messages including XML
- Pro: UDP forwarder can now forward just the PIDs specified.
- All: Added an option to allow the PC to go into sleep mode
when TSReader is running. This may cause lots of problems with
various source modules/drivers so please use with care.
- All: Fixed a bug with HDHomeRun sources where if the frequency
was on the command line one might not see the tuner selection
- Pro: Added the -g switch which allows TSReader to run from a
memory stick and keeps the profiles as files on the memory
- All: Added support for the latest Alitronika AT40X devices.
- All: Added support for DVB-S BDA interfaces. This is the
standard XP implementation so no DiSEqC control nor DVB-S2 is
possible, however, we will be adding support for the Windows 7
enhancements which will resolve this.
- All: Fixed detection of ATSC/SCTE tables when the base PID for
these systems is used for other purposes.
- Pro: UDP Forwarder window is now minimized when TSReader is
- All: TSReader now warns if it is unable to write to a
recording file (for example if out of disk space or a removable
drive is disconnected).
- All: Added an option to always select all audio streams when
the record program function is used.
Version 2.8, build 46f:
- All: We've decided to remove passwords from the setup utility
- All: Ctrl+N now launches VLC configuration #1 and Ctrl+Shift+N
launches VLC configuration #2. These can be used to toggle
playback on and off.
- All: HDHomeRun source now retunes if the symbol quality goes
to zero. This corrects an issue when the HDHR is tuned for many
days on the same mux and then starts sending junk.
- All: Fixed the 100% CPU usage issue on Twinhan cards when
TSReader attempts to retune after lock is lost. Thanks
Greg Farris for the fix.
- All: Updated Hauppauge source modules with various fixes.
- Pro: When a new profile is created using the Profile Browser,
there is now an option to set the device number when a multicard
device is selected.
- All: Fixed a bug with the SDT item count shown in the
- All: Much improved support for ISDB networks.
- Pro: More improvements to archiving mode stability.
- All: Support for the 0.9 versions of VLC.
- Pro: There is now a check for duplicate channel names when
starting the archiver. This would prevent the duplicate channel
from being recorded.
- Std/Pro: HTML export now includes the PCR PID.
- Pro: The Caption logger (accessed via the L key when the CC
display is active) can now log the PTS/DTS stamps.
- Std/Pro: The control server now has two new options for the
GRAPH command: SAVE to write a PNG file of the graph and SEND to
send that same PNG over the socket connection. More details are
in the control server docs.
- All: Fixed an issue with descriptor decoding on virtual
- Pro: Fixed a bug where erroneous descriptors might be seen in
the PMT list displayed in View/Descriptor Usage.
- All: Added an option to the file loop source to mask CC errors
when the file wraps around.
- Pro: The profile browser can now remember the command-line
parameters on a profile by profile basis.
- Pro: Added the XMLTV command to the control server.
- All: The program usage stacked bar chart has been re-arranged
to show the CBR streams like audio, teletext and other
ancilliary data before the video This makes the chart much
easier to see when running in real-time mode.
- All: Corrected a problem with erroneous characters getting
into the EPG data on some satellite services.
- Standard/Pro: Null PIDs can now be recorded.
- All: Added support for the Linear Systems ATSC Master range of
PCI cards that use the SMTPE-310M protocol.
- All: There's now a thumbnail option to place the ES PID onto
- Pro: Fixes for the SMTP client to correctly start
communiucations with servers that are not using SMTP
- Pro: Archive mode rate charts don't eventually end up as very
small lines over long periods of time.
- Pro: Archive mode now has an option to hide the main TSReader
window. When this is activated, the vital stream statistics like
CC/TEI error counts and so on are displayed at the top of the
archiver status window.
- Pro: When setting the address of the SMTP server used by
TSReader, you can now specify a non-standard port by adding the
port number after a colon.
- Pro: Fixed an issue with the -c switch being ignored because
of the -L switch.
- Std/Pro: Null PIDs can be recorded
- All: Added a new source module for Linear Systems SMPTE310M
- All: Option to show the ES PID on thumbnails
- Pro: The internal email client used by the stream monitor and
archiving functions now correctly communicates with both open
and password protected SMTP servers.
- All: Added support for the European version of the HDHomeRun
which works with DVB-T and DVB-C tuners.
- Std/Pro: Fixed an issue with parsing user data when generating
thumbnails from H.264 video.
- Pro: Fixed text size on the audio song title thumbnails.
- All: Fixed an issue with parsing CATs with multiple sections.
- All: Support added for DVB-C BDA devices.
- Std/Pro: The HDHomeRun source modules can now accept the
device ID and tuner number on the command-line just before the
standard tuning parameters. The format to use is [dddddddd:t]
where 'dddddddd' is the tuner ID (shown in TSReader) and 't' is
the tuner number, 0 or 1.
- All: Added support for TeVii DVB-S/DVB-S2 interfaces.
- Pro: Added a Disk Transfer utility to move archived recordings
(made using Record/Record All Programs) to off-line drives via
- All: The parental rating descriptor on DVB networks now takes
the country code into consideration to handle special cases such
as Australia's ratings table.
- Std/Pro: The control server EXPORT command can now send the
exported file via the control server connection if no filename
- Pro: Added control server CAPTION command to turn on and of
the caption decoder and to control logging of captions to a
- Pro: Fixed a problem with the UDP forwarder where forwarded
programs would get the wrong program number in the PAT.
- Pro: Added the ability to drop or NULL replace packets
forwarded to UDP when forwarding the entire mux. The list of
PIDs is set with the Forwarder/Settings menu.
- All: Corrected some ATSC TSID channel assignments.
- Std/Pro: Added support for scheduling recordings from ATSC
networks when forwarded over UDP.
- All: Fixed an issue with MPEG-2 AAC streams sometimes crashing
the thumbnail decoder.
- Pro: Added the ability to write raw caption data to files.
- All: Updated the DSR-4800 and Newtec 2063 serial control
modules. Thanks to David Emery for the fixes.
Version 2.8, build 46e:
- Pro: Bug fixes for the caption logging in the Record All
- All: The File sources now show the filename of the file being
processed in the main TSReader window.
- Pro: The T key in the EPG Grid now displays a dialog that
allows selection of where the base time used by the EPG comes
from. This can be the PC Time, DVB TDT or TOT tables, or the
ATSC STT time. This option along with the Settings/Keep Past EIT
data is great for looking at EPG data from recordings in grid
- Pro: Fixed an issue with the GPS log output of longitude and
lattitude being rounded incorrectly.
- Pro: Greatly improved the archive recording viewer which is
also available as a seperate program now to all users.
- Pro: The forwarder subsystem can now null stuff output streams
which is useful when dealing with a VBR input stream to TSReader
and you need to output to a device at a constant rate. This does
not remultiplex the stream to match the exact rate, so errors
may exist in the stream generated by TSReader.
- Pro: Corrected an issue with authenticating on some SMTP
servers when sending email from TSReader. Additionally, the
stream monitor and archiver emails can now have a subject prefix
added which is useful when organizing email into folders based
on subject contents.
- All: Added the ability to import the "All Transponders" CSV
file that's generated by the SatcoDX Suite Updater program. This
regenerates the satellite list shown by TSReader from data
that's automatically updated from SatcoDX.
- All: Updated the TSReader Sample Source Module source-code and
rewrote the documentation on Source Modules.
- All: Clicking on a PID in the PID chart now causes an
On_PID_Click event to occur in MD plugins that support this
- Pro: The Closed Caption display window now remembers its size
- Pro: The Stream Monitor function now lists up to eight PIDs
with continuity errors when generating a 1.4 alarm.
- Pro: There is now an option to limit the number of emails sent
by the Stream Monitor in one minute.
- All: Corrected a crash that could occur on noisy QAM signals
using the ATSC cable tables (CVCT etc).
- All: Added a setting to control scaling of the CC and TEI
counters - with this feature on, TSReader will scale the
counters down to kilo and mega counts (k or m suffix).
Version 2.8, build 46d:
- All: If the File or FileLoop source modules hit the end of
file and are displaying the "Reached end of the transport stream
file" dialog box and you close TSReader, it now properly closes
rather than waiting for that dialog box to be closed.
- Std/Pro: Control server now adds a scrambled/clear indicator
to the end of each line when the PIDS command is used. See the control server documentation
- All: Fixed a bug with PMT CRC errors and/or missing AC3
descriptors when performing recordings on channels manually
- All: User data from MPEG-2 video streams is now extracted both
from the picture and sequence headers. This was preventing AFD
decoding from showing up in some streams.
- All: Fixed a bug where TSReader used a lot more memory than it
- Pro: PID forwarder can now drop packets, replacing them with
- Std/Pro: Fix for the -i switch to ensure that prior TSReader
instance has actually ended before starting the new one.
- Std/Pro: Improvements to the way TSReader handles a channel
that can't be recorded when running from a schedule. The
"TSReader runs in quiet mode" on the EPG Settings dialog should
also be checked.
- Std/Pro: TSReader now remembers graph settings (such as window
position and size) on a chart by chart basis. Additionally,
graphs can now be customized correctly by simply double-clicking
the graph and using the popup dialog to setup the chart. This
means that the menu options to set the graph style have been
removed since they can be accessed more easily by
double-clicking the graph.
- Pro: Since TSReader Pro can display multiple charts at the
same time, there's now an option to display charts non-modally -
this means they can act independently of the TSReader main
- Std/Pro: Fixed a bug that caused the -P switch to fail.
- All: The automatic expanding PMTs setting (and the shortcut
keys to open/collapse the PMT ) now also apply to the CAT.
- All: Corrected an issue in the MD-API where only the first
filter in each plugin would get called.
- All: A new callback into MD-APIs can now occur - void
On_PID_Click(int nPID) - gets called if present when the user
clicks on an item in the tree-view.
- All: Another new MD-API callback - void On_Source_Restart() -
gets called when the source is restarted (or TSReader is about
to exit). This gives MD-API plugins a chance to reset themselves
in case a new stream is tuned.
- Std/Pro: TSReader now supports searching of the decoded text
from the tree-view. Press Ctrl+F to search and then F3 for the
- Std/Pro: The satellite tuner dialogs are now sizable and
remember their new size. This allows the height of the satellite
and transponder lists to be expanded.
- Pro: Fixed a crash that occurred when parsing audio title data
and the data wasn't in audio title format.
- Std/Pro: The Alt with + and Alt with - keystrokes (and their
menu items on the File menu) now restart TSReader and
automatically tune to the next or prior mux in the list on 8VSB,
QAM and ISDB-T interfaces.
- Std/Pro: All the ATSC tables supported by TSReader are now
exported to XML. The tables missing were CVCT, RRT and MGT.
- All: Fixed a problem with DVB EIT events with multiple
extended event descriptions.
- Pro: Added the ability to run a set of control server
functions from a text file. This "script" can be run from the
the command-line with -F filename.
- All: The source module selection dialog now has the ability to
ask the selected source module
- All: Custom DiSEqC commands can now be sent via the DiSEqC
- All: Cleaned up the source selection dialogs and added labels
for parameters like frequency.
- Std/Pro: When the satellite positioner command-line switches
are used, the DiSEqC switch input command (if specificied) is
now sent before the positioner command. This allows DiSEqC
positioners to be connected behind switches.
- All: Fixed an issue where if the input transport stream has a
lot of errors and TSReader chooses a new PCR PID for the muxrate
calculation and that PID is itself junk, TSReader might get
stuck showing "n/a" for the muxrate. Now, if no valid PCR
packets are seen on the chosen PCR PID for 250 ms, TSReader
resets the PCR PID and the muxrate no longer gets stuck at
- Std/Pro: TSReader Standard now uses the same multi-threaded
stream parser as TSReader Pro, but limited to two simultaneous
threads. TSReader Pro can use up to 64 seperate ES parsing
threads which works really well with Quad Core processors
(especially two of them!).
- Pro: The Closed Caption decoder window is now properly
- Std/Pro: The ATSCBDASource now supports multiple hardware
devices concurrently. If more than one ATSC BDA device is
attached, TSReader users should add the -S switch to select
which device to use. TSReader Pro users simply create a profile
for each device and assign each an ascending device number.
- Pro: The Stream Monitor window is now non-modal by default.
This means that the window can be placed behind TSReader. The
Stream Monitor Settings now has an option to make the window
- Std/Pro: Fixed an issue with decoding the Bell ExpressVu
Extended EPG (using the -Eb switch).
- Pro: Fixed a problem decoding captions from encoders that use
the full range of temporal reference values in the MPEG-2
picture start code.
- MD-API PID filtering back to the original way - should allow
plugins to work.
- MD-API now outputs the debug names of all the exports from a
- Non-modal charts menu wasn't checked on startup.
- The profile name is shown on Pro charts now.
Version 2.8, build 46c:
- Pro: Audio title thumbnail function now correctly follows the
"Ignore table CRC errors" option.
- Pro: If audio title data contains a CRC error, a thumbnail
with this fact is now created.
- All: If the fast PMT parser is disabled (which is always the
case in TSReader Lite), adaptation fields in the PSI data now
are handled correctly.
- Std/Pro: Corrected an issue with program selection with the -a
and -A switches.
- Std/Pro: Option to add the -q option to the command-lines
created by the EPG Grid's recording scheduler. This runs
TSReader in quiet mode and won't get stuck when the source
module is unable to lock the signal.
- Pro: Added an option to allow XDS data to be decoded by the
caption decoder on the odd field. Technically all XDS should be
on the even field, but some systems like SCTE-20 sometimes use
the odd field.
- All: Added support (Settings menu) for the QPSK-R mode used on
some Spanish satellite signals.
- Pro: Added support for output on Dektec DTA-145.
- All: Fixed an issue with charting the signal on some Hauppauge
- All: The CC indicator on the video thumbnails is now correctly
shown on non-ATSC closed-caption systems.
- Std/Pro: Fixed a problem with the EPG grid's cell elements
size was being reset each time TSReader ran.
- All: Updated all of the Hauppauge source modules and made the
number of source modules much less complicated. If you use a
Hauppauge interface, there's a good possibility that TSReader
will remove the obsolete source module and therefore you'll have
to select a new module. If in doubt which module to select,
there's a file called HCW_SupportedProducts.txt in the
TSReader/Sources folder that has a full list of hardware
Version 2.8, build 46b:
- Std/Pro: XML export now correctly closes the MUXRATE-BPS item.
- All: Updated the DVB-S2 FEC selection to reflect the latest
- All: Fixed issue with multiple Dektec USB interfaces.
- All: Fixed issue with CI-CAMs only receiving channel change
messages if there were plugins loaded.
- Std/Pro: Added a new switch (-Eb) to support the EEPG on Bell
ExpressVu in Canada.
- Std/Pro: Fixed an issue where certain command-line parameters
could lead to source modules being passed an invalid
- Pro: Added some new functions to the Closed-Caption decoder.
The M key allows masking of multiple CC streams and the L key
toggles logging of raw user data and extracted EIA-608 and
CEA-708 to a text file.
- All: The USALS positioner code has been re-written and now
includes buttons for east/west, north/south which makes it much
easier to setup and use. This means the -PU command-line switch
has changed since it now requires an east/west indicator. See
the command-line documentation
for the latest.
- Std/Pro: Fixed an issue with the -u switch not selecting
teletext subtitle streams on Australian DVB-T.
- All: Item counts for the DVB EIT, NIT, SDT and BAT tables are
now displayed in the tree-view.
- Std/Pro: Corrected a problem with the -u option not recording
all teletext/subtitle streams.
- Std: The faster and more robust H.264 decoder from TSReader
Professional is now included with TSReader Standard.
- Std/Pro: After recording with a time limit, the next record
session resets the recording time back to its original value
rather than zero.
- Std/Pro: If an automatic (command-line) recording is started
and the program to be recorded doesn't exist in the mux,
TSReader now displays a warning dialog.
- Std/Pro: In the EPG grid when scheduling tasks its now
possible to change the recorded program number via a translation
file - look at the FAQ for details
(look for EPGMAP.INI).
- All: Fixed a bug where a recording made from a stream that
included extra data streams (such as teletext) would cause
continuity errors in the recording if the PID of such streams
- All: The DVB-T BDA source module now works with devices like
the AF9015-based demods that have no receiver component. Thanks to Christian Zietz for the fixes.
- All: Experimental DVB-C BDA source module.
- Std/Pro: XML export now includes audio sample data when the
audio thumbnails are enabled. This is useful to automatically
check for silence. Look for the <AUDIO-SAMPLES-CHANNEL-1>
in the XML.
- Std/Pro: A decoder for AAC audio is now included with
TSReader. This parses and produces thumbnails for MPEG-2 and
MPEG-4 AAC streams.
- All: Added a source module for the Sencore DTU-235 DVB-T
- Pro: TSReader Pro now includes a signal/GPS position logger
that writes data into a comma-separated file for importing into
mapping software. GPS receivers with NMEA protocol are supported
including serial and Bluetooth devices.
Version 2.8, build 46a:
- All: Fixed a bug with the TechnoTrend DVB-S2 USB2 interface
that created a c:\tsreader.ts recording every time the source
module is used.
- All: Fixed an issue with all most Hauppauge source modules not
working with 2.8.46 and added support for more Hauppauge
interfaces and generic QAM-B cards.
- All: Removed the FutureTel source module. It was causing too
many missing DLL errors and the DLLs required to fix this are
quite large. The support package to make this PCI encoder work
with TSReader are available as a free download at http://www.coolstf.com/tsreader/TSReader_FutureTel.zip.
- Lite: The "Check for New Version" function is now available in
- All: Some corrections to the ATSC TSID tables.
- All: Fixes for the HDHomeRun operating on HRC cable networks.
- All: The IGMPv3 joins in the UDP Multicast source can now be
specified from the command-line. For example "188.8.131.52
firstname.lastname@example.org" would send the IGMPv3 join message to
192.168.1.5 for stream 184.108.40.206 port 1234.
Version 2.8, build 46:
- Pro: Fixed an issue with Scientific Atlanta formatted captions
not being decoded correctly.
- All: Multiple device support for Alitronika products.
- Pro: TSReader can now output the transport stream to devices
like Alitrokina, Dektec and Linear System ASI devices. Devices
that support output are listed on the Forward menu. The
forwarder supports 188, 188+16 byte nulls and 204 byte packets
with DVB standard Reed-Solomon codes. The Reed-Solomon codes are
generated in software so a powerful processor will be required
to use this option.
- Pro: Fixed an issue with the automatic deletion of files when
recording with the "Remove old files when recording space less
than n GB".
- All: Fixed a problem with retuning on TechnoTrend DVB-S2
- All: Fixed a lockup that occurred when a program is selected,
plugins are loaded and no CAT is present in the mux yet there
are CA descriptors in the PMT.
- Std/Pro: New control server command to reset counters.
- Std/Pro: When recording a program TSReader can now optionally
include CA ECM/EMM streams, the CAT and appropriate PMT or
PMT-ES level CA descriptors. The option to control this is on
the record file dialog.
- All: File source now has the ability to shutdown TSReader when
the end-of-file is reached.
- All: Fixes for the TechnoTrend Budget series PCI cards to
better support CI-CAMs.
- All: Fixed an occasional crash that occurred on some IP/DVB
Version 2.7, build 45h:
- Pro: Fixed a bug with the record split size when using the -R
- Std/Pro: When exporting INI files from the NIT tables, any
previous INI files are renamed with the .BAK extension.
- Pro: The profile name is now shown in the TSReader window
title and minimized instances are restored to normal window size
when selected in the profile list.
- Pro: Icons for teletext, WSS and VBI services weren't showing
up correctly on VC1 video streams.
- Pro: Improvements to the H.264 thumbnail decoder.
- Pro: The video composition chart now works with H.264 streams.
Version 2.7, build 45g:
- Std/Pro: Added an option on the Help menu to check for a new
version of TSReader.
- All: Fixed a number of issues related to the long term
generation of thumbnails.
- Pro: Fixed an issue where thumbnails would stop being
generated after a long period of time when multiple thumbnail
threads are running simultaneously.
- Std/Pro: Right clicking on an ES PID in the tree-view now has
an option to unblacklist the PID.
- All: Improvements to the HD Homerun source modules to return
better signal information and indicate a lock correctly.
- Std/Pro: New switch -q to operate in "quiet" mode. If TSReader
is unable to lock the signal (or open file), no error dialogs
are shown and TSReader exits with an value of 1 (normal exit
value is zero). Very useful for automating TSReader from another
- Std/Pro: A option to wake up the computer when scheduled
recording starts and default pre- and post-roll times.
- Pro: Captions from streams CC3 and CC4 are now saved when
using the Record All Programs function.
Version 2.7, build 45f:
- Pro: The Table Monitor function can now dump sections as
- Std/Pro:New command-line option: -B prevents TSReader from
blacklisting elementary streams
- All: Fixed a bug in the IP parser where more than one MPE
packet in a section would be ignored.
- Pro: Fixed a bug in the UDP forwarder which caused the output
PAT's continuity counter to not update.
- All: Updates to some of the Hauppauge source modules to
support Windows Vista.
- Pro: The UDP forwarder can now set the TTL on multicast IP
- All: On ATSC networks, Cable VCTs with major/minor channel
numbers of zero are now displayed.
- All: Hauppauge HVR-950 source module now works correctly on
- All: Null length PMT ES lists no longer cause a false ES entry
to be displayed in TSReader.
- Std/Pro: Improved the -H command-line switch to include the
ability to control which tables are decoded in the resulting
HTML. See the command-line.html file in the documentation folder
- All: Added support for the Dektec 2145 PCI Express adapter.
- Pro: Fixed an issue with the Record All Programs function
where SCTE formatted closed-captions weren't being written as
text files correctly.
- Pro: Added display of current clients to the EIT Server setup
Version 2.7, build 45e:
- All: Previously if you changed channel with playback active,
TSReader would only select the first audio stream of the newly
selected program. Now it selects all audio streams.
- All: Fixed an issue where EIT data wouldn't be processed in
ATSC muxes when the GPS Offset specified in the STT was zero.
Technically, transmitting this way is illegal since the GPS
Offset is currently 14 seconds (Dec 2006).
- All: Added wider support for Dektec products including the new
- Pro: When forwarding programs over UDP as individual transport
streams, a new option to include the CAT, EMM and ECM tables is
included. This allows downstream descrambling for authorized
Version 2.7, build 45d:
- Pro: It's now possible to select the PID used for mux rate
calculation by right clicking a PCR PID in the tree-view.
- Std/Pro: Manual EPG recordings now default the MPEG program
number if there is only one channel in the mux.
- Std/Pro: Fixed a problem with manual EPG recordings running at
the wrong time (difference between local and UTC time).
- Std/Pro: Added a button to the manual EPG recording setup
dialog to fill in the tuning parameters for the current mux.
- All: Updated the RF Central RFX-MDR source module to allow
operation with a wider range of encoders.
- All: Added decoding of the Channel Extended Text Table in ATSC
networks. The resulting text is shown by selecting the TVCT in
- All: Added support for the HDHomeRun Ethernet 8VSB/QAM tuner.
- All: Minor fixes to the EPG Grid when a very large monitor is
Version 2.7, build 45c:
- All: Added support for the newer DVBWorld DVB-S/DSS tuner
which uses a 9 volt power supply rather than a 5 volt supply on
the older model.
- All: Updated all the Hauppauge source modules and added
support for the HVR-950 ATSC stick tuner.
- Pro: Added the -n switch to automatically start TSReader's
Record All Programs function when TSReader is launched.
- All: For plugin users, if TSReader sees a PMT version change
and that PMT is for the currently selected program, TSReader
will send any plugins a channel change message to inform them
the PMT changed.
- All: Update all the Alitronika devices to use their latest
- Std/Pro: Changed the -D switch to allow selection of all
network types supported: -Da for ATSC, -Dd for DVB, -Di for ISDB
and -Dm for DCII.
- Pro: The rate graphs shown when using the Record All Program
function no longer average out the data-rate over time and
therefore show a much better representation of the data rate on
each channel being archived.
- Pro: Fixed a bug in the Record All Program function where one
second programs would occasionally be recorded on ATSC networks.
- All: Fixed a bug where the USER icon would show up on all
MPEG-2 thumbnails even if the video stream wasn't carrying user
- Std/Pro: Changes for the EPG scheduler. Once a recording is
scheduled, double-clicking the event again now shows a pop-up
menu that allow the recording to be canceled and now allows
pre/post-roll times to be set.
- Std/Pro: Manual scheduled recordings can now be set - press
the M key when the EPG grid is shown. Please feel free to
suggest improvements in the manual recording process!
- Pro: The Stream Monitor, UDP Forwarder and Record All Programs
functions can now be used if there are no programs defined in
the PAT, but there are manual channels defined.
Version 2.7, build 45b:
- All: Fixed a crash with DCII muxes with very long service
- All: Added support for the Nextorm DVB-S2101 USB interface.
This is the "new" DVBWorld DVB-S/DSS tuner - looks identical to
the DVBWorld tuner but needs a different source module because
of differences in the hardware. If you can't get the DVBWorld
source module to lock, try using this one instead.
- Std/Pro: Added support for USALS positioners.
- Std/Pro: Added the -PU command line option to allow the USALS
position to be set from the command-line.
- Pro: Added thumbnail decoding for VC-1 video streams.
- All: Added a source module to read from HTTP servers.
Currently there's no rate control so it should only be used with
"live" HTTP servers like VLC's.
- All: The UDP Multicast sources now support IGMP v3 add/drop
membership messages on XP and above. To use IGMPv3, specify the
multicast source in dotted notation, @-sign, and then the
multicast address. For example email@example.com.
- Pro: Fixed a bug in the thumbnail generator where ES data from
the incorrect channel would sometimes get included when running
parallel thumbnail decoders.
- Std/Pro: Fixed a bug in retuning from the EPG Grid on some
- Std/Pro: TSReader can now export satellite INI files from the
NIT by right clicking on the root NIT entry in the tree-view.
- All: Added support for DVB-S2 TechnoTrend Budget cards and
USB2 interfaces. You must use the TechnoTrend standard
drivers and not their BDA drivers.
- Std/Pro: Added a menu item to refresh the thumbnails
immediately. Very useful if you have the thumbnail rate set to
zero (so you just get thumbnails when TSReader starts) and you
want to update them without restarting the source. This function
can also be accessed by the F5 key.
- All: Improvements to the DVB-T BDA source module.
- All: Added three new band plans for DVB-T scanning. These run
from 118-858 MHz stepping at 1 MHz either as 7, 8 or 7/8 MHz
bandwidth. Scanning this way will take a long time but will find
carriers not adhering to any particular real band plan.
Version 2.7, build 45a:
- All: Fixed a crash with very long formatting strings for split
- All: Fixed the MD API to correctly set the teletext PID.
- All: New source module - FileContinuous. This is designed to
work with transport stream files that are in the process of
being recorded. When using this source, the rate controlled
option must be turned off. Unlike the normal file sources, when
this one hits end of file, it keeps trying to read the file
(that's being made larger all the time) until it gets end of
file for five seconds.
- Pro: Stream Monitor now uses local time throughout. Previously
there was a mixture of local time and UTC.
- Pro: -N switch to automatically start the stream monitor.
Version 2.7, build 45:
- Pro: Fixed a problem with decimal PIDs not being displayed
- All: Corrected a problem with the PID chart where stream rates
shown a Kbps or Mbps were slightly incorrect.
- Std/Pro: Changed manual channel definition dialog to allow
- Pro: Fixed an occasional crash when the caption decoder first
- All: Added an option to warn when recorded files are about to
- Std/Pro: Added a new control server command to send DiSEqC
- All: Corrected DVB-S2 modulation decoding where it could
corrupt the polarity display on certain streams.
- All: Updated descriptor decoding to match ETSI EN 300 468
V1.7.1 (the latest DVB-SI spec).
- Std/Pro: Fixed an issue with XML export dropping accented
- Std/Pro: XML export now includes the results of the ES stream
parsers in TSReader - for example the video chroma format, audio
- All: Added an option to filter EIT descriptions based on
- Pro: Closed Caption decoder bug fixes.
- All: The thumbnail CC, DTVCC and User icons now show up
correctly on H.264 streams.
- Pro: Closed Caption decoder now supports H.264 video.
- All: Video thumbnails now include an icon in the top right
that shows the video type - MPEG-2, MPEG-4 or H.264.
- Std/Pro: Added an option to allow scheduled recordings to be
recorded in Program Stream mode.
- All: Another source module for Linear Systems cards is now
included. This version synchronizes with the MPEG-2 TS in
software for some old Linear cards that don't handle TS sync
correctly in hardware.
- All: Added decoding for the DVB Time Slice/FEC descriptor.
- All: A number of TSReader source module use the MPEG-2
transport stream synchronization function provided by TSReader.
This routine can now sync with any length MPEG-2 packet -
previously, it was limited to 188 and 204 byte packets.
- All: Fixed a crash that sometimes occurred when running up and
down the EIT tree on some DVB-T networks.
- All: Updated to Alitronika's latest SDK. All users running
Alitronika hardware must update to the latest drivers from their
- All: Corrected a problem with some extended event descriptions
on some DVB networks.
- All: Added support for the RF Central RFX-MDR-PC USB 2.0 2 GHz
- Pro: Added a Record Table function to record combinations of
PIDs/tables. Files can be saved as binary or hex/ASCII.
- All: Added detection of ISDB streams. Once TSReader sees an
ISDB stream (a BIT on PID 0x0023 is required), it treats the
MPEG-4 audio type in these streams correctly but currently does
not parse any additional ISDB descriptors.
- All: For Hauppauge products: Added a WinTV-HVR-930 source
module (rather than sharing the HVR900 source), added
WinTV-HVR1110 (DVB-T / Hybrid) support and fixed bugs related to
the HVR9x0 series of tuners with intermittent stream corruption.
- All: Cleaned up a few icons
- Pro: UDP forwarder parameters have changed - previously the
destination IP address and port were separate, now the addr:port
format is used (220.127.116.11:1234 for example). Related to this,
multiple addresses:ports can now be specified when separated by
commas - up to eight outbound streams per program are currently
- Std/Pro: The Program Usage Stacked Bar chart now fixes the
Y-axis to the maximum rate for any program. This makes viewing
the chart much easier on the eyes!
- All: Improvements to the tuning on the DVBWorld USB tuner.
- All: Improvements to the Firewire source module - the
Firewire_DVHS module hasn't changed but I suspect it'll be
obsolete now. Multiple devices are now supported and a greater
range of Firewire transport stream providers should now work.
Thanks to Hamasaki for these fixes.
- All: Fixed a problem with erroneous characters in the EPG data
from the EIT stream at 28.2 East.
- All: Improved the way thumbnails are painted on the TSReader
- Std/Pro: Option to display thumbnails top-down (the default)
and new left to right mode.
- All: Fixed a memory leak each time a thumbnail was generated.
- All: Playback can now occur in VLC if one or more of the
elementary streams are scrambled.
- Pro: -f switch added to automatically start UDP forwarding.
- Std/Pro: -Ed switch to handle Dish Network EEPG - this
previously required messing around with .reg files.
Version 2.7, build 44:
- Corrected another ATSC string related crash
- Fixed the UDP sources to allow a bigger list of IP addresses
and to not crash when the limit (currently 1000 items) is
- Right clicking a DVB-C NIT entry and selecting "Retune to this
mux..." now sends the correctly frequency.
- Right clicking the TDT/TOT (DVB) or STT (ATSC) now allows the
PC time to be set to the stream time.
- Fixed an issue with the record mux limit not being turned off
- Improvements to the CI-CAM interface with a new menu option to
specify which CA system gets sent to the CAM.
- Fixed a problem with the EXPORT HTML command in the control
server not exporting thumbnails.
- Added an option to the control server STALL command to wait
until both SI decoding and thumbnail decoding is completed.
- Right clicking entries in the SDT now allows retuning to the
mux carrying the SDT entry. This requires DVB networks that
transmit a network wide SDT.
- Lots more options for the EPG Grid - Ctrl+G brings up a dialog
allowing entry of a channel number to start the display at.
Double-clicking a channel name on DVB networks will attempt to
retune to the mux and launch VLC to play the channel. And Ctrl+F
(and F3) allows searching.
- Fixed the -c command-line option.
- Increased the size of VLC command-strings. Some people are
using 350+ character strings to tell VLC to do some pretty neat
- Export to HTML now includes ability to export MPEG-2
statistics and source information.
- Updated the CHART command to allow all currently supported
- The EXPORT HTML command now has a new variant, EXPORT HTML-nnn
which allows control over the tables exported to HTML. See the
control server documentation for details.
- For satellite users, TSReader now can now automatically select
a DiSEqC/toneburst port based on the orbital location or network
ID carried in the DVB-NIT. This information is used once
TSReader is running when retuning by right clicking the NIT, SDT
or double-clicking the channel name in the EPG grid.
- A new option to show the PCR PID icon in the SI tree for
non-video streams. By default the PCR PID is only shown on video
streams since it's only used there.
- TSReader's documentation files (the website) is now included
in the build.
- Fixed an issue with exporting false TDT/TOT tables from prior
muxes to XML.
- New -b switch - limits thumbnail generation to the program
number specified. Useful for running TSReader over slow links.
- When doing an HTML export all thumbnails are now exported -
previously only the first thumbnail made it into the HTML.
- Added a source module for the Dibcom DVB-T
BDA interfaces (thanks to Terry Wu).
- New -Mm command-line option to launch TSReader minimized to
the tray notification area.
- The TSReader icon shown in the tray notification area blinks
if TSReader is currently performing a recording.
- Fixed various EPG Grid display issues related to long or
- For DVB and ATSC users, TSReader can now schedule recordings
from the EPG Grid. Double-click an event to turn on recording -
double-click again to turn off. TSReader uses the Windows
Scheduler service to launch the recording sessions, so keep this
in mind - TSReader will abruptly stop when a recording starts
up. You must be on a DVB network with correct EIT, SDT and NIT
tables for this to work correctly or be tuned to an off-air ATSC
mux -- cable ATSC tables aren't supported because they're always
wrong. If using satellite you must setup the input DiSEqC
configuration to automatically select a port based on the
network or orbital location if you're recording from a service
across multiple networks.
- Added support for the B2C2-based 8VSB/QAM card from Broadband
Technologies Inc and fixed an issue with all B2C2 cards
where restarting TSReader would cause a small chunk of the prior
transport stream to enter TSReader erroneously with the result
that usually the multiplex bitrate calculated would be
- TSReader now shows logical channel numbers for all channels
defined with an LCN descriptor in the DVB-NIT.
- Changes to the CSV import: Now frequencies with different
symbol rates (typically used DSNG links) are imported correctly
and the first name found in the CSV is used as the mux name.
- Added the ability to add, edit and delete satellite listings
(DVB/DSS sources) and multiplex listings (ATSC/QAM sources).
- Fixes to get the Stradis interface working correctly without
blanking out the screen from time-to-time.
- New control server commands: WINDOW to manipulate the TSReader
main window and INFO to send back info about the source or mux.
- The control server command PROGRAM now sends an extra line at
the end of the program list to show the list is complete.
- Changed the control server TUNE command to not display the
standard "Failed to lock signal" message should the retune not
result in a lock. After the TUNE command, wait about three or
four seconds to give the hardware a chance to lock the carrier
and then use the new INFO SOURCE command to see if the tuner has
- The file source now supports rate-controlled operation in DSS
mode and the DSS mux-rate is now calculated.
- New control server command - PIDS to list the active PIDs in
- Fixed a problem with EIT/ETTs greater than 11 not being
processed correctly and expanded EIT/ETT to handle
EIT0-EIT63/ETT0-ETT63 (ATSC networks).
- Updated the THUMBNAIL control server command with five new
options: OFF, LOW, NORMAL and HIGH to control operation of the
thumbnail thread and REFRESH to set the thumbnail refresh rate.
- Fixed a problem with the control server's TUNE command when
used with the File source.
- Added source modules for Harmonic's HRTP protocol.
- Enhanced the GRAPH command in the control server. GRAPH
AVERAGE and GRAPH REALTIME select between the two graphing modes
and GRAPH REFRESH nnn specifies the update time for graphs in
- Added a graph to show signal strength from the input source if
- Added MANUALCHANNEL command to the control server.
- Source added for the Twinhan DTT-CI card.
- Corrected an issue with very large PMTs (typically close to
the 1KB limit).
- Added support for Hauppauge Computer Works Nova-S2 Plus,
Nova-SE2 satellite cards and the WinTV-HVR900 DVB-T USB 2.0
- Corrected a crash related to the EIT stream on the Orbit
- Fixed a problem XML exporting CAT descriptors other than the
- Added -y switch to delay autoexport by the specified number of
seconds. Useful for muxes with slowly sent tables.
- TSReader now continuously parses PMTs. If a PMT version number
is changed, the tree-view information is updated.
Recordings/Streaming in process for a PMT that changes does not
currently update the output stream.
- Change to the PMT parser to better handle stuffing bytes that
occur in some transport streams.
- Fixed an issue with Dektec input cards when fed with very
high-rate streams (> 100 Mbps).
- Fixed a problem with the mux-bitrate switching to "n/a" after
a PCR packet with the TEI bit is set (i.e. a corrupted packet).
- Added support for Alitronica DVB-S, DVB-C and DVB-T
- Corrected shutdown problems with the -x and -V switches.
- New SETTING command for the control server. Set the control
server documentaiton for information.
- Prevented the H.264 decoder from crashing TSReader. If the
decoder now terminates incorrectly, TSReader will continue to
run and display an thumbnail with fixed text indicating there's
a problem with the stream and the reference decoder TSReader is
using. This doesn't fix H.264 thumbnail issues completely (since
there are some streams TSReader's decoder can't handle) - we're
going to be looking at alternate H.264 decoders in the future,
but this may take some time as there's a lot of compatibility
issues between encoders and decoders at present.
- Added serial receiver control support for the Newtec 2063
- Serial receiver control modes are no-longer embedded in
TSReader - they're now provided as seperate DLLs along with
source-code in the TSReader\Sources\ReceiverControl folder. If
you develop your own serial control modules and would like to
have them included with the TSReader distribution, please let me
- The DTVWorks DVB-SPI interface now supports up to eight
interfaces on a single system - the USBProgrammer utility in the
DTVWorks driver folder is used to set the device-id (0 - 7).
- Device Number (i.e. the board number for boards with
multiple-card support) can now be selected from the source
selection dialog (hold Ctrl down when starting TSReader).
- Changed the way source modules that can use the serial
receiver control work when displaying the tune dialog. Now if
the tune dialog is cancelled, TSReader will continue to run and
obtain data from the source mode rather than aborting. This is
useful when you're already tuned to the target mux and don't
want to go through the delay of retuning which seems to take
forever on most commercial receivers.
- Added support for the MPlay application on the Roku HD-1000.
Roku HD-1000 users will need to change the Roku settings to call
out the full application name: /mnt/flash1/MPlay/MPlay.app
for MPlay and /mnt/flash1/CinemaSix/CinemaSix.cmd
for CinemaSix (assuming the apps are loaded on a Compact Flash
- Fixed an issue with pseudo CRC errors in the NIT when the NIT
is carrying Stuffing Tables (ST).
- Added decoding for MPEG-4 video streams.
- When recording in automatic mode and TSReader is minimized,
you'll see a much more informative tooltip if you hover the
mouse over the TSReader icon.
- Fixed a crash related to corrupted ATSC Huffman encoded
- Fixed an issue with zero length CATs erroneously showing a
descriptor type 0xd5.
- Fixed the video composition chart to show all pictures in the
GOP - previously the last picture wasn't shown.
- The Stradis decoder interface can now support multiple audio
streams (provided the hardware has multiple audio stream
decoding like the SDM-290).
- The Stradis interface now has a setting that allows selection
between the 1.2 and 1.6 versions of their API. The 1.2 works
with older cards like the SDM-275 and the 1.6 with their latest
- Fixed an issue with ATSC networks where the TCVT was carried
in the same packet at the MGT.
- Updated to TechnoTrend's latest SDK which should support new
cards like the TT-Budget S-1401.
- Added a new feature to ignore networks on DVB networks. If the
NIT contains more than one network (for instance multiple
orbital locations on DVB-S networks), the SDT and EIT for that
network can be masked - useful if you can't receive the network
and don't want memory used for SDT/EIT entries on that network.
Right click a NIT entry to toggle.
- Added support for the Teleview in TSP102 card in ASI or SMTPE
310M modes. Source code is included in the SampleSource folder.
Thanks to Robert Blazewicz for writing this.
- More sources for Hauppauge products (TODO - document/list)
- Hauppauge sources now correctly parse the command line,
provide their parameters and support multiple cards
- Added support for the AutumnWave OnAir USB2 8VSB/QAM receiver.
This needs to be installed like the Sasem USB2 receiver.
- Added support for Sencore's DTU-234 8VSB/QAM
- New keys added to EPG grid: Ctrl+D shows a calendar allowing
automatic EPG scrolling to that date, S shows scheduled
recordings and H allows hiding of channels - in this mode, click
the channel name (the bit in yellow) to toggle between shown and
hidden. Full a full list of supported keystrokes, press F1 when
the EPG grid is shown.
- Charts showing historical data (signal, mux rate, video rate)
now show the time on the X asis.
- Fixed a bug that caused a few erroneous CRC errors in the PMT
when TSReader first parses the stream.
- Added QAM support for the Autumn Wave USB2 receiver.
- Fixed an issue where old thumbnails might sometimes show up
after restarting TSReader.
- Fixed a problem where the EIT provided program name wasn't
shown on top of MPEG-4 and H.264 thumbnails.
- Added support for the Alitronika AT4 "AsiPod". This is a
ultra-compact ASI to USB2 adapter.
- Corrected high CPU load issue when Alitronika USB devices are
unplugged with TSReader active.
- Fixed a problem with the file-loop source not looping on files
containing Reed-Solomon FEC.
- Multi-card support for Technisat/BBTI cards based on the B2C2
chip. You must upgrade to version 4.4 or later drivers from http://www.bbti.us
Up to 16 cards are supported in a single system.
- Added decoding for DVB-S2 FEC rates/modulation modes in the
- Fixed a bug where under very rare circumstances TSReader would
incorrectly see a continuity error on a PID right after startup.
- Corrected a problem where clicking on the ATSC STT icon in the
tree-view wouldn't show the DS (Daylight Savings) information
Version 2.6, build 43:
- Corrected an erroneous dialog box advising the file
ATDV_API.dll couldn't be found.
- Corrected a problem with the B2C2 DVB-C source not tuning
- Fixed a crash with some ATSC zero length strings.
- Time tables (TDT and TOT in DVB and STT in ATSC) are now
exported to XML.
- Corrected a problem with the video thumbnail decoder where
streams containing neither PTS or DTS timestamps would cause
noise and the occasional crash. This would only occur on streams
transcoded in software from program to transport stream since
almost all transport stream video PES packets have at least PTS.
- Fixed a bug with the Multicast UDP source that would lock up
TSReader when attempting to close after inputting an invalid
multicast IP address.
- Changed the timing of the DiSEqC positioner commands sent by
the -P switch so that the position command would get sent before
the tune attempt.
- Slight changes to the layout and tab order of the manual
channel definition dialog - makes the flow much better.
- Fixed a bug where thumbnails wouldn't show on a mux with no
channels defined in the PAT but loaded as manual channels.
Version 2.6, build 42:
- Corrected a problem with the IP address display in the
multicast source "tune" dialog.
- Fixed the drag/drop function in the file sources.
- Added a very preliminary H.264 thumbnail decoder.
- Added an ATSC BDA source thanks to David R. Cattley
(firstname.lastname@example.org). Two versions of the source are provided -
one for BDA devices that return tuner status correctly and
another that assumes the frontend locked - this later one works
with more BDA cards, but obviously the scan function to find
channels won't work right.
- Added an "Always on Top" option to the View menu.
- Fixed an issue with stuffing bytes in MPEG-2 video streams
causing noise in the thumbnail display.
- Added an option to disable the beep generated when TSReader
- Fixed an issue with the file loop source causing ES streams to
be blacklisted because time goes backwards when the file loops.
- Added support for 192 and 204 byte MPEG-2 files when the file
source is running in rate-controlled mode. Previously only 188
byte packet files were supported.
- Fixed a crash with very long ATSC ETT (event text).
- The thumnbnail generator now spots DCII video streams which
only use B & P pictures and decodes many more pictures to
build a noise free thumbnail.
- Added decoding for Active Format Descriptors (AFD) carried in
the MPEG-2 video user data. When AFD is being carried, an AFD
icon appears on the thumbnail and the format can be shown by
selecting the video elementary stream in the tree-view.
- Added an option to the View/Chart/Settings menu - Real Time
Charting. By default, TSReader reports in it's charts (including
the PID chart on the main menu) the average bitrate for streams
since TSReader was started. With this option enabled, TSReader
bases all charts on a sample of the data rates every 250 ms.
This results in much more widely swinging charts which can be
useful for VBR encoder monitoring.
- Added supported for TechnoTrend's new USB 2.0 series of
products and fixed a bug with the Budget DVB-S source not
sending the correct DiSEqC command.
- Added support for Twinhan 1032 DVB-S card (same source as
1030/1030a) and for the new DVB-C CI card.
- Corrected a problem with PAT entries pointing to PMTs with a
PID value of 0x1fff.
- The SI tree and PID chart now size correctly as the TSReader
window is resized.
- Better support for Cable VCTs.
- When recording/streaming a single program, TSReader can now
include auxiliary ES streams like subtitles, teletext etc.
- Sync-loss counting is now supported on certain sources.
- Added two new Reset items (on the Help menu). Reset PIDs
resets all statistics used in the PID chart (average or
real-time depending on the chart setting) and Reset All resets
all TSReader counters.
- Added the ability to control the priority of the TSReader
- Multi-card support is now functional for Linear Systems cards.
The -S switch is used to select the interface.
- Colors used on the main PID chart can now be changed.
- The EPG grid and EIT display now display the source of the EIT
data. For DVB networks this will be current/next and schedule
for the current or other transport. For ATSC, the EIT number is
shown (EIT0, EIT1 etc).
- The charts and EPG grid now remember their window position and
- Added a new chart: Program Usage Stacked Bar. This shows the
video, audio and other usage across the mux on a program by
- The satellite list is now sorted correctly so that the
furthest satellite east is at the start of the list, the middle
of the list is 0 degrees and the end of the list is the furthest
satellite west. This way the list matches the arc.
- Major improvements to the satellite tuner dialogs. TSReader
now has a list of LNB frequencies and can calculate the correct
LO frequency, tone and voltage settings based on the frequency
and polarity of the target signal. Single band, dual band and
stacked LNBs are supported with dual band LNBs switching using
either tone or voltage. Additionally, TSReader can automatically
select the correct DiSEqC/Tone-burst input port based on the
frequency. All satellite card users should click the new
Input Setup button on the satellite tuner dialog to ensure the
settings are correct. Note that the command-line interface
currently doesn't take into account any of these settings -
these are for user tuned frequencies only.
- The HTML exported PID chart now contains continuity and TEI
- For the full version of TSReader, a much faster PMT parser has
been implemented. Previously, TSReader would process each of the
PMT PIDs in turn to determine ES PIDs. Now, each PMT PID is
processed simultaneously as data comes in on that PID. On a lot
of networks - especially those with each PMT on a seperate PID -
the older method would cause TSReader to take a long time to
start up completely. For example decoding the PMTs for Hotbird's
12.558 GHz transponder takes about 30 seconds with the old
parser and 5 with the new. The new parser is compatible with all
non-demultiplexed interfaces - the old parser is used forced on
automatically on these cards. If there are issues with the new
parser you can force the old one on by creating a registry value
in TSReader's settings: FastPMTParserDisabled
[DWORD] = 1
- Fixed a bug where keyboard accelerators (like Alt+R) wouldn't
- New FirewireDVHS source that reads from D-VHS tapes. Thanks to
Matt Johnson for writing this.
- Couple new View menu options to expand and contract the ES
PIDs listed in the PAT/PMT tree. Keyboard accelerators are also
available: Alt+X to expand and Alt+C to contract.
- The Record PID and IP/DVB PID selection dialogs now have
functions to load and save the list of PIDs to be recorded or
- The Record PID function can now generate PCR packets when
recording to a single file. The PCR packets are fed from a PID
on the input source and are placed on PID 0x1ffe. When this
option is used with TSReader's file source in rate-controlled
mode, TSReader can read back the packets at the rate at which
they were transmitted even if the recorded PIDs don't carry PCR.
- Updated statistics area and various other UI cleanup.
- Added a source for the Digital Now Tiny USB2 DVB-T receiver
- Added a source for the Tongshi DVB-S card.
- Rewrote the Nebula DVB-T source to support their latest design
using the MT352 tuner.
- Added a Video Composition chart to show the bitrate and
picture coding type for MPEG-2 streams (not available in Lite).
- Added an option for MDPlugins - if PID 0x9FFF is selected,
TSReader will send the entire transport stream to the MDPlugin.
This is not supported in the Lite version.
- Two file/file loop source changes: .tp files generated by MyHD
software are now supported including sequencing through multiple
files and the sources do a much better job keeping track of the
last selected file type.
- Preliminary CI-CAM support for Twinhan CI-CAM compatible
cards. Note that this has only been tested with the MediaGuard
(SECA) system. Feedback on other CI systems would be
- Added a source for the DVBWorld DVB-S USB 2.0 receiver. This
operates with both DVB-S and DSS streams.
- Improvements to the DVB BAT decoder to allow multiple BAT
versions to be shown simultaneously.
- New Load PIDs option on the File menu. This allows a list of
PIDs (hex ASCII one per line) to be loaded into TSReader to make
PIDs appear in the chart. This is useful for
recordinging/monitoring PIDs that only come by very
infrequently. A corresponding -T switch has also been added to
load these files from the command-line.
- When using Record Program, descriptors from the PMT (program
info) are now copied to the generated PMT.
- Improvements to the H.264 decoder. Now decodes streams from
Harmonic encoders but still crashes with Scientific Atlanta
- Added a source for Alitronica DVB-ASI and DVB-SPI to USB 2.0
- New control server command: THUMBNAIL. Writes a JPEG file
containing the decoded thumbnail for the selected program.
Version 2.6, build 41:
- The DVB Boquet Allocation Table (BAT) is now decoded.
- XML export has a number of new fields including raw versions
of many of the values exported.
- The UDP Multicast source can now specify the interface address
to listen on. Useful for machines with multiple network
- The DTVWorks 8VSB/QAM sources now report the SNR.
- A STALL command has been added to the control server
interface. This tells TSReader to wait until all system tables
have been decoded.
- The ATSC System Time Table (STT) now shows the GPS/UTC offset
and daylight-savings settings.
- Corrected a problem with extended event descriptions in the
EIT parser on DVB networks.
- TSReader now counts packets with the Transport Error Indicator
set. Not all tuners set this bit in the transport packet but for
those that do, TEIs are now shown on the continuity counter
field and next to each PID in the PID chart.
- Multiple audio streams can now be recorded and streamed (not
just one as before).
- Corrected a problem with the -a and -A switches when the
service number specified wasn't correct or zero.
- Corrected a problem with the -A and -R switches to force
spliting of files based on MB recorded per the documentation.
Depending on how the last record was performed recordings would
get split based on time which doesn't match the documentation.
- If one of the tables contains multiple descriptors with the
same descriptor tag, these are now all processed by TSReader --
not just the first one as before.
- Fixed an issue with false continuity errors on DSS format
- Added a recently used list of addresses to the UDP Multicast
- Added support for the Pinnacle PCTV Sat CI DVB-S card.
- Added an EPG grid display function. Press F1 when viewing the
grid to see the keystrokes that are supported.
- When using the -r or -R switches programs would record in the
last selected format. By default TSReader with -r/-R now always
records transport stream files unless you also use the -p
- More EITx/ETTx tables are now processed on ATSC muxes allowing
up to 72 hours of EPG data.
- Fixed a problem with decoding the ATSC TCVT where an extended
channel name descriptor would cause no other descriptors to be
- The Sasem QAM source now locks 64QAM signals and correctly
detects a front-end lock on QAM networks.
- Fixed a problem with the Record Program function where the SDT
generated for the file's description had it's transport stream
ID set incorrectly.
- Add output files from TSReader are now opened to allow
read-mode sharing. So you can now start recording a file and
point VLC at the file while still recording.
- Corrected a problem where sometimes the calculated mux rate
would go to an almost random number after TSReader had been
running for some time.
- Added -P command-line switch to handle DiSEqC positioners.
- Fixed a bug that caused false continuity errors on some DCII
- Corrected a lockup that could happen on DCII networks carrying
ECM streams for non-Motorola CA systems.
- Added support for the Twinhan DTC DVB-C card and their new
- Fixed a bug that sometimes caused noise to appear on the
- Thanks to Jeremy Quirke, TSReader now comes with a preliminary
source for DVB-T cards using Microsoft's BDA interface. This is
supplied in both binary and source formats in the
TSReader/SampleSource folder in the BDASource.zip file. Check
out Jeremy's README.TXT file for more info. If anyone makes
changes to the BDA source, please be good enough to pass a copy
of the code back this way so I can include changes in future
versions of TSReader.
- NOTE - In order to support tuning on BDA interfaces,
the frequency in KHz must be specified for DVB-T and DVB-C
interfaces. As a result, the command-line interface on these
networks now expects the frequency in KHz. If you have scripts
for TSReader, these will need to change to reflect the full
frequency now required.
- Added a command-line option to record PIDs automatically.
- Added an option to the file source to disable the "Reached end
of file" message.
- Added sources for Hauppauge Nova USB2-T and 90002 DVB-T
sources. These were developed by Hauppauge and we look forward
to any feedback regarding their use. You can either email me
(email@example.com) or the author (firstname.lastname@example.org).
- Corrected a problem with table CRC error reporting that could
cause erroneous CRC errors on tables sent with stuffing
- Added a table display function - allows you to see the tables
being carried on a PID and their average, maximum and minimum
cycle time in milliseconds (full version only).
- The DVB Time Offset Table (TOT) is now decoded.
- Minor changes to the Tandberg TT1260 serial control.
- Fixed the Huffman text decoder used for ATSC strings.
- Fixed a problem with the thumbnail decoder that caused it to
not display a picture if the stream was encoded as MPEG-1 or had
padding between the sequence and MPEG-2 extension headers.
- A new option to specify the chart refresh rate (default is 1
- Fixed a bug that caused the UDP source to loose data on
- Added a UDP Unicast source.
- Added an option to automatically restart when data from the
source stops for a specified number of seconds. This might not
work with all TSReader sources since some send junk data if the
signal goes away.
- Fixed a bug that could cause the split filename dialog to
- Added both Multicast and Unicast RTP/UDP sources.
- Added the ability to have the File and File Loop sources
operate in rate controlled mode. You can either specify the
bitrate or have it calculated automatically. Turning this option
on results in data being sent to TSReader at it's original rate.
Useful for streaming out of TSReader from a file for example.
- Added a source for Firewire devices that are compatible with
the "meidvhs" driver (like cable and terrestrial set top boxes).
The driver and setup instructions are on the AVS Forum.
- Added a source for the Terratec Cinergy Tē (USB 2.0 DVB-T
- Preliminary code: Added audio thumbnails to show activity on
audio streams. Disabled by default (Settings/Thumbnail
Thread/Audio thumbnails enabled to turn on).
- TSReader finally remembers it's window position and size!
- Updated the Nebula source to support their latest line of
receivers that use a Zarlink demodulator.
- Added a new switch -u. This tells TSReader to include any
streams with a subtitle descriptor when doing a program
- Added four buttons to the DiSEqC positioner dialog to select
DiSEqC inputs - useful if the DiSEqC positioner is connected via
a DiSEqC switch.
Version 2.5, build 40:
- Charting capabilities added: PID usage pie charts, Video
bitrate line and area charts, Mux utilization line and area
charts. If you have suggestions for other charts, please feel
free to get in touch.
- Option to decode CA descriptor data in plain format.
- Fixed a problem with streaming and recording where the video
or audio PIDs clashed with the hard coded PMT PID (0x0020). This
now changes automatically should a clash occur.
- Moved the setup menu items for the Roku, XNS and VLC to the
Playback menu since the Settings menu is getting crowded.
- Fixed a bug where using decimal PID mode would cause the
Record PIDs and IP/DVB modes to not work right.
- Changed the way EIT events are stored in memory. This means
significantly less memory usage when providers are sending more
than current/next in the EIT.
- Added an option to the IP/DVB Save Payload function. This can
now save just the Payload, the Payload and xxx/IP headers or the
Payload, xxx/IP headers and the MPE header.
- Some statistics changes: The CAT section counter now
increments all the time and the DVB Statistics area switches to
DCII mode if a DCII mux is input - previously TSReader only
handled switching between DVB and ATSC modes.
- Added support for Dish Network legacy switches for those
sources that support that protocol (DTVWorks 8PSK and DVB-S
- The ATSC CVCT table is now decoded.
- Changes for the Dektec USB source to support the latest driver
which reduces CPU load by a few percent. You must update to the
driver provided in the TSReader\Drivers\Dektec folder.
- Added a -C switch to enable/switch serial receiver control.
- Corrected a problem where the limit recording option would
only work one time and then record zero length files.
- Fixed a tuning issue with the B2C2 DVB-C card.
- Added a -p switch to force command-line recordings into
Program Stream format.
- Fixed a problem with copying the PID usage list to the
clipboard and then pasting to applications like Notepad.
- Moved the two Show commands from the Help menu to the View
menu (Show PID usage/Show Memory usage).
- The PID list and PID tooltips now indicate IP/DVB traffic when
switched to IP/DVB mode and the PID is being parsed for IP data.
- When TSReader is running it'll now prevent the system going
into standby mode which you probably don't want due to the
excessive packet loss!
- For satellite users, added the ability to import SatcoDX SDX
files, North American DVB and DCII CSV
files and also now compatible with the Satellite List
Toolkit generated INI files.
- Also for satellite users, TSReader now remembers the LNB
frequency and switch input on a satellite by satellite basis. I
know this isn't as good as knowing what type of LNB is connected
to each switch port and calculating the correct LOF, but then
TSReader is an analyzer so you should really know this stuff!
- You can now right click on DVB-S and DVB-C network entries and
get a "Retune to this mux" option. Previously supported in DVB-T
- Many improvements to the Sasem OnAir USB adapter source. 8VSB
(off-air) and 256QAM (cable) are currently supported - no 64QAM
at present. Read this before
attemtping to use this source.
- TSReader now understands 192 byte MPEG-2 packets. These are a
four byte time stamp followed by 188 bytes of transport data.
Currently the Dektec cards are the only sources that allows time
stamping mode to be enabled.
- A Redistribution Control (RC) icon is now placed onto video
thumbnails if this descriptor is detected in the channel's PMT
- The multicast UDP source can now have the IP address and port
number to listen to specified on the command-line.
- Added a new GRAPH command to the control server.
- Major changes to the XML export function to include a lot more
data and handle more than DVB-S networks. This should be
transparent to existing parsers - documentation is provided here.
- Command-line documentation is now in it's own file and has received a major
update - a number of switches were missing from the docs.
- Fixed a bug that would cause automatic recordings to sometimes
crash TSReader when the recording completed and TSReader was
- Added support for Broadlogic/V@box 2030 series cards. This
card has an eight PID maximum demux so performance is limited with TSReader.
- Added IP/DVB data reception in MDPlugins. See the sample in
MDSampleIP.zip in the TSReader\MDPlugins folder.
- Added a source for the DVBWorld DVB-S2101 USB 2.0 adapter -
very cool and very tiny. Supports DVB-S and DSS modes.
Version 2.4, build 39:
- In IP/DVB mode the IP icons change to show recording or
streaming, the PID or MAC levels can now be right clicked
allowing all IPs carried on that PID or to that MAC to be either
saved or streamed.
- Fixed a problem the Twinhan DVB-T source related to scanning.
- Minor updates for the Nebula DVB-T source.
- Fixed a bug that caused DCII SIT and TDT tables to be missing
when TSReader was restarted.
- Corrected a problem parsing MPEG-2 PAT/PMTs that include
- Added support for the Dektec DTU-225 ASI adapter for USB
- Fixed a problem with the record timer.
- Corrected a problem with bitrate calculation when the stream
included duplicate PCR packets.
- TSReader's main window is now sizable by default. TSReader
Lite remains unsizable.
- Added very preliminary support for the Sasem OnAir
USB HDTV adapter. Make sure you read
this before attempting to get this source to work.
Version 2.4, build 38:
- Added decoding of AC3 flags: Center Mix Level, Surround Mix
Level, Dolby Surround Mode, LFE enabled and Dialogue
- Fixed a small GUI problem related to switching the input
thread to critical priority.
- Changed the mux rate calculation code to attempt to ignore
bogus values when the front end unlocks and sends junk into
- Added a recording time limit - if you manually start a
recording you can now specify how long in seconds the recording
- TSReader now (finally) understands Digicipher II channel
names. In their brilliance Motorola buried it in the CA ECM
- Full version has a new option to auto restart when the PAT
version number changes. This is useful for input cards like
DVB-ASI and DVB-SPI interfaces and you retune the external
receiver. Provided the PAT version number is different (and it
almost always will be), TSReader will beep and automatically
restart processing the new mux.
- TSReader now separates (and displays separately) the DVB EIT
short and long event descriptions on-screen and when exported as
HTML. When exporting as XML, if both fields are present they're
combined as before.
- Card number (-S switch) can now be specified for Dektec
- Changed the name of the SkySeeker drivers to reflect the new
name (Digital TV Workshop or DTVWorks)
under which they will be sold.
- Added a recording elapsed counter to the main display.
Version 2.4, build 37:
- Corrected a problem with the B2C2 sources related to using
BBTI's 4.3.x.x software.
- Corrected a bug that caused the Transport Stream ID to be
shown as zero if the PAT's version number was zero.
- Fixed a bug that caused the continuity counter to increment
erroneously on duplicate packets.
- Added the ability for third parties to write source drivers
for TSReader. Have a look in the SampleSource
folder for sample source code. If you write a source for
TSReader, please let us know
so we can add you to a mailing list to keep developers up to
- Full version users can now specify the number of tuning
attempts before timing out. This is documented in the
registry.html file in the registered users area.
- Fixed a problem generating XML where EIT entries would get
- Changed DVB-T sources to include a band scanner and to keep a
list of muxes in a file that's read/write. Previously, DVB-T
sources needed a file from TechnoTrend's software which was
- Added an option to run the input thread at priority critical.
This should be used with care since if the source driver goes
into a tight loop, it will most likely crash the system (or
- TechnoTrend sources now have multi card support . This allows
up to four TechnoTrend budget cards to be active in the system
at any given time. By default, TSReader will use the first card
in the system. The -S switch is used to select the other
commands. This inherently means you need to start TSReader from
the command-prompt or a batch file.
- Fixed a bug in the TechnoTrend satellite source that would
cause it to stop receiving data if the satellite signal was
lost. Now when the signal returns, the source restarts sending
data to TSReader.
- Fixed a bug in the TechoTrend DVB-T source that prevented
TSReader from restarting the source.
- When DVB-T network tables are shown in the NIT tree, you can
now right click the NIT entry and choose a new menu item "Retune
to this mux". TSReader will then restart on that mux. We're
going to add the same to DVB-C and DVB-S in future builds.
Version 2.4, build 36:
- Corrected a crash with Finnish DVB-T muxes that use very long
- Added a tree-view icon for ES streaming carrying DVB
- Fixed the IP parser to handle MPE packets containing LLC_SNAP
- Corrected a bug where only the first selected UDP/IP would be
- Corrected a bug where sources that continue to send bogus data
after the signal is lost (TechnoTrend DVB-C card as an example).
This could cause TSReader's main parsing thread to lock up in
effect killing TSReader and requiring it to be shutdown by the
Windows task manager.
Version 2.4, build 35:
- Added a multicast UDP source. This allows TSReader to work
with receivers that take in MPEG-2 transport and retransmit it
to the LAN as multicast UDP packets like the Novra S75 DVB-S
- Corrected a bug in the B2C2 DVB-T source that prevented it
from tuning correctly.
- Fixed an error dialog that showed up if WinPcap wasn't
Version 2.4, build 34:
- Corrected a bug that prevented the audio selection dialog from
being shown when streaming to XNS and Roku HD-1000 devices when
there are more than one audio stream in a channel.
- The full version of TSReader has improved IP/DVB support
including the ability to save the payload data from IP/DVB
streams and/or retransmit UDP multicast packets onto your LAN in
effect making TSReader act like a IP/DVB router. This is
documented in a private file for registered users only.
- Corrected the IP/DVB parser to work with both DVB and ATSC
encapsulated IP traffic.
- Now up to 16 PIDs at a time can be recorded or parsed by the
- Fixed some bugs related to restarting TSReader while in IP/DVB
Version 2.4, build 33:
- Added decoding of the operator ID in the CAT descriptor.
- Fixed a problem generating ETSI-mode AC3 descriptors.
- Improved the performance of the HTML export, added thumbnail
option to HTML export and added PID use to the HTML PID graph.
- Fixed a problem decoding certain NIT descriptors.
- Better Logical Channel Number (LCN) display in TSReader. LCNs
are used on some DVB networks, particually on DVB-T networks. If
TSReader detects LCNs, MPEG program numbers are displayed as
"xx/yy" where xx is the LCN and yy is the MPEG program number.
- Added -H command-line switch to automatically export to HTML.
- Added the %v option to insert the event name (from the EIT)
when automatically generating filenames.
Version 2.4, build 32:
- Added an icon to show user data being carried in the MPEG
video stream. This requires thumbnail generation turned on and
an unscrambled video stream.
- Corrected a problem that showed false continuity errors on
some DSS streams.
- Corrected a problem with DiSEqC commands being sent via
Twinhan 1020/1020a cards when the power is first turned on.
- The DiSEqC positioner interface is now available as a menu
item within TSReader - useful for peaking up a dish after
getting a lock. It's on the File menu.
- The PMT's Program Info descriptors are now decoded correctly.
- Updated the PID list and PID tooltips to show ECM streams.
- Added code to passthrough the ATSC Redistribution Control
descriptor (the broadcast flag) when recording. This can be
disabled by users outside the FCC's jurisdiction and authorized
users (like TV stations).
- Corrected a problem that caused DVB-C symbol rates to get
- The VBI/Teletext parser now updates each time TSReader updates
a thumbnail so the icons displayed with the thumbnail are now
accurate all the time - not just when TSReader first generated
- Added thumbnail icons signaling 4:3, 14:9 and 16:9 aspect
ratios when such data is sent via WSS.
- Corrected a problem with the LNB control voltage on some
Twinhan 1030/1030a cards.
Version 2.4, build 31: (private beta - not released)
- Fixed a problem with parsing type 0x80 streams (sometimes
video on Digicipher networks) on DVB muxes.
- Corrected a problem with selecting channels by thumbnail when
the thumbnail display is scrolled.
- Added BER display to the TechnoTrend card (in addition to
SNR). On their DVB-S card this always seems zero so I'd be
interested in knowing if there's correct BER on DVB-T and DVB-C
- Added an option to display PIDs in decimal rather than the
- Added DiSEqC 1.2 positioner control to TechnoTrend, Twinhan
and SkySeeker satellite sources.
Version 2.4, build 30:
- Fixed a problem with the -r and -a switches failing when split
recording was enabled.
- Added -l (lower case L) switch to force TSReader into the
low-res mode it uses when encountering 800x600 or lower
- Fixed a problem displaying channel names with & characters
in the thumbnail display.
- Fixed a problem that would sometimes crash TSReader when the
file source was restarted.
- Added support for transport streams with DTS audio.
- Added better decoding of many DVB descriptors used in European
- PMT stream type 0x06 is now displayed as AC3, PCM, DTS audio
or VBI/Teletext when carrying these services.
- Changed the layout of the record dialog to make it easier to
- Added an option to select between "Defacto" and "ISO"
recording for AC3, PCM and DTS audio stream. This is explained
in the FAQ.
- Fixed a problem that could cause TSReader to lock up when
quitting and it was parsing a stream.
- Added decoding for VBI/Teletext streams (PMT type 0x06 with a
VBI/Teletext descriptor). TSReader looks for Teletext, Subtitle,
VPS, WSS, CC and monochrome 422 data being sent in this stream
and displays appropriate icons at the bottom of decoded
thumbnails. This parsing is done by the thumbnail thread and
requires the PID carrying the VBI/Teletext data to be
- On ATSC transmissions, Closed Captions (CC) and DTVCC (Digital
Television Closed Captions) carried as user data in the video
stream are now noted and the associated thumbnail gets a CC or
DTVCC icon if this data is present.
- Selecting a new source in TSReader no longer requires a
restart - the source is loaded and the tune dialog appears. This
doesn't apply to the Lite version.
- Add a "browse for folder" dialog to the Record PIDs dialog.
- Added -1 (figure one) switch to force TSReader to run on a
single processor in multiprocessor environments.
- Changed the B2C2 source (used on SkyStar2 and BBTI cards) to
support the latest BBTI driver which allows the entire transport
stream to be sent to TSReader. At press time this driver is in
beta but should be available on the Broadband
Technologies website shortly. This vastly improves
TSReader's performance on these cards and therefore the upgrade
from BBTI is strongly recommended.
Version 2.4, build 29: (private beta - not released)
- Fixed a problem with -V switch.
- Fixed a bug with the MultiDec plugin interface that caused DSS
packets to not stream correctly.
- Added support for both the old "MpegPSPlay" and the newer
"CinemaSix" playback applications for the Roku HD-1000.
Additionally, the Roku trace window's contents can now be copied
to the clipboard.
- Updated a number of satellite sources to correctly report
their tuner and signal status. The remainder will get done in
the next release.
Version 2.4, build 28:
- Fixed a problem with thumbnail generation in folders where a
period is part of the folder name (like C:\Program
- Added a -V switch to allow a time limited run of VLC
streaming. See the command-line documentation below.
Version 2.4, build 27: (private beta - not released)
- Added support for SkySeeker DVB-S, DSS and cable QAM sources
- Fixed a bug that caused TSReader to lock up with screen
resolutions lower than 1024x768. In low resolution mode,
TSReader now also fits an 800x600 display.
- Added support for the Dektec line of ASI and SPI receive cards.
The first receive card in the system is used - only support at
this time for the first card.
- Since the first 2.4 beta we've been stripping : (colon
character) from exported XML - this is causing others problems
so in this version there's a new "Keep Special XML Characters"
option on the Settings menu to keep these characters.
- Added support for myHTPC. Read this excellent HOWTO from
Blueman2 on configuring and using TSReader with myHTPC.
- Fixed a bug that caused the SDT and EIT to be out of order
when the restart option is used.
- Added serial remote control support for the Tandberg TT1260
- New PID List on the Help menu - lists the active PIDs and
shows what the tables say they carry
- Tooltip function for the PID chart. Hover the mouse over a
line in the PID chart and TSReader will figure out what the PID
is used for and display a tooltip with this information.
- Added an option to allow only SDT tables from the current mux.
This can prevent erroneous SDT decoding if the mux is running
SDT sections for the current and other muxes using the same
- Improved the SI parser to automatically detect DVB streams
even if the PAT doesn't include a network entry.
- Switched to a new setup utility.
Version 2.4, build 26: (private beta - not released)
- If more than one copy of TSReader is installed, TSReader
reselects the source from the current version being used so you
no longer need to manually reselect the source when switching
- Supports type 0x40 PMT entries commonly found on digital
- Added support for serially controlled commercial receivers. In
this version support is present for the Tandberg Alteia Plus and
Motorola DSR-4800 receivers. The serial control allows tuning
and program selection when used in conjunction with a non-tuning
source such as the Linear Systems DVB-ASI card and the SkySeeker
- Added an option to generate thumbnails after the Conditional
Access (CA) system has had a chance to descramble the program.
This is designed for commercial broadcasters that have an
authorized receiver and a connection to the PC via ASI or SPI
along with serial control. TSReader will cycle through the
channels in each mux, tell the external receiver to select the
program (therefore descrambling it) before grabbing a thumbnail.
It's assumed the receiver is authorized for all channels in the
- Added decoding for the ATSC EIT0-3 and ETT0-3 tables - these
provide 24 hour EPG on those few channels sending EPG data.
- Added an option to display a fixed thumbnail if the channel is
- Clicking on a thumbnail now selects that channel. Double
clicking with no recording or streaming active will launch VLC
in Play mode.
- Added support for the official TSID tables used in ATSC muxes
- if the TSID is sent right you'll see the locale where the
- Added a -D switch to force TSReader into DVB decoding mode.
Useful on muxes that contain both ATSC and DVB tables.
- Thumbnails generated by TSReader now include the current event
based on data sent in the event tables - both DVB and ATSC muxes
will display the current program title.
- Corrected a bug with DVB/IP address decoding.
- Added a remote control server to TSReader. See this document for more details.
In this beta this interface is not yet completed. The next beta
will finish up this interface but we're looking for feedback on
the current system.
- TSReader's recording and streaming now supports audio-only and
video-only streams. In the at least one audio and one video
stream were required before recording or streaming.
- Fixes to handle text in the DVB EIT's short event description.
Version 2.4, build 25: (private beta - not released)
- Record Program option can now split files based on either size
or time. The new time option selects the number of seconds and
the time is based on the time stamps (PCR) in the stream. So if
you use with the file source (which typically processes data
faster than real-time) file splits may occur faster than the
time you set, but the resulting files will be the right length.
- There's now complete control over the filenames that TSReader
generates when it splits a recorded file. This is controlled via
the Settings/Split Record Filenames... menu. Full details are
shown on the settings dialog.
- Added a proper status bar with activity and
- Added playback support for the Roku HD1000
Digital Media Player when used with the CinemaSix
Media Player. TSReader will automatically telnet to the
Roku HD1000 and start the CinemaSix player when you select
playback in TSReader. Channel changes in TSReader are also
handled correctly. The HD1000 supports both SD and HD streams up
to around 50 Mbps.
- Added support for the SkySeeker line of USB 2.0 interfaces.
These cards support 8PSK, 8VSB/QAM and DVB-SPI interfaces.
Version 2.3, build 24:
- Option to hide TSReader when minimized - icon is created in
the tray area.
- New -M option to startup TSReader minimized
- New -i option to control instances of TSReader - with this
option TSReader will check to see if another instance is running
and if it is will shut it down prior to it's startup.
- Fixed a bug with detecting modulation mode and exporting to
- Corrected a possible crash with certain network tables
- Support for DVB-C delivery descriptors
- Full support for the Nebula Electronics USB 2.0 DVB-T
- Added -X option for automatic XML:TV export
- Fixed a bug where if you have record program mode set to
program-stream, streaming into VLC, the Stradis or D-VHS
interfaces would fail.
- Corrected a crash when drawing thumbnails on muxes that have
an empty SDT for the channel
- Corrected thumbnail display when the MPEG video encoder is
generating only P-frames.
- The internal HTTP server (used to stream into VLC) now sends a
(bogus) file length when the remote client connects. As a
result, more programs including Windows Media 9 can now connect
reliably to the TSReader HTTP server and stream video.
Version 2.3, build 23:
- Fixed a problem with the NIT and SDT decoders where not all
descriptors were displayed.
- Added support for logical channel descriptors. These are used
on DVB-T networks in the UK and Australia. TSReader still refers
to the channel by it's MPEG program number, but the overlay put
onto thumbnails now contains both the MPEG program number and
logical channel number.
- New option to bypass PMT parsing for channel numbers above
65500. Many DCII networks have a bogus entry in the PAT pointing
to a non-existent PMT. This prevents TSReader spending about 30
seconds waiting for the PMT to come along.
- Corrected a problem with all the tuner dialogs so that the
parameters aren't overwritten by the last selected mux item.
- Added a warning to the satellite tuner dialog if the LNB
frequency is zero.
- Added an option to force ATSC compatible PIDs when recording
- All command-line switches that use filenames now support
spaces in the filename provided the name is surrounded by
double-quote marks, i.e. "C:\My Documents\A Recording.ts".
- Fixed a problem with the command-line for DVB-T Twinhan
- Added an option to show the continuity error count for each
PID in the PID chart.
- Corrected a problem where a PAT with only an NIT entry entry
(no real programs) could cause TSReader to continuously loop
thinking it was decoding a new PMT.
- New -d option. This disables elementary stream parsing and
thumbnail decoding for the current TSReader session. Add this to
recording scripts with the -a and -r options and you won't have
to keep turning thumbnails back on.
- Fixed some issues with -a and -r switches being parsed
- Changed the file source to search up to 512MB into an MPEG-2
transport stream file for the sync pattern.
- New -v option. This selects a stream and automatically starts
it playing via a VLC configuration.
- Now prompts to save manual channels when you quit without
- Added support for LPCM audio streams. These are either streams
with a type of 0x06 and a format descriptor of BSSD or have a
type of 0x83. TSReader will record programs with these streams
as type 0x83 with a BSSD format descriptor. Currently we haven't
found any software (including VLC) that plays them correctly -
although VLC gets close.
- Corrected a problem with the TechnoTrend Budget DVB-C source -
now fully operational.
- Added support for exporting program guide info (from the DVB
EIT table) into XMLTV format for use with myHTPC. There is a
plugin coming for myHTPC that will interface with TSReader.
- Hopefully made some improvements to the reliability of the
Stradis decoder interface.
Version 2.3, build 22:
- Fixed shut-down lockup on B2C2 sources
- Added ability to save thumbnails continuously to the same
filename. Very useful for monitoring muxes remotely since a
web-page can be pointed at the generated JPEG files. These
images can also be saved as resized thumbnails or full broadcast
- Whenever the EIT is displayed or exported, the data in the
table is now sorted by date. Although most DVB systems send the
EIT in date order, there was a possibility that TSReader would
receive them out of order.
- DiSEqC and tone-burst switch options now get enabled correctly
depending on the source. For example, Twinhan cards don't
support tone-burst switches (they do support DiSEqC switches
however), so now when the Twinhan source is used, the tone-burst
options in the tune dialog are disabled.
- Corrected a problem with the source selection dialog when
TSReader was already running.
- Cleaned up support for the Nebula range of DVB-T receivers
- Added the ability to change the PID used for the EIT. This is
very useful on some DBS services such as Dish Network that
transmit a long-range event table on a special PID. To enable
this function you need to create a DWORD registry entry with the
PID to substitute called "EITPID" in
HKEY_CURRENT_COMPUTER\Software\COOL.STF\TSReader. There are two
sample .reg files provided that switch TSReader's parser between
0x0012 and 0x0300 on Dish Network. Their long range EIT is
carried at 110 west on 12.632 GHz RHCP 20MSps. Keep in mind that
the Dish Network long-range event table carries data for all
their channels out to nine days - this means you need a fast
processor to keep up with the stream and a lot of RAM in your
PC; it takes about 300 MB to buffer 9 days worth of data.
- Two new thumbnail options both related to the "Save all
thumbnails" function. There's a new option to save the
thumbnails at transmitted size (by default, they're scaled down
to true thumbnails) and another option to force TSReader to name
each thumbnail generated over time with the same filename. This
is useful for remote monitoring a mux and having a webpage
pointed to the JPEG files generated by the "Save all thumbnails"
Version 2.3, build 21 (private beta - not released):
- Preliminary support for the Nebula Electronics line of DVB-T
receivers (PCI and USB 2.0)
- Corrected a bug with the -m and -r/-R switches being used
- Changed the filenames used when recording a single PID to
remove the space - for example "PID 0x0400.bin" is now called
- Started cleanup of the satellite data files supplied with
TSReader. This prevents DSS carriers showing up when using DVB
sources (and vice-versa) and also adds support for advanced
modulation carriers for some hardware we know is on it's way.
Take a look at Satellites\2500.ini for a good example.
- Added support for tone-burst satellite switches.
Version 2.3, build 20 (private beta - not released):
- Added -t switch to select the audio track when doing an
automatic command-line recording with the -r or -R switch.
- Fixed a bug that caused the tree-view of the tables to get
totally screwed up when switching between IP/DVB and MPEG-2
- Added support for DVB-T (terrestrial) and DVB-C (cable)
- Bug fixes in the Twinhan 1020 source to support more
variations of this card.
- A new TSReader NoTune source - useful for non-standard Twinhan
cards that don't tune correctly with TSReader. You need to first
tune the card using another program and then switch to TSReader
to process the data from the mux.
- Corrected a problem that caused the TDT (Time Definition
Table) to not show up when TSReader's source is restarted.
Version 2.3, build 19 (private beta - not released):
- Correct operation with a wider range of MD plugins including
- Correct operation with the newly released VLC 0.7.
- The thumbnail decoder now supports 4:2:2 profile MPEG-2 video.
This also has the benefit of now displaying 4:2:0 encoded
material when the chroma type field isn't set correctly.
- Up to 16 VLC configurations can now be stored. This allows you
to prebuild command-line parameters for VLC and run them at will
just as if you were to use VLC for playback. For example you can
setup a VLC configuration to take video data from TSReader,
decode it locally in VLC, write it to the hard drive in a number
of different formats plus multicast it onto your network. Nifty.
- Added a looping file source. This is just like the normal file
source (reads MPEG-2 transport stream files) but loops when it
reaches the end of the file. This is useful for looking at small
transport stream captures and there isn't enough data available
to decode the stream correctly without multiple passes of the
- Some internal buffer sizes can now be specified using the
Buffer Sizes item added to the Settings menu. This is primarily
for people experimenting with solving buffer overrun problems
that sometimes occur when streaming to devices like D-VHS where
the CPU must load a ton of components to get the video
- Added support for TechnoTrend-based DVB-C cards.
- Changed the way single program streams (and therefore
streaming to output devices) generate tables. Previously, tables
would be added to the output stream when they appear in the
input stream. These tables (PAT/PMT and perhaps SDT) are now
inserted every 100 ms per the MPEG-2 specifications (1000 ms for
the SDT packets).
- Added a new -a/-A switch to automatically record the entire
transport stream. See documentation below for more info.
Version 2.3, build 18 (private beta - not released):
- Added support for the Twinhan DTT (DVB-T) card.
- Added support for B2C2-based cards like the SkyStar 2 and
Air2PC-ATSC. Please read this note for
more information about support in TSReader for these cards.
- Added tuning support for the Twinhan 1030/1030a cards.
- Fixed a bug that would cause TSReader to crash when recording
in program stream format with certain encoders.
- Continuous thumbnail export function added. With this function
enabled, each time TSReader generates a thumbnail it will be
saved to a unique JPG file stamped with the date and time. Great
for IDing video streams that don't have an on-screen logo and
you don't want to watch the program continuously.
- XML export function now exports event date and time in both
UTC and local formats.
- Spectrum inversion and bandwidth settings for DVB-T cards are
- Command-line options can now be specified in any order.
- New -m switch to pre-load manual channels.
Version 2.2, build 17:
- Changed TSReader into two products. The registered version has
all functionality enabled and is available to everyone that's
purchased TSReader. TSReader Lite limits some features and is
- Tweaks to the TechnoTrend DVB-T source for compatibility with
the Australian 7 MHz system.
- Now understands Dolby AC3 audio when sent on pure DVB systems
like DVB-T in Australia.
- Removed the "old" Twinhan source since it's no longer
- Changed the File source to allow reading of DIRECTV streams.
- Fixed a problem with the Twinhan polarity voltage.
Version 2.2, build 16 (private beta - not released):
- In the TechnoTrend DVB-T source, you can now tune in 100 KHz
steps - previously this was limited to 1 MHz.
- Added support for real-time decoding on the PC using VLC from
videolan.org. As part of
this, TSReader also now has an internal HTTP server which can
stream the currently selected program. So you can receive TV
from a PC with a satellite card and then stream the video over
to another PC by connecting to the TSReader HTTP server. If both
TSReader and VLC are on the same PC, TSReader will control VLC
so channel changes happen right.
Version 2.2, build 15 (private beta - not released):
- Finally got a source written for the Twinhan 1020/1020a card
that tunes properly. Users of these cards should stop using the
"old" Twinhan source (although it's still provided)
- Added very initial support for the DIRECTV system. You see the
PIDs (called SCIDs in DIRECTV parlance), but there's no table
decoding since I have no idea how the tables are structured. You
can record the transport stream or individual PIDs but that's
about all. If you know anything about DIRECTV tables, please let
me know! This works on Twinhan 1020a (red) cards only.
- Added a new source for the Twinhan 1030/1030a. This source
doesn't tune yet, but does transfer data perfectly once tuned by
Version 2.1, build 14:
- Cleaned up some packet loss issues with the TechnoTrend Budget
PCI Satellite card. If you experience continuity errors with the
satellite card, try turning off LNB power and power the LNB from
- Added support for the TechnoTrend PCI Terrestrial card (DVB-T)
- Changed the PAT scanner to look for the latest PAT version -
this was causing issues on Nimiq 2 at 82w where two PATs (one
old and one new) are being sent
- Changes to the DVB NIT parser to handle systems other than
DVB-S. The parser now supports DVB-S and DVB-T network tables -
if you have a cable TechnoTrend card, please contact us!
- Added an activity indicator to the main window. I was running
TSReader for hours and it was very hard to see that it was still
alive, so every time 1 MB of satellite data is processed by
TSReader, the indicator changes.
Version 2.0, build 13:
- Added support for XBox Media Center streaming with the XNS
Version 2.0, build 12:
- Rewrote the data source code in TSReader. Now there's a DLL
for each of the input sources (like the Twinhan card) and now
there's only one program - TSReader.exe.
- Setup program included - no more dealing with ZIP files
- Channels that are not indexed by MPEG-2 tables (like the WB
mux on Galaxy 11 at 91 degrees West) can now be defined with
manual channels (on the File menu). There's a sample included
for that WB mux.
- Automatic recording from the command line can now write to the
D-VHS deck. This is accomplished by setting the record filename
to "d-vhs" or "D-VHS".
- The TechnoTrend Budget line of satellite cards is now
supported. If you have a cable or terrestrial version of one of
these cards, please contact me!
- A new interface for the Twinhan series of satellite cards is
available. This should eventually support all their cards, but
has been tested with the 1020 and 1030. Currently, this source
cannot tune properly, so you have to use another application
(like WinDVB which came with the card) to tune, close that
application and launch TSReader. We're working on getting the
tuning working and all cards supported.
- Please note that version 2.0 does not include a DirectShow
decoder. We have to rewrite this and will include it with the next version of TSReader.
Version 1.1, build 11 (private beta - not released):
- Added ability to record a program as either program or
transport stream. Program stream recording multiplexing isn't
quite right yet, so for the time being we suggest staying with
- Added a option to record a program directly to a D-VHS deck
via FireWire. This requires the right drivers loaded (see this
website for more information) and also requires Windows
XP. Since D-VHS records the transport stream you can use this to
record either SD or HD material from the currently tuned mux.
For this option to work, you also need the DirectShow filter
TSP2SP.ax loaded on your system. Easiest way to do this is to
install the excellent DVHSTool utility.
- Added compatibility with MyTheatre satellite and multiplex
files for tuning the Twinhan version of TSReader. To make this
work, download and install MyTheatre (easily found on the
Internet) and then copy the Satellites folder from the MyTheatre
installation folder into TSReader's folder. The Twinhan tune
dialog will then display all the satellites and multiplexes
defined in the MyTheatre files.
- Fixed problems with the Twinhan tune dialog
- Fixed a problem with generating thumbnails on some HD channels
- Added a dialog to select the interval at which thumbnails are
Version 1.1, build 10 (private beta - not released):
- When using the PID record function, if an output file can't be
opened (in use in an editor for example), TSReader now shows an
- A number of memory leaks have been plugged.
- Corrected satellite polarity control (voltage level on the LNB
connector) on Twinhan cards.
- Fixed DiSEQc switch input labels - inputs are now correctly 1
through 4 and not 0 through 3.
- PID recording can now either record the data from each PID to
a separate file (that's how it's done it until now) or to a
single file in the order in which the packets from those PID(s)
- Removed the function buttons - TSReader now uses a normal
- Menu options added to retune the Twinhan, open a different
file or restart TSReader from a new ASI source (depending on
- Option to save the thumbnails generated by TSReader as JPEG
- Fixed the flicker problem in the tree display.
- There are now options to set the priority of the threads
responsible for reading data, processing the data and decoding
the thumbnails. If you experience continuity errors that are not
signal related, try adjusting the thread priorities to see if it
resolves the errors or disable the thumbnail thread.
- When selecting a new channel with the Stradis Professional
MPEG-2 decoder active, TSReader will now setup the new channel
- Added very preliminary DirectShow playback - this will
probably crash TSReader and use way too much CPU time but it
does decode. Please read the support
page first for information on setting up DirectShow
- Added playback via XNS which is a protocol used by the XBox Media Player. This allows TSReader to
demux a stream and send it over the network to the XBox for
- Added support for MultiDec plugins - see the support page for more information.
- Added an option to expire EIT events in the past. This will
reduce memory loading when TSReader is run for a long period of
- Added memory tracking to catch any memory leaks. Don't turn
this option on unless we tell you!
Version 1.0, build 9:
- Fixed problem that caused an access fault when closing the
Linear Systems version of TSReader.
- Fixed a problem that caused an error indicating the Stradis
decoder couldn't be located each time TSReader started on a
system without a Stradis card.
- Turbo-coded QPSK transponders in the NIT are now decoded
correctly (Dish Network DBS system in the USA uses these).
- The automatic text export mode has been replaced with
automatic and manual XML export. See here
Version 1.0, build 8:
- Fixed a bug that caused the stream decoder built into TSReader
to fail if the tables pointed to a non-existent stream
- The internal MPEG decoder now only attempts to decode profiles
it can handle - previously it would attempt to decode 4:2:2
encoded streams although the decoder can't currently process
- Real-time output to Stradis Professional MPEG decoder cards is
Version 1.0, build 7:
- When making a split recording, the size at which TSReader
switches to a new file can now be specified. Previously it was
set at 4 GB. Please note that as a result, the -R option now
takes an additional parameter. See below for details.
- When making a single program recording, TSReader now adds an
SDT to the recorded stream containing the date and time the
recording was made and user specified text. If you have a bunch
of MPEG files and can't remember what they contain, just drop
them into the file version of TSReader and look at the SDT
- An experimental mode has been added to allow possible
reception via the Twinhan COFDM terrestrial card. To enable this
mode, set a DWORD value of 1 called DontTune to
HKEY_CURRENT_USER\Software\COOL.STF\TSReader. You can also
double click on the notune.reg file in the explorer to enable
- If your version of TSReader has expired and you'd like to try
the new features for a futher month, please email me and I can send you
a special unlock code for the extended evaluation.
- MPEG video stream decoding is now semi-continuous. After all
the clear MPEG video streams are decoded, TSReader pauses video
decoding for five seconds and then decodes the video streams
again. This results in lighter CPU load than decoding
continuously and still gives you an idea of what's on each
channel. If you prefer faster updates, create a DWORD value
called ESParsingCounterReload with a value of 1 in
Version 1.0, build 6:
- Finally corrected the internal buffering bug that caused false
continuity errors. TSReader should now record streams perfectly
provided the signal level is high enough.
- Unscrambled video elementary streams are now decoded and
displayed. Switching between the PMT entries puts the current
channel at the top of the image list.
- If no command-line is specified in the Twinhan version, a
tuning dialog is now displayed.
Version 1.0, build 5:
- Updated to reflect correct Digital River sales page.
Version 1.0, build 4:
- Not released - internal use only
Version 1.0, build 3:
- Decodes MPEG video, MPEG audio and AC3 elementary stream
headers. When one of these streams is selected (and it's not
scrambled), TSReader will display data about the stream. Note:
the MPEG audio decode is a little broken right now and may
result in bizarre results.
- Small internal bug fixes based on testing TSReader with some
- Updated internal CA table with Canal Plus, RAS and SkyPilot CA
systems now displayed correctly.
- ATSC MGT table now decoded.
- In file mode if no filename is specified on the command-line,
TSReader now uses the standard Windows dialog to select the
- Also in file mode, TSReader now acts as a drop target for
files. If you want to analyze another recorded MPEG-2 transport
stream, you can drop the file from the Windows Explorer onto
TSReader which will then switch to that stream.
- Understands HiPix .ts files. These are generated by the HiPix ATSC PCI
card and record one minute of transport stream per file. As each
file is processed, TSReader will switch to the next file in
- All options are now saved and restored each time TSReader
- Corrected a bug that caused erroneous continuity errors when
duplicate packets were detected.
- If continuity errors are detected, TSReader will indicate
which PIDs have these errors by appending a * to the bitrate
shown for each PID in the graph.
Version 1.0, build 2:
- Added button to select all Export to HTML options.
- Added PID recording capability. Up to eight different PIDs can
be recorded to individual files.
Version 1.0, build 1:
- TSReader is now released. You get 28 days to use TSReader for
free then it must be registered.
- 8PSK modulation in the NIT is now decoded correctly.
- -t option added for automatic text export
Beta Version Build 7:
- Added PID usage chart to output HTML file.
Beta Version Build 6:
- Added option to sort PID chart by PID number as well as
- Added option to allow the PID chart to be sorted both
ascending and decending
- When recording, a new option allows files to be split when
they are greater than 4 GB in size. This allows continuous
recording on file-systems like FAT32 which restrict the file
- New command-line option to allow automatic recording. See
- Handles incomplete SDT segments found on some material encoded
with Tandberg gear (specifically CBC's 8PSK mux on Anik F1).
- Estimated bitrate is now shown on all PIDs (provided the
bitrate can be calculated from one of the stream's time-stamps).
To indicate that the bitrate is estimated, the percentage of the
stream and bitrate are separated by the ~ character whereas if
the bitrate for a PID is calculated from the PCR, the -
character is used to separate percentage and rate.
Beta Version Build 5:
- Still looks the same, but internally changes are being made.
Added support for DiSEqC 1:2 and 1:4 switches on the Twinhan
Beta Version Build 4:
- No major visible changes. Internally, TSReader has had a lot
of window related work done, but this wasn't complete for this
beta with the result that the display looks identical - next
month's will look a lot different.
Beta Version Build 3:
- Now handles compressed EIT program name and description on
Cards with demultiplexers
TSReader was designed around hardware interfaces that send all
packets from the transport stream. Some cards, such as those using
the B2C2 control chip with pre 4.3.0 drivers, cannot send the
entire transport stream over to the PC but instead only allow a
certain number of PIDs from the mux active at any one time.
TSReader does support these cards but with a few restrictions:
- The calculate bitrates will be inaccurate. TSReader calculates
the mux and PID bitrates based on the arrival time of packets.
Since the demux is not letting all packets through, TSReader
can't accurately calculate the rate.
- There is a limit of 39 active PIDs on the B2C2 cards. TSReader
will decide automatically which PIDs are active and setup the
demux correctly, but this may not work for all cases. We
obviously welcome feedback if you're having a problem receiving
a particular channel.
- In the PID chart, you may notice that with cards using a demux
there are not only red/green PIDs (scrambled/clear) but also
dark-red/dark-green. The darker PID indicators indicate that the
PID is active, but currently the demux isn't processing any
packets from this PID.
- TSReader only supports muxes with correct tables on cards with
demultiplexers. If you tune a mux without MPEG-2 tables,
TSReader has no way to decide which PIDs to enable in the demux.
If you need support or have comments, please email me at email@example.com. You also may
want to visit our TSReader Support Portal.