TSReader Version 2.0 README
Updated November 26, 2003
What's Here
Changes between versions
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
free.
- Tweaks to the TechnoTrend DVB-T source for compatibility
with the Australian 7MHz 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 supported.
- 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 100KHz
steps - previously this was limited to 1MHz.
- 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 parlence), 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 another application.
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 another source.
- 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 1MB 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
protocol.
Version 2.0, build 12:
- Re-wrote 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 acomplished 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 re-write 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 timebeing we suggest staying with transport streams.
- 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 generated
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 error message.
- 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 seperate 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)
were received.
- Removed the function buttons - TSReader now uses a normal
menu.
- Menu options added to re-tune the Twinhan, open a different
file or restart TSReader from a new ASI source (depending on
version).
- Option to save the thumbnails generated by TSReader as JPEG
files.
- 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
correctly.
- 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 playback.
- 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 real-time
playback.
- 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 time.
- 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
for details.
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-existant 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 these.
- Real-time output to Stradis
Professional MPEG decoder cards is now supported.
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 4GB. 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 decode.
- 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 this mode.
- 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 HKEY_CURRENT_USER\Software\COOL.STF\TSReader.
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 bizzare results.
- Small internal bug fixes based on testing TSReader with some
European streams.
- 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 file.
- 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 sequence.
- All options are now saved and restored each time TSReader
starts.
- 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 bitrate
- 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 4GB in size. This allows continuous recording
on file-systems like FAT32 which restrict the file size.
- New command-line option to allow automatic recording. See
below.
- 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 seperated by the ~ character whereas
if the bitrate for a PID is calculated from the PCR, the - character
is used to seperate 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 swiches on the Twinhan card.
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
Dish Network
Command-Line Parameters
Note: This section applies only to the registered version of
TSReader - command-line interface is not supported by TSReader
Lite.
TSReader can be run from the command-line prompt or from programs
such as the Windows Scheduler. Typically with sources like satellite
cards, TSReader will provide a dialog to allow you to setup the
parameters associated with the TSReader session. By supplying
these parameters on the command-line, you can make TSReader run
automatically.
TSReader has two sets of parameters. The first are parameters
for TSReader itself. These are options like automatic recording.
Following these parmeters on the command-line are parameters specific
to the source currently selected by TSReader. So for example:
TSReader -x nbc.txt
3860 H 26670
5150 0
The text in blue is a TSReader
parameter and the green is specific
to the selected source - in this case, parameters for a satellite
card.
Parameters surrounded with { } characters are optional. The
parameters are:
TSReader parameters
Automatic Recording
TSReader supports automatic recording from the command-line.
When used with the Windows Scheduler, this allows for unattended
recording.
To use this function, add the following to the start of the
command-line:
-r service file length
-R splitsize service file length
|
splitsize |
Only used with the -R option. Specifies the size in MB of each
file to be recorded. Once files recorded by TSReader get larger
than this size, a new file will be generated. |
|
service |
The MPEG service number from the Program Association Table |
|
file |
The name of the file to record |
|
length |
The number of seconds to record |
When -r is used, a single file
is generated. When -R is used,
the file split mechanism is used to ensure files don't get bigger
than the specified size.
As an example, this records half an hour of programming from
NBC Central on AMC4 from a satellite card and the second example
records channel 10 for 30 minutes, splitting the recording into
120MB files. Since there are no parameters, one must assume that
the source doesn't need any parameters - the Linear Systems ASI
source is an example.
TSReader -r 10 c:\mpeg\nbc.mpg 1800
3860 H 26670 5150 0
TSReader -R 120 10 c:\mpeg\nbc.mpg 1800
Automatic Table Decoding
TSReader can automatically decode DVB tables and then export
the data to a XML file that can be parsed by external programs.
Since the MPEG and DVB systems doesn't have any flags to indicate
"you've got all the data", TSReader will process tables
and determine when it's got all the data it needs, write the file
and then quit. Obviously this means that the time spent running
will vary depending on the rate at which tables are sent in the
mux. This code
sample shows how to enumerate processes on Windows 2000 and
greater to see if TSReader is still doing it's stuff.
To use this function, add the following to the start of the
command-line:
-x filename
|
filename |
The name of the file to write tables to |
As an example, this will decode tables for NBC on AMC4 to "nbc.xml"
and then exit:
TSReader -x nbc.txt 3860 H 26670
5150 0
For documentation on the exported files, please follow
this link.
Source Parameters
DVB-S satellite cards (Twinhan, Twinhan2 and TechnoTrend
Budget PCI sources)
TSReader {TSReader-options} {freq
pol sr lnbf 22khz {DiSEqC}}
|
freq |
The frequency to tune. |
|
pol |
The polarity to set. This actually controls the voltage on the
coax so if you're using a big dish, you'll need to set the polarity
manually. |
|
sr |
The symbol rate to use. |
|
lnbf |
The frequency of the local oscillator in the LNB. For C-Band,
this is 5150, for the FSS Ku-Band, it's 10750 and for the DBS
band 11250. |
|
22khz |
On the Twinhan card turns the 22KHz tone on with a value of 1.
Useful to switch between signals with an external switch. |
|
DiSEqC |
Optional. Sends DiSEqC command to select LNB input on a DiSEqC
switch. Valid values are 1-4. |
DVB-T terrestrial cards (TechnoTrend Budget PCI sources)
TSReader {TSReader-options} {freq
inversion bandwidth}
|
freq |
The frequency to tune in MHz |
|
inversion |
Spectrum inversion. Set to 0 or 1 as appropriate for your area |
|
bandwidth |
Bandwidth of the COFDM transmission. 0 = 6 MHz 1 = 7 MHz 2 =
8 MHz |
File version (File source)
TSReader {TSReader-options} {file}
|
file |
Optional. The name of the file containing the transport stream.
If not provided, TSReader will prompt |
The input transport stream file can contain either 188 or
204 byte transport stream packets. If TSReader generates a single
program stream or PID recording is used, TSReader will always
write 188 byte packets.
Linear Systems DVB/ATSC Master source
TSReader {TSReader-options}
There are no parameters for this card - the first card in
the system is always used. The card receives in "Auto 204/188"
mode where 204 byte packets sent to TSReader get stripped of
their Reed-Solomon code resulting in 188 byte streams recorded
by TSReader.
Support
If you need support or have comments, please email me at [email protected]. You also may
want to visit our TSReader Support
Page.