I have a video with a gradient background, with silhouette vector animations on top. The gradient therefore stays exactly the same throughout the video.

However, rendering the video as mp4, I'm having considerable trouble with banding in the gradient. There should be enough of a difference to have a color for each pixel, yet the gradient in the video looks like it's from the good ol' days.

Are there any settings or tricks I could use to avoid gradient stripes in my video? My aim is to match the video's gradient as closely as possible with the gradient background displayed on the website it's supposed to be embedded on.

Thanks in advance!


Banding isn't uncommon in compressed video files, and can is exacerbated by the type and level of compression...there's also the bitrate of the original file and the final output. Lot's of points along the chain can cause banding. But I'd guess it's in your final output.

What software are you using for rendering/conversion, and what are the render settings you are using?

Are you keeping the video on Vimeo or YouTube? If so they both have great FAQs for how to best render/compress videos for uploading, but the settings are a decent balance of economy of space vs. video quality. The FAQ on Vimeo is my personal favorite, and should do you well for both platforms.

Here is a great video (which may not apply in this case) dealing with banding and fixes, particularly if the banding is in your original/source file.

  • Thanks for your response! I'm using After Effects to render. The gradient (along with the animation itself, of course) is rendered from Flash in a top quality jpeg image sequence, so the original source contains no banding. I'll tell you the render settings I'm using when I get back home. I'm probably going to use Vimeo to host the video. – Emphram Stavanger Apr 18 '12 at 15:35

If you are using the Ramp effect then you can increase the Ramp Scatter value which helps decrease banding.

enter image description here

Also working in 16 bit or 32 bit rather than 8bit can also help!


I found that you get better results from gradients in AE when you run in floating point, i.e. 16 or 32bit and output those very bits to the encoder. This means not introducing banding by downsampling it to 8 bit before sending it to the encoder, or even the internal Adobe encoder in AE (which is crap for low bitrates).

On the Mac, you might want to export to ProRes HQ and then use the x264 Component in Compressor to directly input flawless gradients into the encoder. You still will always get banding in h.264, but less visibly.

Also, when shooting for Blu-ray distribution, good old MPEG2 seems to work better than AVC.

  • Thanks for your answer! Could you expand a bit on what you mean with the floating point method? I'm on a PC so all the Mac magic won't do :) – Emphram Stavanger Apr 30 '12 at 22:38
  • 1
    All I'm saying also works on the pc, in principle. You want to keep your animation in 24 or 32 bit as long as possible. You don't want to feed degraded, banded 8bit material to a lossy encoder. So, find a way to export the animation to a file format and codec that supports floating point depth, eg 32bit. And an encoder that supports that input format. This may be done within AE's render queue, but for my taste, the h264 encoder from adobe doesn't cut it. – THM May 1 '12 at 10:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.