Skip to main content
Participating Frequently
January 21, 2025
Answered

Color mismatch when exporting project with solid color (After Effects)

  • January 21, 2025
  • 2 replies
  • 2045 views

I am unsure if it is a bug or an exporting issue going over my head, but I am creating some basic animations for a client; however, no matter what I do, the solid background color changes to the wrong hex value.

I know this is not a media player issue because the issue remains the same if I export it as a .mov (ProRES) or .mp4 (H.264). I bring both exports to After Effects and confirm using the eyedropper. The correct Hex code value I am looking for is #1414D2 (it's blue). However, my exports bring out #1314D1. Which is very close, but my client is VERY SPECIFIC.


I watched this video (VIDEO) as well as others that seemed to help with the issue, but this still didn't solve it.   
 

I've changed color settings and export settings, the opacity of the solid/shape (making sure it is 100%), working color space, project settings, bit depth, assuming working gamma, output module settings, bit rate settings, preserve RGB (on/off), and I have watched tutorials with people running into similar issues. I remain without a solution. I also provided a video example showing a glimpse of my issue. 

I feel like I have tried everything, I even tried exporting the corresponding value above the hex #1414D2, in this case, it's #1514D3 to try and counter it in the export, but that was a failure. Especially in the sense that it shows up correctly as #1514D3 despite me changing nothing.

Thanks to anyone who can help!

Correct answer Shebbe

Hey @Clay Morris ,

Disregarding the various intricacies in color management and video content for web distribution (which can impact appearance a lot and isn't always in your control). The exact reason you're seeing value differences in your test case specifically is due to precision errors you cannot get around.

After Effects and pretty much any other video/image/color manipulation software works in RGB but most video formats encode in YUV. When you work in 8/16bit RGB and export to 8bit YUV, then import it back converting that data to 8/16bit RGB again you lose some precision.

 

This can be mitigated by exporting to an RGB format and/or higher bit depths. Try exporting to ProRes 4444 (RGB), or 422 (YUV) with Trillions of Colors (AE's way of saying 16bit... but it will actually encode a 10bit file which is what ProRes 422 is supposed to contain). This should return the same value once imported again.

 

Your delivery format will end up being an 8bit H.264 MP4 so you will inevitably 'suffer' from this issue but this difference is so small against the world of problems in video distribution for web that it should be ignored. Keep in mind that compression artifacts can also cause color shifts especially with full solid colors that linger for a while, the frame time based compression algorithm (GOP) can actually shift the entire solid quite a bit if compression is high like with very low bitrates. 


The only challenge is trying to explain to clients what exactly is going on and why they shouldn't worry too much whilst keeping them happy:).

Hope that helps.

2 replies

Shebbe
ShebbeCorrect answer
Community Expert
January 23, 2025

Hey @Clay Morris ,

Disregarding the various intricacies in color management and video content for web distribution (which can impact appearance a lot and isn't always in your control). The exact reason you're seeing value differences in your test case specifically is due to precision errors you cannot get around.

After Effects and pretty much any other video/image/color manipulation software works in RGB but most video formats encode in YUV. When you work in 8/16bit RGB and export to 8bit YUV, then import it back converting that data to 8/16bit RGB again you lose some precision.

 

This can be mitigated by exporting to an RGB format and/or higher bit depths. Try exporting to ProRes 4444 (RGB), or 422 (YUV) with Trillions of Colors (AE's way of saying 16bit... but it will actually encode a 10bit file which is what ProRes 422 is supposed to contain). This should return the same value once imported again.

 

Your delivery format will end up being an 8bit H.264 MP4 so you will inevitably 'suffer' from this issue but this difference is so small against the world of problems in video distribution for web that it should be ignored. Keep in mind that compression artifacts can also cause color shifts especially with full solid colors that linger for a while, the frame time based compression algorithm (GOP) can actually shift the entire solid quite a bit if compression is high like with very low bitrates. 


The only challenge is trying to explain to clients what exactly is going on and why they shouldn't worry too much whilst keeping them happy:).

Hope that helps.

Participating Frequently
January 23, 2025

Hey Shebbe,

 

Thanks for the reply, I tried exporting to ProRes 4444 which of course results in a .mov file. Importing this file back into AE works and shows the correct value as you stated. 

I even tried exporting the .mov as an .mp4 (h.264) and got the same #1314D1 value I was receiving already. In the grand scheme of things it should be fine and like you said, it is a small precision error that can barely be avoided. Thanks for the help and for making me feel not crazy.

Participating Frequently
January 21, 2025

I'm also using After Effects 25.1

Kevin-Monahan
Community Manager
Community Manager
January 22, 2025

Hi @Clay27921061c3f6,

Thanks for your message. I see you're having trouble with your output color related to the background color of your comp. Is there any other info we can get from you regarding your system and workflow so that the community can try and reproduce the error? Are you exporting via Media Encoder or the Render Queue. Are there any other media files involved in the comp? Please let the community know. I hope we can help you.

 

Thanks,

Kevin

 

Kevin Monahan - Sr. Community & Engagement Strategist – Pro Video and Audio
Participating Frequently
January 22, 2025

Hey Kevin,

 

Thank you for the kind reply! I'll take you step by step with what I do, as well as include images of my settings.

  1.   I open After Effects as normal
  2.  I create a new composition with the settings I have attached

  3.  I create a NEW-->Solid and enter the hex code value #1414D2

  4.  I then go File-->Export-->Add to Render Queue
  5.  I then change the output module to H.264 - Match Render Settings - 40Mbps (client needs MP4)

      

  6. Render
  7.  I then import the exported render BACK into AE 
  8.  I add it into my composition
  9.  Then I check the color by using the eye dropper tool/character window and it results in being #1314D1

    I am using Render Queue, I've tried media encoder as well and still have the same result. I've tried turning on and off preserve RGB on the output module settings-color. I've tried all bit-depths. I've tried both assuming working Gammas in my project settings of 2.2 & 2.4. I've also trialed different Working Color Spaces, but for this export and most my exports it remains at none. There are no other medial files involved in the project or composition aside from the ones mentioned and shown in my trial.