[vlc-devel] Broken Amazon S3 Streaming

Frederic YHUEL fyhuel at viotech.net
Tue Jun 19 09:45:29 CEST 2012


On Tue, Jun 19, 2012 at 9:13 AM, Rémi Denis-Courmont <remi at remlab.net> wrote:
>
> On Mon, 18 Jun 2012 22:02:20 +0200, Frederic YHUEL <fyhuel at viotech.net>
> wrote:
> > IMO, FASTSEEK is not necessary, and it is obviously not possible for a
> > *live* DASH or Smooth Streaming stream anyway.
>
> It is necessary. Without FASTSEEK, the demuxer will seek all the time, and
> the latency will become so high that playback will stall.
>
> > But maybe I did not understand properly what FASTSEEK means. I guess
> that:
> >
> > - SEEK is the capability to seek "locally" in the stream within a
> > short period of time.
> > - FASTSEEK is the capability to seek anywhere in the stream within a
> > short period of time.
> >
> > Is that right? Is there a more precise definition?
>
> No. That's not right at all.
>
> FASTSEEK means that the byte stream seeking is, well, fast.
> SEEK means that seeking is at all possible but may be slow. Then seeking
> is acceptable to deal with position change.
>
> Basically, a demuxer can expect seeking to work at all times if FASTSEEK
> is set. If only SEEK is set, then seeking should work but may be have too
> slow for playback.
>

Ok, thanks for the explanation!

> Local content is pretty much the only case where FASTSEEK is acceptable.
> For HTTP, a new TCP connection and HTTP request/response is required. This
> is usually far too slow.
>

For fragmented MP4, the demux needs to fastseek, but only within a
chunk. The stream_filter modules which implement Smooth Streaming and
DASH are able to fastseek within a chunk, but not outside, of course.

I guess that in that case, the demux should require FASTSEEK, and the
stream_filter modules should answer "yes", even if it is not really
true?


Best regards
Frédéric



More information about the vlc-devel mailing list