You should look into streaming videos, 30 minutes videos are too long for a progressive download unless you want the wait. Here is an article that might help: http://www.dncompute.com/blog/2006/05/04/flash-video-streaming-vs-progressive-download.htm l
I understand the difference between streaming and progressive. I also understand the difference in cost, hence why I am using progressive. I cannot afford to host these on an FMS reseller, and I don't have the bandwidth necessary to install FMS and host them here. So...HTTP it is. Now, any idea why this is happening? If you set a bufferTime of 5 seconds on a 30 second video, and it plays within that bufferTime, why would a 40 minute video with the same bufferTime take 25 seconds to begin play? Seems like bufferTime is bufferTime, regardless of the length of the video.
Buffer time is not the amount of time you wait, but the amount of the video that you want to load before it starts playing.
Larger file size means longer to wait for the same buffer.
I think this is a fairly fluid number as well, with flash determining some information that it calculates with the buffer you want. So, if you want a 5 second buffer, it may load 10-15 seconds of the video, so that it always has at least the next 5 seconds loaded while it is playing.
So if bufferTime is the amount of the video that I want to load before it starts playing, why would loading 5 seconds of a 40 minute video take 5 times longer than loading 5 seconds of a 30 second video? Does 5 seconds not equal 5 seconds?
The time it takes for playback to start is derived almost entirely from the size of the file.
So, a 40-minute file is a much larger file than a 30-second file, and therefore will take longer to start playing.
bufferTime is one parameter in a calculation for how long to wait to start playing. Essentially it means that, based on the time it is taking to download, you want to have x amount of time available for play at all times, and flash calculates the start of play based off of that.
The only way to speed up the start of play is to shrink the file size.
Why would there be a parameter for bufferTime if it was ignored in consideration of other parameters? Where are the other parameters? I'm not trying to be a jerk here. What is being said isn't really making sense. First I'm told that bufferTime sets the number of seconds of video to download before playback begins, then I'm told that the bufferTime figure is but one of a set of parameters to determine how much video downloads before playback. Why would it matter as to the length of the video? If a 1 minute video downloads 5 seconds of buffer, and a 45 minute video downloads 5 seconds of buffer, then they both will have 5 minutes of buffer ahead of the playhead.
At any rate, I'm trying an FMS CDN that we work with to see if it behaves any better.
In my original description I wrote:
"I think this is a fairly fluid number as well, with flash determining some information that it calculates with the buffer you want. So, if you want a 5 second buffer, it may load 10-15 seconds of the video, so that it always has at least the next 5 seconds loaded while it is playing."
which says essentially the same thing that I said in my last post.
The "other parameters" I speak of are not things you can set, they are things that work behind the scenes to enable smooth playback. This is default functionality that is built-in to the player.
When you set the bufferTIme parameter you add some variables to that algorithm. You are setting the amount of time that you want pre-loaded. BUT, the size of the file directly relates to how long it takes to load up that amount of time, along with the bandwidth of the user, and some other factors.
FMS would be a very good way to go, as it gives you true streaming that is catered to the bandwidth of each individual user. Progressive download is an imperfect solution that mimicks the functionality of a stream.
AND, as I stated before - THE ONLY WAY to reliably speed up the amount of time it takes for a video to start playing is to LOWER THE FILE SIZE.
Also, to be completely certain, bufferTime specifies how large you want the buffer to be, or how much of the video you want pre-loaded. The player is still trying to load the ENTIRE video regardless of the bufferTime. This means that, when the file is larger, it may take longer for the application to fill that buffer before starting to play.
Everything that I have said about the formula that the player uses to figure this stuff out are things that need to be taken into account which will affect the amount of time it takes to fill that buffer.
To say that I have a 5-second buffer, therefore it will take a maximum of 5 seconds for the video to start playing is naive. That assumes that the video is downloading at realtime or faster, which may not be the case. It takes prohibitively longer to work through a file that is 100MB than a file that is 1MB, and the amount of time to fill that buffer reflects that.
OK, I placed one of the files on an FMS, and the buffer time was 5 seconds...exactly as I set in the bufferTime parameter. Just for fun, I placed the same file on another HTTP server to test progressive download from a seperate server, and the buffer time is also 5 seconds. Apparently, the problem lies on my provider's server, and not within the size of the file.
It looks looks you reached the same conclusion I did. At this site I have several full length movies about 80 min on average at least. The little screen plays movies at 300 kbps from IX Web hosting if you click on the selection buttons you get the same movies in a standard componet at 512 kbs from godaddy.com they always both seem to work fine to me. These are both low cost host.
My guess would be in your web server configuration as to how it handles serving files. It may be setup to buffer so much data before sending it to the browser, etc. That may explain why that server is taking longer.
For instance, if the server was setup to buffer 4096KB before sending to the client, then it would take longer since the longer videos are over that size and the smaller ones are below that size so the buffering does not have to do all 4096KB.
Hope that came out clear...
At first this sounded very plausible, but then I realized that I have a 6Mbps download speed, and I had a friend who has a 10+Mbps speed try as well. If they had the buffer set at 4096K, that should only take about 6 seconds to download that amount here, and less on my friend's, but each of us get a 25 - 30 second wait before playback starts. I have an email in to my host's support to see if they have any sort of clamp set on videos.
Of course, if they have thier buffer set at 1.3MB, then we'd have the answer!
What I am referring to is on the server not the client or their bandwidth. If the server has to buffer 4096KB into memory before starting to send the file to the client, then there may be a delay, for example.
This is purely hypothetical, but may explain it logically.
I was referring to my host's server as well - not the client's player. At any rate, loading 4MB into a server's memory should happen in pretty much the 'blink of an eye', or at least certainly a lot less than 30 seconds.
I feel like I'm watching an episode of 'House MD'...