5
$\begingroup$

There are probably 10,000 threads and articles dedicated to this and I've read about half of them but none of the suggestions are helping.

My scene has the exact contrast and saturation that I need for an LED promo video I'm working on. But when I upload to youtube (or Vimeo) it completely loses both. I know that youtube reformats and re-compresses, that's not the problem.

It looks like it's reading the video's format as 16-235 and so the contrast gets squashed. But I'm outputting in sRGB color space and I've also tried VD16. I've outputted MP4, MKV, AVI, MOV. I've used H.264, MPG2, and DIVX codecs. Nothing seems to work.

It's actually worse than the gif shows. The screenshot / photo-edit / .gif conversion really degrades the images:

enter image description here enter image description here

Basically, is their another format and/or color space I should be encoding with?

EDIT: The video is comprised of PNG images that were previously rendered and I used Filmic.



EDIT 2: As troy_s states I need to set the range. As I said earlier it looks like it's a 16-235, but I don't know how to set it to 0-255 in Blender. Is there a way to do this?

$\endgroup$
3
  • $\begingroup$ blender.stackexchange.com/questions/24724/… $\endgroup$
    – user1853
    Commented Jul 18, 2017 at 17:58
  • $\begingroup$ I saw that one and that's basically what I'm doing, but it doesn't mention color management. I read one thread that made me think the format might have something to do with it, but I'm more convinced that it's the color space. $\endgroup$
    – bertmoog
    Commented Jul 18, 2017 at 18:04
  • $\begingroup$ I render out a 16 Bit PNG sequence (No Compression). Then re-render that as a Quicktime Lossless H264 for YouTube. $\endgroup$
    – Dontwalk
    Commented Jul 18, 2017 at 20:41

1 Answer 1

4
$\begingroup$

That sure looks like a broken encode. If using FFMPEG, you need to set the range to broadcast and the encoding weights to 709.

If you hunt through the other tidbits here, I explain how broken ranges or double ups will give you exactly what you are seeing.

$\endgroup$
5
  • $\begingroup$ I should have mentioned in my question that I'm animating PNG's in the VSE that have been previously rendered with Filmic. $\endgroup$
    – bertmoog
    Commented Jul 18, 2017 at 20:06
  • $\begingroup$ Please add information or a link for how to set the range in Blender. Thank you $\endgroup$
    – bertmoog
    Commented Jul 18, 2017 at 22:18
  • $\begingroup$ BINAE: Blender Is Not An Encoder. You can't, and are at the whim of the defaults. From the command line, the important configuration is -vf "scale=in_range=full:in_color_matrix=bt709:out_range=tv:out_color_matrix=bt709". Try that please. $\endgroup$
    – troy_s
    Commented Jul 19, 2017 at 19:32
  • $\begingroup$ Aaahahhh, ok, I had no idea that FFMPEG was a piece of software. That's also the file format that I used in Blender which is what I thought you meant. So I got the program and tried what you typed and it further compressed the contrast, like it was the exact opposite of what's needed. So I put "tv" on the input and "full" on the output and changed 709 to srgb and Bam, worked like a charm. I greatly appreciate your help. $\endgroup$
    – bertmoog
    Commented Jul 19, 2017 at 22:09
  • 1
    $\begingroup$ So a few things... You should always generate still images, and then encode. Second, if you have the sources, the stills would be full range, and the output must be broadcast range. I suspect your encode is still broken because I believe your "as is" encode (already broadcast scaled down) is being re-shrunk to broadcast again. It would be subtle, but still incorrect. Render to stills, and use the command line FFMPEG. $\endgroup$
    – troy_s
    Commented Jul 19, 2017 at 22:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .