CartVisual
Sign inCreate account

Product videos / PRACTICAL ANSWER

Why Do My Product Video's Blacks Become Gray After Transcoding?

Black levels can shift when a video encoded or interpreted as full range is decoded as limited range, or the reverse. This is a sample-range problem, not necessarily a gamma, HDR or creative-grade problem. Compare the source and transcode with a known grayscale fixture before adjusting the product's contrast.

01 / WHY DO MY PRODUCT VIDEO'S BLACKS BECOME GRAY AFTER TRANSCODING?

Understand the two signal ranges

Digital video may use different numeric ranges to represent picture levels. In an 8-bit limited-range YCbCr signal, nominal luma black and white commonly correspond to code values 16 and 235. Full-range 8-bit luma uses 0 through 255.

FFmpeg's official filter documentation identifies these alternatives as limited or TV range and full or PC range. It exposes explicit input-range and output-range controls in its scaling and color-conversion filters.

The critical distinction is between interpreting an existing signal and converting it into another range. Merely changing a metadata label does not necessarily transform the encoded sample values. Applying a conversion to data that was already converted can create another mismatch.

Do not confuse luma code values with display RGB values. A correctly decoded limited-range black can display as black after the proper expansion. The problem occurs when the decoder and the actual encoded signal disagree.

02 / WHY DO MY PRODUCT VIDEO'S BLACKS BECOME GRAY AFTER TRANSCODING?

Build a controlled source-to-output comparison

Preserve the original video and the first transcode. Inspect the pixel format, color-range metadata and relevant encoding settings using a tool that exposes them. Missing or contradictory metadata is a reason to investigate, not permission to guess.

Use a known grayscale test pattern or a verified neutral region alongside the product. Compare the same frame in the source and transcode after a documented decode, keeping the viewer and color-management settings constant.

If the source and transcode differ, identify whether the output was explicitly range-converted, merely tagged differently or decoded under a different assumption. Inspect both the actual sample values and the declared range where the tool permits it.

Do not conclude that every lifted black is a range problem. Gamma interpretation, color transforms, unintended creative contrast changes and platform processing can also affect the appearance. A controlled grayscale fixture helps isolate the range branch.

03 / WHY DO MY PRODUCT VIDEO'S BLACKS BECOME GRAY AFTER TRANSCODING?

Correct the range once, at the right stage

FFmpeg documents explicit in_range and out_range options for relevant filters. These are technical controls for a known input and intended output, not universal settings to apply to every file.

Once the actual source range is established, configure the conversion route so the encoded values and output interpretation agree. Make a short named test and compare the grayscale reference and product shadows with the untouched source.

If the source metadata is unreliable, consult the camera or upstream encoder's recording specification. Do not set the range according to which version makes the advertisement look richer. Such a choice could crush legitimate shadow detail or wash out a dark product finish.

Check the final exported file and the intended player. A correct local conversion does not establish that every publishing platform will preserve the same signal representation.

04 / WHY DO MY PRODUCT VIDEO'S BLACKS BECOME GRAY AFTER TRANSCODING?

Hypothetical case: a black cosmetics carton

Hypothetical signal-level exercise; no file was transcoded or measured. A fictional cosmetics advertisement contains a black carton beside a grayscale reference. Its source is stipulated to contain correctly identified limited-range YCbCr data.

Candidate A interprets the limited-range samples as full-range values without the appropriate expansion. The nominal black code can then appear lifted. Candidate B decodes the limited-range source correctly and produces an output whose values and range declaration agree.

B is the appropriate technical route, subject to inspecting the actual decoded output. A third branch with unknown source range remains on hold until the recording specification or trustworthy signal evidence is available. The exercise does not establish the cause of a real merchant's gray blacks.

05 / WHY DO MY PRODUCT VIDEO'S BLACKS BECOME GRAY AFTER TRANSCODING?

Record your own observations

The filled rows are illustrative examples. Use the blank row for your own files and observations.

Hypothetical caseActual source rangeInterpretationExpected black behaviorDecisionRequired evidence
Black carton ALimitedIncorrectly treated as fullPotentially lifted blackRejectInspect decoded levels
Black carton BLimitedCorrectly decoded and convertedIntended black preservedConditional candidateCheck output values and metadata
Unknown sourceUnestablishedAssumed from appearanceIndeterminateHoldObtain source specification

Download the editable CSV worksheet

06 / WHY DO MY PRODUCT VIDEO'S BLACKS BECOME GRAY AFTER TRANSCODING?

What the references establish

  • FFmpeg — Filters Documentation: Primary documentation for input and output YCbCr range controls, including full and limited 8-bit luma ranges. Supports the central signal-range mechanism.
  • FFmpeg — Command-Line Tool Documentation: Primary documentation for transcoding and stream processing. The grayscale fixture and approval sequence are original editorial guidance.
Published by CartVisualPublished Updated Evidence and editorial policy
SOURCES & SCOPE

Sources and further reading

Recorded source-review dates are listed individually below. An undated source does not inherit the article’s publication date. Software and platform rules can change; check the current original before acting.

QUESTIONS, ANSWERED

Frequently asked questions

Are limited-range blacks supposed to look gray?

No. Properly interpreted limited-range video can display black correctly. Gray-looking blacks can arise when the numeric values and decoding assumptions disagree.

Should I fix the issue by lowering the black point?

Not before checking the signal range. A creative contrast adjustment can conceal an interpretation error and remove legitimate shadow detail.

PREPARE ASSETS FOR YOUR NEXT STEP

Create supporting product assets in CartVisual.

Create new product creative assets in the workspace, then continue in your chosen tools. Third-party software procedures described in this guide take place in those applications; this workspace link does not imply an integration. Check current capabilities, account access and credit quotes.

Create account and open this workspace Check pricing and credits

Start with free concept and copy planning after sign-in. Image and video generation require available credits; review the quote before starting.

Already have an account? Open the workspace.