Colors flicker and change after upload to Shotcut

Hi. I could not find a solution on the forum, so I decided to ask. All replies appreciated.

The original video looks fine, but after uploading it to Shotcut, the colors start flickering/changing. It happens as soon as the video is uploaded to Shotcut. The preview scaling is not enabled.The video exported from Shotcut also has the same issue. Please take a look at the attached original video and the video that Shotcut makes. Thank you


I wonder if it is just aliasing those thin lines.

In the player settings, have you tried setting the interpolation to the highest quality?

For the export, there is a similar setting:

1 Like

Show the Properties of the input video and explain how you are exporting.

I downloaded the Original.mp4 via the web browser, and it flickers for me when playing in mpv and ffplay video players on my Linux machine. Likewise, I see a flicker when playing it on the web page in Firefox. Likewise, it still flickers a little when viewed fullscreen on my iPhone, which has a Retina screen and will use more pixels than the video resolution to render it.

I see it was created by “Microsoft Game DVR” and “PowerPoint Slide Show”. This suggests to me you do understand that video cult filled are not typically RGB. Rather, see in Shotcut Properties > Video > Format = yuv420. That means that chroma is subsampled.

I’ll let Google Search AI explain this to you:

Chroma subsampling is a video compression technique that reduces the amount of data needed to represent color information by sampling color data (chroma) at a lower rate than brightness (luma), leveraging the human eye’s lower sensitivity to color detail. [1, 2, 3, 4]

Here’s a more detailed explanation: [1, 2, 3]

  • Why it’s used: Chroma subsampling is used to reduce file sizes and bandwidth requirements for video, as the human eye is less sensitive to changes in color than changes in brightness. [1, 2, 3]
  • How it works: Instead of storing full color information for every pixel, chroma subsampling reduces the resolution of the color data while maintaining the resolution of the brightness data. [1, 3]
  • Common formats: The most common chroma subsampling ratios are 4:4:4 (no subsampling), 4:2:2, and 4:2:0. [2, 5, 6]
    • 4:4:4: Full color information, no subsampling, highest quality but largest file size. [2, 6]
    • 4:2:2: Halves the horizontal chroma resolution compared to luma, good quality with a smaller file size. [2, 5, 6]
    • 4:2:0: Halves the horizontal and vertical chroma resolution compared to luma, good compression with a slight reduction in quality. [2, 5, 6]
  • Impact on video: Chroma subsampling can lead to visible artifacts, especially when viewing text on a colored background, or when the subsampling is too aggressive. [6, 7]
  • Example: In the 4:2:2 format, for every four pixels of luminance information, there are two pixels of chrominance information in both the horizontal and vertical directions. [8]
  • YUV vs. YCbCr: In digital video and photography, the brightness component is usually denoted Y, and the color data is called chrominance or chroma, consisting of two components: Cb (blue projection) and Cr (red projection), which are combined to form YCbCr. [4]

Generative AI is experimental.

[1] https://www.pcmag.com/encyclopedia/term/chroma-subsampling

[2] Chroma Subsampling Explained: Giving a Little to Save a Lot

[3] Chroma Subsampling - Gumlet

[4] https://www.makeuseof.com/chroma-subsampling-what-is-it-why-does-it-matter/

[5] Chroma Subsampling Techniques

[6] https://www.cablek.com/chroma-subsampling-4-4-4-vs-4-2-2-vs-4-2-0

[7] Chroma Subsampling: 4:4:4 vs 4:2:2 vs 4:2:0 - RTINGS.com

[8] What is chroma subsampling?

[-] What is chroma subsampling?

If I go slowly 1 frame at a time on the original video I can still see flickering so I think after re-encoding in shotcut this is more visible due to pixel color accuracy choices made by the encoder (probably related to Dan’s explanation about chroma above).

If you choose a very large quality export preset (try the intermediate DNxHR for example) do you still see the flickering? For me DNxHR is identical to your Original.mp4.

Thank you for the replies. I just want to have the output quality to be similar to the input. Setting interpolation to Lanczos and codec quality to 65 makes it 60/70% better.



I am attaching the settings’ screenshots.

The original video has aliasing, when converted a second time, it will get worse (aliasing never gets better). There’s also a hue shift which suggests a forgotten matrix between colour spaces or incorrect signalling in a video file. (Probably BT.601 to BT.709 - looking at the screengrab)

The Google AI is mixing Luminance and Chrominance and Luma and Chroma - they’re not the same thing.