| TSReader | Support Information |
Support Information
This document is a FAQ. Please scan through it to see if there's an answer - if not, please send us email. We also suggest reading the README file - it contains lots of useful info, including command-line parameters used by TSReader.
Recording Issues
I recorded an entire transport stream because there were two programs I wanted to capture on at the same time. I now want to split out each of these two programs into individual files. How can I do this with TSReader?
This is called demultiplexing and that's what TSReader's Record Program function is for. It generates a single program transport stream by removing packets that aren't part of the current program and builds new tables to tell the decoder what PIDs the single program is using. Follow these steps to demux the file:
When the files have been demultiplexed and you're ready to do the second program simply click on it's PMT entry and drop the file onto TSReader again.
Playback Issues
How do I play a channel with XBox Media Player?
This assumes you've already got XBox Media Player operational and you know how to FTP into your XBox.
<share>
<name>TSReader via XNS</name>
<url>c:\@10.10.10.15</url>
<cachesize>8192</cachesize>
</share>
How to do I play a channel with XBox Media Center?
Same guidelines for XBox Media Player, but the XML is slightly different. You need to:
<bookmark>
<name>TSReader via XNS</name>
<path>xns://10.10.10.15:1400/</path>
</bookmark>
Stream Issues
Please explain what continuity errors mean?
An MPEG-2 transport stream contains data in 188-byte packets. The first four byes of each packet are header and flags and then there's 184 bytes of payload data - video, audio, tables, IP data -- you name it.
In the header, there's a 13-bit field (range 0-8191 decimal) which is the Packet ID (PID) of the packet currently being sent. There is also a four bit field (range 0-15) called the continuity counter. This field increments for each packet sent on that PID. For example, one might see a sequence like:
PID 0 - continuity 0
PID 1 - continuity 0
PID 0 - continuity 1
PID 0 - continuity 2
...
PID 0 - continuity 15
PID 0 - continuity 0
PID 1 - continuity 1
PID 0 - continuity 2
This field is used by receivers (and programs like TSReader) to make sure that the transport stream data is continuous, i.e. it hasn't lost packets. If a receiver tracks the continuity it can determine if packets on a particular PID were lost -- for example if the satellite signal is interrupted. It handles cases except the case when exactly 16 packets (or multiples of 16 packets) were lost on a single PID which is unlikely.
So, given that they indicate packet loss, there are a few reasons why you might see continuity errors displayed in TSReader:
The general rule is that if you see only one or two continuity errors per second you're probably OK but if the continuity counter increments quickly, there's something wrong.
MultiDec API
How do I make plug-in modules written for MultiDec (and a bunch of other programs like MyTheater and ProgDVB) work with TSReader?
Simply put the files into a folder called MDPlugins in the TSReader folder. The plug-in's menu should then show up in TSReader next time it's launched.
What MD-API commands are supported by TSReader?
| Name | Supported | Function |
| MDAPI_GET_PROGRAMM_NUMMER | Yes | Returns current program number. User must select a program by clicking on a PMT entry in TSReader for this to return meaniful data. |
| MDAPI_GET_VERSION | Yes | Returns API version number. TSReader sends "MD-API Version 01.02 - 1.04" |
| MDAPI_SET_PROGRAMM_NUMMER | ||
| MDAPI_GET_TRANSPONDER | ||
| MDAPI_SET_TRANSPONDER | ||
| MDAPI_SET_PROGRAMM | ||
| MDAPI_GET_PROGRAMM | ||
| MDAPI_RESCAN_PROGRAMM | ||
| MDAPI_SAVE_PROGRAMM | ||
| MDAPI_SCAN_CURRENT_TP | ||
| MDAPI_SCAN_CURRENT_CAT | ||
| MDAPI_START_OSD | ||
| MDAPI_OSD_DRAWBLOCK | ||
| MDAPI_OSD_SETFONT | ||
| MDAPI_OSD_TEXT | ||
| MDAPI_SEND_OSD_KEY | ||
| MDAPI_STOP_OSD | ||
| MDAPI_START_FILTER | Yes | Allows a plug-in to receive transport stream packets from a specified PID. TSReader allows up to 256 filters active at any one time. Data is sent as 184 byte packets (i.e. no transport stream header) with 9 packets sent at a time. |
| MDAPI_STOP_FILTER | Yes | Stops data flow as a result of the MDAPI_START_FILTER. |
| MDAPI_DVB_COMMAND | Partial | TSReader only supports CA key messages to be passed to CSA.DLL. CSA.DLL implements the DVB Common Scrambling Algorithm and is not included with TSReader but can be easily located on the Internet. |
Source Issues
I selected the wrong source - how can I change it?
Launch TSReader with the Ctrl key held down - you'll then be asked to choose a source again.