Jump to content

Encoding FLV files


Recommended Posts

Hey there,

 

I'm working on a new website and have to encode pretty much videos in Flash. I was wondering what the best settings are to encode Flash Videos, to maintain a high quality but also achieve a file that streams fluently.

 

At 640 x 360 pix I encode at 900kbps, but that's too heavy to have a speedy download to stream the videos. At 700 it's too low for my taste. Any settings I have to take in mind? Good programs for Mac?

 

I used Adobe Flash Video Encoder CS3 for now.

 

Thanks,

Maxim

Link to comment
Share on other sites

Hi Maxim,

 

I'm not sure there is any magic setting for across the board encoding. Obviously, there are going to be compromises in quality vs. filesize.

 

As you know you have three variables, frame rate, data rate, and key frame interval. For audio you also have data rate. In my experience in some pieces frame rate is going to be top priority, in others maybe it's the audio data rate is, a music video for example. Some sound you may be able to use mono setting to save file size. Don't be afraid to use the a number in the key frame interval.

 

For me it's basically been trial and error, test and test. I would save templates as you go along or make notes of the variables which will make it easier to compare.

 

Hope that helps,

Tom

Link to comment
Share on other sites

One good thing about a Flash movie is that it operates on both a PC and a Mac in a variety of browsers as long as the user has the flash plugin.

Generally speaking many PC users watch their content with Windows Media Player, while mac users use Quicktime. I like using Quicktime, but that's going to leave a lot of PC users out.

 

T

Link to comment
Share on other sites

  • Premium Member

Flash would be his best bet for him as with flash the video plays directly in the page through the web page without requiring additional plug-ins. Few computers don't have flash built in.

 

It's not as easy as to what's best. What's your video source? For streaming you want to use swf, etc. WHat keyframe rate are you using? What codec are you using ot encode? etc

Link to comment
Share on other sites

Another thing to check is that there are a few encoding programs that have settings that can really lead you astray. My counterpart on another mission was accidentally encoding a second copy of the FLV file into the file headers (effectively doubling his file size) because his encoding software was set logically, but wrong. If you're not already doing so, try using good compression program (Squeeze, Episode, etc.) to both strip out unnecessary information and maximize your video compression.

Link to comment
Share on other sites

At 640 x 360 pix I encode at 900kbps, but that's too heavy to have a speedy download to stream the videos. At 700 it's too low for my taste. Any settings I have to take in mind? Good programs for Mac?

 

700 Kbps should be fine for 640x360. What is the content of your video? I think you might try On2 VP6. Also please don't encode to SWF as it will limit you in many senses and keep the video separate as FLV. Might try putting key frames several seconds apart.

 

not to sound too much like a newb, but what is the benefits of encoding your content in flash? Does it really matter or should you just go out and get a great encoder?

 

Flash video On2 VPxx is generally considered to be variant of H.263/H.264, so it is not that bad.

Link to comment
Share on other sites

Don't forget that much of the bottleneck will be your website's server. If you have one of the cheapie packages and pay $5 - $20/month you won't be able to serve up decent streaming speeds for files encoded at anything higher than approx. 600 - 800kbps. The real way to maximize video quality (if that's important) is to pay for a private server (approx $100/month) so that you have an entire computer dedicated to your website and thus dedicated to streaming your videos.

 

With the private server you'll be able to encode up to 1200 - 1500kbps before you start to get stutter streaming on the client side (given the client has broadband). Above 1500kbps you'll need to go to a flash streaming service like influxis (www.influxis.com). I've used influxis but found their way of going about things overly complicated. They have good prices but I never managed to get everything working the way I wanted to with them so I went right back to my private server.

 

As a final thought, I've tried just about every configuration known to man (or at least to me) and I can't really see much of an added benefit to encoding at anything higher than 2000kbps. In fact, I find 1200kbps to be very good and it results in video that looks better than 95% of everything else that's online.

 

Hope some of that helps.

Edited by Evan Winter
Link to comment
Share on other sites

  • Premium Member

The other way to do this is to encode it to both h.264 and VP6 (which is marginally inferior) and serve the VP6 if the client has an older version of flash player, or the 264 if the client has a recent flash player or Quicktime installed. This requires a small amount of custom web code, but it's the widest possible compatibility and offers the best quality for those who've upgraded.

 

The good thing about both Flash and Quicktime is that they're easy to install, and it's easy to give instructions to install them.

 

I generally use ffmpeg to encode both, since it offers high quality and a lot of control, and although it's a command-line application you can find instructions on what to type fairly readily. I did some of this just yesterday.

 

P

Link to comment
Share on other sites

I generally use ffmpeg to encode both, since it offers high quality and a lot of control, and although it's a command-line application you can find instructions on what to type fairly readily. I did some of this just yesterday.

 

I think ffmpeg can't do On2 VP6, at least it did not used to and I have not looked at its code base for sometime. For a gui-based ffmpeg, please try ffmpegX if you are on mac. VLC, which is gui-based, is partly based on ffmpeg also, I think.

Link to comment
Share on other sites

Hi, I've run the gamut of tests on various FLV encoding variables. The one, weirdly enough, that doesn't increase file size but helps with quality is setting the keyframes to "0" or "key frame every frame." Normally, you'd think this goes against the very principle of encoding, but do a test and check your files sizes. It doesn't add anything.

 

The real issue is your frame size. If you wanna do something at 640x480, you're using four times the screen size of 320x240. I know your dimensions are a little different, but if you shoot for a smaller screen size you can get away with a lower bit rate therefore. For professional projects at 640x480 (as an example) you have to use something like 1,200K as your bit rate. Whereas the same video scaled down to 320x240 can look just as high quality at around 500k or so.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...