[Ffmpeg-devel] mpeg2 transport stream
Sat Nov 25 08:14:28 CET 2006
In a mpeg2 transport stream, does the random access indicator bit in the
adaptation field control always mean that the first byte of the payload is
the start of sequence header (0x000001b3). Is the random access indicator
always present in all mpeg2 transport streams? and if it is present the
Payload unit start indicator should also be set?
And do all picture start codes always start with a new ts packet?
I m trying to achieve trickplay without using the DSM trickplay features
present in the PES header.What i do is i extract the I frames from the
transport stream and create a new transport stream out of those i frames.
Depending upon the playback speed i repeat each iframe that many number of
times. so considering the frame rate of 25 i advance PTS of each i frame
by 40ms. But this method increases the bit rate, since i m sending each i
frame x number of times depending on the playback speed.
I want to use the trickmode control features which is present only if DSM
trickmode flag is 1. But i m confused regarding the trick modes (000 to
100) and the rep_control field (slow motion 001 and slow reverse 100). i
don't understand how exactly is the pts going to advance for each i frame.
Consider an example, if i want to display an i frame (pts=100) 5 times ,
so i set rep_cntrl = 5 and trick mode = slow motion. Then should the next i
frame have pts equal to 300 (framerate=40)? and how does the freeze frame,
fast reverse , slow reverse trick modes work ?
More information about the ffmpeg-devel