0

I get videos that were recorded at a conference, which I have to edit and produce. Usually there is only modest casual lighting, so no production or studio level lighting. During record, the tech has already used some software settings to better the capture1, in addition to the typical iris and gain settings on the camera.

I usually brighten them with ffmpeg using the simple eq filter eg=brightness=0.1, which kind of robs the colors, so I bring them back with eg=brightness=0.1:saturation=1.5. Not always those exact numbers, but that's my starting point and I don't usually change it.

I was thinking that there might be a better way, and I found lut and gamma. In some experimentation, I ran the following three:

  • lut=val*1.2,eq=saturation=1.5
  • eq=gamma=1.2:saturation=1.5
  • eq=brightness=0.1:saturation=1.5

All of them get the job done, but with nuanced quality differences. lut produced the best, brightness the worst, and gamma was somewhere in between. Primarily, brightness kind of puts a screen on the video, like wearing tinted glasses, except instead of changing color it makes it appear brighter but also just kind of whiter. gamma does it also, but less noticeably. lut probably also does it, but it's not very noticeable to me. I wonder if I fiddled more, I'd prefer gamma or brightness over lut, but for now, lut is the clear winner.

Here's the thing: I don't really know what these do behind the scenes. If we start off with a color value on a given pixel, what does brightness=0.1 do to it, for example? Also, why do all of them diminish all the colors, making me want to use saturation as well?


Footnote

  1. They are recorded in vMix at 1920x1080. The settings that were changed are in the "Colour Adjust" tab (for individual inputs). The "Black Stretch" and "White Stretch" were raised and lowered, respectively, and the "Saturation" was raised. Was this wrong? Should records that will need color correction only be corrected in post, because of loss of information or something?

  2. And in making sure I don't post a duplicate question, I just discovered curves, which is purportedly more friendly to changing pixel formats. That is a concern, since sometimes I mix in jpeg and png images of all kinds of varieties.

1 Answer 1

2

Here's what all these settings do, typically. Some pieces of software define or apply them differently, but this should give a general idea.

  • Brightness simply changes the brightness value of each pixel, by increasing or decreasing the red, green, and blue values equally. For example, when brightness is increased, blacks may become a dark gray and white or near-white pixels may "clip" and become completely white. It affects the entire image uniformly, and applies the same adjustment to each pixel.
  • Gamma is similar to brightness, except it adjusts the values on a curve. So, how bright the pixels were initially determines how much they will change in brightness, but the red, green, and blue channels are still adjusted together. How exactly this modifies your image depends on the gamma curve that your software is using. Gamma adjustment is typically used to make colors look more true to life when there's a mismatch between how a camera captures video and a monitor displays it.
  • LUT stands for "Look Up Table". It applies modifications to each pixel depending on their original color, and does not change the red, green, and blue channels uniformly. It sounds like in your software it has a built-in LUT, and you're simply changing its intensity. Different LUTs will create different image looks, for example some may enhance certain colors or change the tint of the entire image.

When you increase your brightness, images start to lose their color because of clipping- a red pixel, for example, may be fully red. Increasing the brightness on this red pixel would make it seem less saturated because you're increasing the green and blue channels, but not the red channel since it's already fully on. As colors get brighter, they simply get closer to white. This makes the image seem duller.

When you increase the saturation, it moves each pixel "further" from white. You can visualize this by looking at a color wheel. Saturation essentially places every pixel of your image on a color wheel, and then moves them radially outward towards a more extreme color. So, if a color approaches white when you turn the brightness up, you get some color back by increasing the saturation because this undoes the clipping effect of the brightness.

3
  • Thank you. Very informative and easy to understand. If I want to know specifics about ffmpeg's LUT filter, I'll ask about that specifically. I can see how color adjustment could be a specialty, with all this info here.
    – user3643
    Commented May 28 at 17:26
  • I wonder now if I can design my own lut, that fits my typical needs...
    – user3643
    Commented May 28 at 17:34
  • 1
    You absolutely can!
    – Cam
    Commented May 28 at 17:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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