[streaming] Re: players...

Jean-Paul Saman saman at natlab.research.philips.com
Fri Jul 11 13:50:40 CEST 2003


Vince Phan wrote:
> By the way, are there any work around VLS in fast forward/rewind of a 
> stream?.
The framework is in place.

> I have seen it mentioned in the manual via telnet command option but 
> when I tried and it was not there.
VLS trickplay has the default behaviour it always had. It does not do 
anything in forward/rewind yet.

> I traced the source and also found it was not there either.
> I planned to add this feature but dont know where to start.

I do!

> Option include

0. Create a new module src/module/iframetrickplay (use 
src/module/normaltrickplay as a starting point).
Update makefile, configure.in, etc. to build the new module.

Your trickplay module will inherit behaviour from C_TrickPlay. To use it 
add to the input's main block TrickPlay = "iframe" in vls.cfg for 
loading the iframetrickplay module.

> 1. speed up the stream
1. Sending only I-frames that should not be problematic. Do flag the PCR 
discontinuity flag otherwise your stream will be displayed at the same 
pace as the original stream.

> 2. advance file pointer when reading from input source
2. The Converter function GetNextTsPacket(C_TsPacket *pPacket, int skip) 
get as input a Ts Packet and a skip value. Now the skip value is very 
interesting, because it lets you tell how many packet you want to skip.

In the following way you can calculate how fast you want to go:

skip = (speed - 1) * nr_packets_in_gop;

The variable speed is the value given on the telnet commandline for 
forward and rewind, e.g: forward localhost 5. The trickplay code in the 
converters GetNextTsPacket(), GetPrevTsPacket() will react to that in 
the following way:

speed = 0 means skip=-1  speed (skip = -1)
speed = 1 means skip=0   normal speed (skip = 0)
speed = 2 means skip=1   frame of type I|P|B
speed = n means skip=n-1 frame of type I|P|B

Rewind needs the function GetPrevTsPacket(C_TsPacket *pPacket, int skip) 
with the same logic for skip.
.
> 3. speed up the stream and filter i frame only.

Use C_Pes::GetFrameType() for that

> 4. etc....

> Any idea, some one pls? 

Yep, ;-)

-- 
Kind greetings,

Jean-Paul Saman



-- 
This is the streaming mailing-list, see http://www.videolan.org/streaming/
To unsubscribe, please read http://www.videolan.org/support/lists.html
If you are in trouble, please contact <postmaster at videolan.org>



More information about the streaming mailing list