I am not an experienced Flash user. I have converted a mpeg video of some 75Mb using FLash 8 to a set of files (FLV, SWF - not sure what they all do). I find that the FLV downloads and plays intermittently on slower PCs even to the point where the picture freezes and the sound works OK.
Is there a way to synchronize the download (pre-download?) to get it smooth for low bit rate connections. I.e. what do you experts do?
The FLV file which is the one I've uploaded is about 8Mb.
The answer to your problem will depend on whether you are try to play a .swf file in your browser or play a .flv file in a Flash Media player. Or you may have created a .swf file which holds the Flash Media player.
If what you are downloading and playing is a .flv file, download speed and playback performance will depend almost entirely on the speed of your Internet connection and have very little to do with the capabilities of the computer used to play back the file.
On the other hand if you have created a very large, complex .swf file, the playback computer may have to do a lot work to render the animations involved in the .swf file, not playing back the flv. This could show up as freezing or intermittently playing.
To help you determine your problem, first, let the file download entirely before you judge the playback ability. Once the file is in the cache on your local machine, play back the file. If it plays fine, the problem was the Internet connection (or is that what you meant by "slower PCs"), not the speed of the computer. If after download entirely, it still plays slow and breaks up, it is probably caused by the .swf requiring too many of the computer resources, it is not coused by the .flv using too many of the resources. What was the bitrate used to encode the .flv?
Errors in the ActionScript code could be causing a looping effect that keeps running the same action over and over, never resolving it, and then duplicates the action. This will finally have multiple, multiple, multiple versions of the same action running and eventually overwhelm the computer.
What was the bitrate used to encode the .flv? a rate of 400kbps is considered a medium rate. But it is the rate of the Internet connection not the computer itself that is the issue. As you lower the bitrate, the quality will also be reduced. As a measuring stick, YouTube video is about 250kbps. Not the greatest quality, but downloads fairly quick.
Progressively downloaded videos will load in the Temp Internet files cache and play back to the computer from there. There is a buffer time (time from the moment the video begins to download until the video actually begins to play) that can be set in the video player. Too short a time could cause the problems you are mentioning, but the issue is the Internet connection, not the speed of the computer.
To change the buffer time, look for something like this in the ActionScript of the Video Player.
Increase the time.
Thanks for amost comprehensive reply. I am going to investigate some of the points you make. On my home system the FLV (which is set to progressive download) pauses occassionally but on other PCs is where the problem lies almost certainly due to the link. I will test with the cached version after fully downloaded. Having said that I put the mpeg on Google (which I assume is streaming it) and the same problem occurs.
I am not sure about the SWF version, I only uploaded the FLV. The video is converted from MPEG with Flash 8 and as I do not know that side much, I just used the "wizard".
What is the strategy for a dial-up link?
More advice welcome but I will report back when I've investigated further.
It is really tough to get much video downloaded using dial-up, the files are just too large and the connection too slow....
That being said, here are my thoughts.
First a dial-up modem's max speed is 56Kbps. YouTube video uses a bit rate of about 256kbps, nearly 5 times the max speed of dial-up. Create a video at at bit rate of 50kbps and you'll see very, very poor quality.
So, you could do this...Turn off the autoplay feature of the player on the HTML Web page. Don't let the video start until the entire file is downloaded. This could mean a 5 minute wait for a 1 minute (256kbps bit rate) video. Use a preloader flashing "Loading...Loading..." or something like that. And use a message letting your viewers know that the video will take a while to download.
There is an initial buffer time that could be set higher in the video player,
but the only real solution to prevent the pauses is to lower the bit rate of the video to match the connection speed or increase the connection speed to match the video.
When it comes to Web video, everything is related to the bitrate used to encode the video. The final file size of 94.1MB has nothing to do with the download speed. The viewers Internet connection speed will determine how fast it downloads. The file size of 94.1MB will only determine how long it takes at a given download speed. That is, assuming that the file is being properly downloaded using progressive downloading.
If the file stops, then buffers, then plays, then buffers, reduce the bitrate used to render the video. Choose a bitrate of 400kbps or less for the video and 64kbps mono (not stereo) for the audio. The two combined should download well over most 1.5Mb Internet connections, but will not work well if the line is only a 256kbps DSL line. For that, reduce the bitrate to 150 or so.
Glad to hear you've got it working! Here's the post I was working on before your last post:
No, if the movie is intended to be watched from beginning to end, leave it as one, it will just take awhile to download. But if the bitrate is low enough, the quantity of data (bits) needed to display the video, will be less than the incoming stream of data and the video will play without interruption. On the other hand, if the amount of data needed to continually display the video on the screen is greater than the incoming flow, the video will stop and wait while a buffer fills up. Then the video will resume until it runs out of data again.
Picture it like a water bucket with a whole in it. You can keep the bucket full of water if you have a big enough hose. But if water leaks out faster than the hose fills it up, you can't keep the bucket full. But if the hole in the bucket is smaller, it's easier to keep the bucket full.
One advantage of splitting a very long video into pieces is that you can make buttons to let the viewer watch various sections of the video without have to wait for the entire thing to download. Imagine a returning viewer that has already seen the first 3/4 of the video and just wants to see the end. They will have to wait until nearly the entire video is downloaded just to see the last part. Splitting the video could avoid that, giving the viewer the option to just watch the last chapter with very little wait time.
You should be able to get a pretty good quality video at 768kbps. If you are not, there may be some other issues involved, such as poor compression codec, encoding for the wrong size screen, poor quality original video, the list goes on.. What size screen are you using to view the video? Decrease the size of the video player screen and see if the quality improves.
Any given bitrate will only display high quality video on a certain size (or smaller) video screen. For example, a 400kbps video will display a high quality video on a 320 X 240 screen, yet would look terrible on a 640 X 480 screen. Why is that? Well it requires 4 times the data to provide the same quality. So it would require a bitrate of 1600kbps to provide the same quality at the larger screen size.
When you say you've started on a another video, what do you mean by that? What have you done so far, details please.
Here are some of the stats for the video that plays on that site when it first opens up:
So it's a little bit higher bitrate but not much.
A typical Flash player is a .swf file, which reads from an xml file the urls to a video playlist, has nothing to do with quality, just a good way to populate a playlist.
You maintain high quality and fast download speed by correctly sizing the video display screen to match the bitrate. There is nothing you can do to influence a viewers Internet connection speed. So if your viewers range from 256kb DSL lines to 10 Mb cable connections, you might want to provide a high and low bandwidth version.Lower Internet connection speed, smaller display screen. Higher speed connection allows you to display on a larger screen.
Progressive downloading is when a video file downloads into a buffer on the viewers machine, after a small amount of the file has downloaded, the video will begin to play, while the rest of the file downloads. In case you're wondering, that video will end up in the visitors Temp Internet Files folder.
When i said "just started" i actually meant finished.
One reason why it's messed is that I created the entire 1 minute something in vegas studio. This produced an avi over 2gb! The first time I used various flash software and converters........that's a much better way to do it.
Anyway, I'll need to redo the entire video again..........I should have stuck with what works!
1 - How is it that he did a 640x426 without messing up the clips? That size is not a standard video size......keeping aspect ratio would be impossible.
2 - Were you able to see the audio bit rate? It sounds high.
So I'm going to make the video 640x426 - then after I convert the entire flash/flv to flv I'm going to squeeze it down to 500x360.
1. Who says the clips aren't messed up? He's using animations (which can have any aspect ratio they want) along with a little actual camera video. The clip could be created in whatever dimensions he wanted. Don't follow that as a guideline. If you use actual video from a camera, use that aspect ratio, don't just make one up.
2. Here is all the metadata embedded into the video:
So total bitrate is over 1000kbps. This may not download well over a 1.5Mb Internet connection (too much other overhead).
Set up your video with the same aspect ratio as the camera and if you need to downsize, maintain that aspect ratio (4:3 for standard or 16:9 for HD).