Streaming is the ability to jump around a video stream without having
to download the prior content.  The user clicks play and then jumps 1
hour into the video.  Streaming will allow you to jump to the hour
mark without downloading the first hour.  You have to use a special
server to do this though.  You have two options Flash Media Server
(commercial and it starts at $5K and goes up depending on how many
clients you have), or you can try Red5 server (open source).  Red5
team has done a heck of a job reverse engineering rtmp protocols, and
figuring out adobe's proprietary code, but it's still pretty early on
and in beta.

The other alternative is progressive downloads which means you
download just a little bit of the video and start playing it once you
have enough that won't cause a skip in playback.  The idea is that if
you give the downloader a head start he can continue to download the
video fast enough that the playhead won't catch up to the video being
played.  To contrast this with streaming it means that if you haven't
downloaded the the first 1hour  you can't jump past it.  You can only
jump around in the portion you have downloaded, and the download
progresses linearly (i.e. it downloads the 1st hour, the 2nd hour, etc
).   This is the youtube approach, and it doesn't require any exotic
technologies to accomplish this.  A plain ole web server is all you
need, and properly encoded video. (i.e. the meta data in the video
stream that tells you how long a video is, etc has to be located in
the front of the video stream).  Most encoders will move that data up
to the front for you.

Personally, streaming I think sucks from a user's experience
perspective.  With streaming you can't cache the video that you
download.  Once the play head has passed that block rewinding is
treated as another request for a different part in the stream so that
means back to the server and wait while it buffers up the request.
There's a lot of hurry up and wait with streaming that makes it worse
that progressive downloading.  Plus if you don't need to jump around
in the stream then it's not worth it to you, and you get the crappy
experience with it.

I think what you want is a combination between the two which there is
no just plug and play technology that satisfies what you want.  But,
if you cut up your streams along smaller boundaries (i.e. between the
interactive parts) that would allow you to do progressive download on
video they currently want to watch.  When the interactive part starts,
then you download the next segment they want to watch.  Provided you
can fetch that segment relatively quickly then the user will only have
to wait say 5s before the next portion starts.  If you really wanted
to get fancy with it you could download all possible next scenarios
while they are watching the current segment.

As for can 36 students simultaneously watch/download the episode over
a DSL.  I can't say.  But as a test, try getting those 36 students to
download the same video from youtube and see what happens.  You're
using a nice P2P distributed model which is going to help you a lot
since students at a location won't need to go out the DSL to get
episodes another students has already downloaded.

Charlie

Charlie
On Mon, Apr 28, 2008 at 2:39 PM, r_v_boyd <[EMAIL PROTECTED]> wrote:
> We provide online educational applications to schools and use Java2D
> and jxta for P2P. Think of it as a combo on education with mini-game
> like environment. A large activity may contain over 200 questions and
> approach 200MB in audio and images. We use Peer2Peer (jxta) to
> download jars to one student ... then the other (~35) students
> download from the first student. This is to reduce bandwidth strain on
> DSL or T-1 pipe often running on older (i.e., slower) PC equipment. We
> are looking at Flex. Our application is dynamic in the sense that the
> next "scene/question" will vary depending on how a student answers a
> question. That is, it is not a straight, linear "video" ... but an
> interactive Q&A session. We read that Flex supports "streaming".
> QUESTION -- Is this "streaming" only for linear "video" clips ... or
> can it act as "lazy loading" whereby a student just begins downloading
> what he needs at the moment without trying to download clips he will
> not need until later? ALSO, I can see how this streaming would be
> great for one user ... but how would it work if there were 36
> users/students all trying to "stream" through the same relatively
> small pipe (DSL or T-1)? Or is there some way to "cache" these
> audio/image resources so that the first student downloads it, and
> remaining students do not do remote download from server, but download
> from first student ... i.e., P2P-like? BOTTOM LINE -- Would Flex
> "streaming" work on a DSL or T-1 for 36 simultaneous users/students
> trying to pull down a lot of MBs of audio and image resources?
>
> 

Reply via email to