Skip to main content
Participant
September 13, 2006
Question

Prerecorded Video Stream Playback Problem

  • September 13, 2006
  • 1 reply
  • 293 views
Hello everyone, I'm hoping that someone can help me out with this problem.

I'm trying to stream a prerecorded video from FMS2 to the Flash Player that's about 4.5 seconds long, and what I'd really like to do is preload the whole video. The problem is that if I set the buffer length to longer than 4.5 seconds the video plays back in what looks to be fast forward. After the entire video has buffered, it begins playing but skips tons of frames and runs from the beginning to the end in less than a second. I'm thinking that maybe it's only displaying the keyframes that have been encoded into the flv using Flash Video Encoder. Does anyone know why this happens? Is it possible to buffer the entire duration of a video stream?

I've tried several other buffering strategies, including having a very small buffer (the result being that the video plays fine until the buffer runs out, then pauses while the buffer refills, and then basically skips the rest of the animation and ends up at the end.) I've also tried a double-buffering technique which seems more reliable, but if the buffer runs out half-way through the video the same thing happens as with the very small buffer - the video stops (which is fine) but then skips to the end (which is not fine.)

I really don't mind if the video pauses while the buffer is reloading, but it's very important for my animation that the video continue playing with smooth video from exactly where it left off.

I've never had any other streaming videos drop frames like this which is why I'm really puzzled. To add to the confusion, most of the time when it happens I don't even get the "NetStream.Buffer.Empty" message.

I can't tell if this is a buffering issue, a keyframe issue, an FPS issue or an FLV issue. If anyone has any suggestions or comments I would greatly appreciate it.

Thanks very much,

Graham

Maybe a progressive download is the way to go in this scenario?
    This topic is closed to new replies. Start a new post to keep the conversation going.

    1 reply

    September 14, 2006
    I'd say it's a buffer issue. I haven't tested it, but I would assume that if the buffer time is more than the stream time, you never get a buffer.full status on the stream. If the buffer doesn't fill, the playback (in theory) doesn't start. If it can't start, the buffer can't empty, hence the absence of the buffer.empty info code.

    Try buffering 3 seconds (or less) and see if that works for you.