[Live-devel] RTSP trick play, extra PES packet issue...

Ross Finlayson finlayson at live555.com
Wed Jan 20 07:01:14 PST 2010

When a MPEG Transport Stream file is indexed (to produce an index 
(.tsx) file), our code skips over PES headers, so that the resulting 
index file points *only* to MPEG Elementary Stream video data, not 
PES headers (or any other non-MPEG-video data).  The 'trick play' 
code uses this indexed video data to generate new video data that 
represents the new (fast-forward or reverse-play) stream.

This new video stream is then converted back into a MPEG Transport 
Stream file.  As part of doing this, our code inserts a new PES 
header in front of the video data, before packaging it as MPEG 
Tranport Stream packets.  This new PES header is not an 'extra' 
header; it is simply replacing the PES header that we skipped over 
when we indexed the original file.  I don't believe there is anything 
wrong with this PES header; on the contrary, it is necessary in order 
to make the resulting Transport Stream file (for the 'trick play' 
stream) legal.

In summary: I believe that the Transport Stream data that our 'trick 
play' code produces is legal; there are no 'extra' PES headers.  If, 
however, your decoder is not properly handling this 'trick play' 
Transport Stream data because of something illegal that we are doing, 
then please let us know (with specific details).

Ross Finlayson
Live Networks, Inc.

More information about the live-devel mailing list