[Help] Colours change after exporting animation.

Hello,
When I export my animation it for some reason changes the color of the animation.
I have no idea how to fix this.
Please Help.

It’s not a good idea to add your problem onto the end of another topic, especially an old one, even if it seems similar.
It may be that @tiar or @raghukamath would prefer this to be split into a new topic.

Are you rendering your animation to an .mp4 output file or to an animated .gif output file?
In what way is the colour changed?
If it looks ‘washed out’, have you tried checking and adjusting the options for the .png sequence and the videooptions as previously noted?
Is your animation made using the RGB/A 8-bit default colour profile?

Can you upload a screenshot or example image to show the problem you’re having?

If you create a new non-animated image and export it to .png and/or .jpg, do the colours show as ok when that exported .jpg/.png image is opened in krita or in your file image viewer?

The most probable reason is that either in PNG images settings or video settings there is “HDR” option selected.

I am rendering my animation to a .mp4
the color seems to be lighter when i rendered the animation
Im using RGB/A 8-bit default color profile.

(Lookie Here)

The "save as HDR image (Rec. 2020 PQ)’’ is not selected

For the ‘rendered’ part of the image above, did you get it from one of the intermedate .png images or did you extract it from the .mp4 file?

If you got it from one of the intermediate .png images then there is a slight problem with image export to .png.
Are any other options selected in the image sequence options for .png?

If you extracted it from the .mp4 file then that would be a small problem with ffmpeg.

the ‘rendered’ part was extracted from the mp4 file.
So should I delete my ffmpeg I have now and download a new one?

I don’t think you should because they all come from the same source code anyway.

The critical question is, do the intermediate .png files look ok? If they do then things are as accurate as they can get.

.mp4 files are heavily compressed and it’s not surprising that they lose some fidelity, either as slight colour shifts or loss of sharpness in some areas.
The slight colour changes you see are minor compared to the problems that some people have had with the incorrect options for .png and video rendering.
Even if you try .mkv output, they all use the same basic compression techniques.

so you’re saying that I can’t fix the color change

I’m saying that the cause of the colour change is most probably the less than perfect accuracy of the .mp4 file content, as produced by ffmpeg.

To be sure of that, you’d need to check one of the .png intermediate files. Just make a short animation using the ‘Both’ option with a small number of frames and have a look at them.
If it’s the intermediate .png files that have the small colour shift then the cause of the problem is inside krita. I’d be surprised if that was the case.

If it’s ffmpeg then there is a very small possibility that you’d get a better result by choosing a different file output format or a different codec, rate factor, preset or profile in the options.
If you’re really bothered by the colour changes then you could try all that.

It’s mainly the .mp4 file which has the color wrong. The .png files look exactly how they are supposed to.

Are you sure you don’t have HDR selected in the video options then? Because both can have it… (very annoying, I know. There should be better sanity checks in that dialog).

If HDR was selected in the video options then the colours would have a very obvious ‘washed out’ look.

Given that the .png intermediate files look identical to the original animation frames, you’d think it must be happening in ffmpeg.
There is a faint possibility that the .png Export and the .png Rendering options have some differences, maybe in the colour profile settings and this has an effect on ffmpeg. I don’t know about this area.

Are the .png Export options identical to the .png Render options?

I’ve just made an .mp4 animation using your original image and I had none of the options enabled in .png Export and .png Render.
The intermediate .png files and the .mp4 frames had identical colours and the only difference was slight blurring/smoothing at region boundaries, as would be expected for .mp4.

I used Scott Petrovic’s Animation Video Reference plugin to import the .mp4 frames into krita for examimation.

My ffmpeg is the Linux build, as linked to from the ffmpeg website.

So, are your .png Export and Render options identical? What are they?
Which ffmpeg do you use?
How did you extract the .mp4 frames for examination?

I’m using Zeranoe’s Windows ffmpeg build which I found on the ffmpeg website but Zeranoe’s Windows build is now unavailable.

for my .png and render options-
I’m having the animation rendered as a MPEG-4 video with the preset as as medium and the profile as baseline with no custom options and a constant rate factor of 1. Also above the constant rate factor there is a option for something and it says that I have H.264,MPEG-4 Part 10 selected.

and I have nothing selected for the .png options I have nothing selected with a compression lossless of 1.

and when I extracted the .mp4 frames I just took a screenshot of the video frame I wanted to send to you.

Sadly, Zeranoe has stopped building ffmpeg but alternatives are now linked to from the main ffmpeg site:

I have a feeling that you’ve taken a screenshot of a paused video player while it was playing the .mp4 output file. Is this the case?
If so, you’re at the mercy of the video player that you’re using.
Krita (and ffmpeg) can not be responsible for the performance and fidelity of any video player that is used to play the output .mp4 file.

You could try a different video player. VLC is very good and well regarded and is free.

Yes I did just take a screenshot of a paused video player while it was playing the .mp4 output file.
I put the rendered animation into VLC media player and unfortunately the color was still the same as before.

Can you make the .mp4 file available via a file sharing service/website?
If you don’t want to share it with the world then you can send me the link in a private message.
Can you also send a link to share just one of the intermediate .png files as produced during rendering. I intend to have a close look at them to satisfy my curiosity.

Something you could do, just to make sure it’s not a problem (which it really shouldn’t be) is to download and use the Gyan build of ffmpeg instead of your current Zeranoe build, then see if the rendered output from that gives you the same problem.

Ok I can share the mp.4 to you but I would not like it to be posted online.
I can also watch a tutorial of some kind to learn how to download Gyan’s build of ffmpeg.

here is one frame from the .png files

I can understand why you don’t want the world to see your final product.
If you don’t have a personal GoogleDrive/Dropbox/etc service then you can use this file sharing site: https://ufile.io/
It’s free, no login, anonymous, files deleted after 30 days and only the person you give the link to can download the file.
Also, please share that .png file directly to me via the file sharing service, just to be sure that I have exactly what you have.

As for the Gyan ffmpeg build, it’s here:
https://www.gyan.dev/ffmpeg/builds/ffmpeg-git-essentials.zip

Just download it, Extract it and use it exactly as you did the Zeranoe build.
It’s going to be the thing to use from now on so you may as well get used to it.

Ok, no need for all that.
It’s your video player. It’s my video player. It’s most probably everybody’s video player.
I’ve just made .mp4 videos from your posted .png file above using Linux with a Linux ffmpeg build and Windows 10 with the Zeranoe ffmpeg build.
I used a software frame extractor (as noted earlier) to pull the frames out of the .mp4 files for examination in krita.

At every step of the way the image content was the same (except that the extracted .mp4 frames had slight colour shifts of less than 1%, which I think is not surprising when you do massive lossy compression followed by extraction).

Screenshots of a paused VLC player showed the colour shifts that you’ve noted.
The players may be deliberately set up to give a more ‘punchy’ and ‘vibrant’ image to satisfy the consumer mass market.
Whatever it is you’re stuck with it.

1 Like