Sign up ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Why is it that the video player on Youtube, and any other site that uses Flash for that sake, clears the entire, current buffer if you seek a point in the stream that hasn't been buffered yet? It's seems pretty stone age not to support chunked buffering on the client side, since downloading and buffering a part of a stream is an "expensive" operation considering the amount of time it usually takes (depending on internet connection of popularity of that video).


Imagine binary-searching a video to find a certain point in the file: Every time you backtrack a little, or jump ahead faster than the download rate, precious data is discarded. I know it's not possible to directly play a video from literally any point in time without decoding the window from the first key frame, or whatever. But because it is possible to only download and play a part of the video/audio stream, i.e. not from the beginning, and play before it's entirely donwloaded, I'd say it's just down to some clever work on the client side to join the downloaded pieces, much like torrents.

share|improve this question

closed as too localized by Nifle, BinaryMisfit Dec 6 '10 at 6:51

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

2 Answers 2

There is no known ability to switch between non-joinable video pieces; at least don't know one.

We can join single .flv stream by a frame number; but the algo would use expensive caching, thus saving only network traffic.

There is also Apple's video segmenter, that splits files by piece and client-side (iPad players etc) somehow joins them. Let's make a research?

share|improve this answer
The compressed audio and video stream is intentionally split in chunks/windows to enable streaming. The player tech only has to transition from one chunk to another, but it seems like the current implementation puts consecutive chunks in a single buffer, instead of maybe a linked list. I get the feeling that there could be a patent (shivers) purely on this simple idea :S – Calianka Deslurio Dec 5 '10 at 16:18
Well.. the simple idea may be something new - my question at… got no answers – kagali-san Dec 5 '10 at 16:23
Patents are so harsh that opensource software tends not to implement them? Ha. If I write an opensource frontend for grep, that implements exactly the same sorting algo, as used in (patented) Splunk, and release it - it would be a patent problem? – kagali-san Dec 5 '10 at 16:24
I donæt know about that, but I know that there are billions of people on this Earth sharing ~100% genes and very much knowledge, we are bound to run into similar ideas when having to solve a problem. It's insane to be punished for that by 'protecting' the original inventor through patents. – Calianka Deslurio Dec 5 '10 at 16:39
Please, let's not make this into a patent debate! – Calianka Deslurio Dec 5 '10 at 17:21

Why can you jump to a point that hasn't been buffered yet? Basically, they're either serving MP4 files (with the metadata at the head of the file using QT-FastStart or QTIndexSwapper) or FLV files using a flash media server.

Serving FLV files or unmodified MP4 files via regular HTTP is just a progressive download like any other download through your browser.

YouTube has the ability to start from any point in a video file by specifying the timestamp in the URL:

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.