Incorrect colors when uploaded to Youtube/Vimeo

AlexanderLee1 wrote on 9/26/2015, 6:35 PM
I am getting incorrect colors when I export from Vegas and then upload to Youtube or Vimeo. I have tried rendering in lots of different codecs; different color spaces in the Render settings and Project Properties; and using "Sony Levels" in the FX to convert from Computer to Studio RGB, and the problem always occurs, although using Sony Levels does alter the whites and blacks slightly.

I should note that the video was created from a JPEG sequence, as I have read that sometimes causes problems in Vegas.

The colors in the video exported from Vegas look correct in VLC media player, but when they are then reprocessed by Youtube or Vimeo, they come out too dark. However, if I export video from a different program, such as Blender, it looks correct even after upload to Youtube or Vimeo, so clearly the problem is created by Vegas.

Here are screenshots to demonstrate:
original image (correct colors):
http://i.imgur.com/As7NlfY.jpg

Vegas export viewed in VLC (correct colors):
http://i.imgur.com/70CJHk9.jpg

Vegas export viewed on Youtube (incorrect colors):
http://i.imgur.com/jgDEyTn.jpg

Blender export viewed on Youtube (correct colors):
http://i.imgur.com/90Re1qL.jpg

Comments

musicvid10 wrote on 9/26/2015, 8:31 PM
You forgot to tell us what's inside your "export from Vegas."
Complete render and MediaInfo properties would be most appreciated.
TheHappyFriar wrote on 9/26/2015, 10:24 PM
Yes, we'd need to see an exported file from blender & vegas to see any differences. Could be the codec you're using from Vegas.
Soniclight wrote on 9/27/2015, 12:14 AM
I've been absent from this forum for it's been quite a while since I've done any video or editing, so I don't know who knows what. But to follow up on what musivid10 wrote:

"You forgot to tell us what's inside your "export from Vegas."
Complete render and MediaInfo properties would be most appreciated."

Just in case you don't know what Mediainfo is, it's a handy, small freeware tool that gives a very detailed profile of just about every media file codec type there is. You can download it here: MediaInfo

Also, it's best to use live links for images, video, etc. See this sticky page on the forum for the simple codes to use for such purposes.
And/or ...

Use the more GUI option by creating a bookmark next to your Vegas forum one (I named mine "REPLY") by copying and pasting the below entire code: it turns your message into one with basic buttons for fonts (bold, italic, underline, etc.), links, image links, etc. without having to paste in or write out the code at the sticky page.

Once you open up a message box here at the forum, hit that bookmark and it will add the stated options, divided into two sections: A) text box you are writing in, and B) the WYSIWYG what it looks like below it with whatever options you've chosen.

Here is the code to create that GUI option bookmark for this forum (and others here at Sony) -- copy the ENTIRE line and put it in as the URL of that bookmark:


javascript:(function(){var h=document.getElementsByTagName('head')[0],e;e=document.createElement('script');e.type='text/javascript';e.src='http://madison.thewikies.com/sonyforumpreview/bookmark.js';h.appendChild(e);e=document.createElement('link');e.type='text/css';e.rel='stylesheet';e.href='http://madison.thewikies.com/sonyforumpreview/bookmark.css';e.media='screen';h.appendChild(e);}());

AlexanderLee1 wrote on 9/27/2015, 5:52 AM
Thanks for the help!

Here is the information from MediaInfo for the Blender video file (this is just a webpage, not a download):
http://www.pasteall.org/61356/text

and here is the info for the Vegas file:
http://www.pasteall.org/61357/text

I'm guessing the BT.709 color setting has something to do with the problem, but I don't know how I would edit that. Here are the Vegas render settings format:
Audio: 384 Kbps, 48,000 Hz, 16 Bit, Stereo, AAC
musicvid10 wrote on 9/27/2015, 6:41 AM
If you want your video to play at the same levels as your source image, appears on your monitor, place the Computer->Studio RGB filter on the output (preview effects).

To make it play back the same on different players, disable "Dynamic Contrast" controls on your video card or teevee or wherever they may be.

That said, your source levels appear flat, occupying ~ [32, 235] of the RGB range, which is [0, 255]. I don't know why setup levels were applied to a still image -- this normally is not done.
JohnnyRoy wrote on 9/27/2015, 7:18 AM
> "The colors in the video exported from Vegas look correct in VLC media player, but when they are then reprocessed by Youtube or Vimeo, they come out too dark."

Let's look carefully at the facts in this statement because I came to a different conclusion:

(1) Vegas rendered it correctly
(2) VLC displayed it correctly
(3) YouTube did not display it correctly.

My conclusion is that there is something wrong with YouTube and not Vegas Pro since VLC has no problem with display properly. In fact, we have been over this 100's of times on this forum. It's not anything YouTube is doing to the file... it is the YouTube PLAYER that is expanding the levels. If you download the file from YouTube, I'm guessing that the file will once again play fine in VLC. This was the shocking part for most of us. We thought YouTube was messing up the encoding on their end but it's just their player that makes the wrong decision when playing the file.

> "I'm guessing the BT.709 color setting has something to do with the problem, but I don't know how I would edit that."

I'm guessing you are on to something there. BT.709 (Rec. 709) is the HD TV color space. When the YouTube player sees this it thinks it needs to expand the HD TV Studio RGB to Computer RGB. I'm guessing that Bender uses RGB for all of it's encoding and the YouTube player knows it's already computer RGB and leaves it alone.

Try rendering to a codec like Lagarith (AVI) and set it to force RGB output. That might trick the YouTube player to not alter the output.

~jr
farss wrote on 9/27/2015, 8:38 AM
[I]"
I'm guessing you are on to something there. BT.709 (Rec. 709) is the HD TV color space. When the YouTube player sees this it thinks it needs to expand the HD TV Studio RGB to Computer RGB. I'm guessing that Bender uses RGB for all of it's encoding and the YouTube player knows it's already computer RGB and leaves it alone."[/I]

Yes,
YouTube supports direct uploading from a video camera and live streaming. It's reasonable that its player would expand Rec709 so it displays correctly on computer screens.

This whole "levels" saga with Vegas is probably one very good reason SCS have finally admitted Vegas is irreparably broken and best to give up on it and start again from scratch. The implications of how Vegas incorrectly decodes Rec 709 etc. into it's pipeline are considerable. Trying to do basic compositing in Vegas is a nightmare that'd now be impossible to fix without breaking everything else.

Bob.
musicvid10 wrote on 9/27/2015, 3:41 PM
There isn't any proprietary "YouTube Player." That is urban myth.
YouTube invokes Flash or HTML5, depending on your browser interface.
FFMPEG (VLC) wouldn't normally disagree on the levels, excerpt VUI support in VLC works unpredictably.
Blender probably writes VUI stamps, while Vegas can't. Thus one can see the short explanation offered above might actually be the correct one.
TheHappyFriar wrote on 9/27/2015, 7:50 PM
Apples are being compared to oranges here. You need to render to the same codecs/settings to see what's wrong, if anything. Could be an issue with the code you're using in Vegas. Render to the same codec from Vegas as you did in Blender. Then see what happens.
musicvid10 wrote on 9/27/2015, 8:13 PM
Vegas renders to Mainconcept.
Blender renders to x264.
They are indeed, different codecs that support different feature sets.
Sorry, but you missed the point.
TheHappyFriar wrote on 9/28/2015, 6:01 AM
I was under the impression that something is being rendered differently in Vegas vs Blender. That's a valid conclusion but the same codec & settings weren't being used to start with so no one can say if it's the codec or Vegas. Render out both to something both supports (like Quicktime-PNG) then upload. That will eliminate any possible codec issues vs Vegas issues.
musicvid10 wrote on 9/28/2015, 7:22 AM
As Bob pointed out, it's caused by the Vegas output levels behavior that has been around since the beginning of time. Those levels are determined in the processing engine, before the stream reaches the encoder. The rest are just flags, and it is fundamentally important to understand that. The codec does not change the encoded levels; encoder and h/w flags can and do affect playback levels, either correctly or incorrectly, along with some other things.

I only pointed that out because native levels differences "may" also be compounded by VUI/DC filters in the playback chain. This is based on the original description. Those are what are codec-dependent, NOT the encoded output levels.

Rendering both to an RGB codec doesn't provide a lot of useful information, since RGB encoders and decoders DO NOT employ second- and third- tier playback flags. So yes, it is apples and oranges. I agree completely (still).

Providing actual source sample media instead of player screenshots would establish this straightaway, and I predict the results would come as a surprise to no one, including you. Following two simple steps "should" have made the quagmire of speculation surrounding the question unnecessary (but it was still fun, wasnt it?).

Sorry, but there is no mystery here; moving along.
AlexanderLee1 wrote on 9/29/2015, 4:48 PM
John Rofrano (JohnnyRoy) was correct, the problem is that some video players think the color space is different than it is. This isn't a problem that can be fixed using the Sony Levels - that has a much more subtle effect.

I just tried using the lossless Lagarith codec with forced RGB, and it does work correctly even when viewed on Youtube or in Windows Media Player. The file size is about three times the size of the mp4, which will make uploading somewhat slower, but otherwise it's a great solution for now.

Now I guess I need to find a codec that supports lossy compression and forced RGB, or else just some way to change the color space tag in the mp4 files I render from Vegas.
kris-f wrote on 9/21/2016, 10:57 AM

Hi, can you pls elaborate how to "force" it to RGB. I have downloaded lagarith and set my render to avi and set my codec to Lagarith and set to RGB. Fortunately I was able to play my video both VLC and WMV without any problem. However when uploaded to youtube, the colors are incorrect and lightning changes every frame.

Video:
2D motion Graphic
Rendered in Blender as PNG RGB

25 fps
Imported to Sony Vegas
Avi Lossless Lagarith Codec
RGB

*EDIT*

I Found out the Problem. There was no problem in video format at all. The problem was my Laptop. Some Settings should be change in VideoCard or in Intel 

firefighterontherails wrote on 4/7/2017, 5:30 PM

OK Guys, I resolved it out! Try to play YouTube on different web browser. In my case, playing my video on Chrome, YouTube do color madness but when I use Edge browser, it plays propertly! Conclusion? YouTube is broken, so don't worry about your renders! So much time I lost for looking for the answer....  

kris-f wrote on 4/7/2017, 7:40 PM

OK Guys, I resolved it out! Try to play YouTube on different web browser. In my case, playing my video on Chrome, YouTube do color madness but when I use Edge browser, it plays propertly! Conclusion? YouTube is broken, so don't worry about your renders! So much time I lost for looking for the answer....  

You are right about not getting worry about the render. But to correct you, YouTube is not broken. It is something to do in Intel/Nvidia or other video cards. Based on my research the problem is the video player in YouTube that couldn't play the video as FULL RGB thus the color changes. This is because the PC or Laptop's Video Setting is not set as Full Range RGB or so. It is a common problem in Win 10.

For Intel:

  • Go to Intel HD Graphic Control panel
  • Video Settings
  • Color Enhancement
  • Input Range --> Use Driver Settings --> Full Range RGB

For Nvidia:

  • Right click the browser
  • Then, *Run with graphic processor --> High-performance Nvidia processor*

You can do whether to change Intel's control panel or Nvidia's. I tested my video in other devices and there was no problem.

In my case I solved it by running the Browser as High-performance Nvidia processor. I have both Intel and Nvidia. So I didn't need to change my Intel Video Setting.

firefighterontherails wrote on 4/8/2017, 4:28 AM

OK Guys, I resolved it out! Try to play YouTube on different web browser. In my case, playing my video on Chrome, YouTube do color madness but when I use Edge browser, it plays propertly! Conclusion? YouTube is broken, so don't worry about your renders! So much time I lost for looking for the answer....  

You are right about not getting worry about the render. But to correct you, YouTube is not broken. It is something to do in Intel/Nvidia or other video cards. Based on my research the problem is the video player in YouTube that couldn't play the video as FULL RGB thus the color changes. This is because the PC or Laptop's Video Setting is not set as Full Range RGB or so. It is a common problem in Win 10.

For Intel:

  • Go to Intel HD Graphic Control panel
  • Video Settings
  • Color Enhancement
  • Input Range --> Use Driver Settings --> Full Range RGB

For Nvidia:

  • Right click the browser
  • Then, *Run with graphic processor --> High-performance Nvidia processor*

You can do whether to change Intel's control panel or Nvidia's. I tested my video in other devices and there was no problem.

In my case I solved it by running the Browser as High-performance Nvidia processor. I have both Intel and Nvidia. So I didn't need to change my Intel Video Setting.

I don't have "Run with graphic processor" menu content after click on Chrome icon. (nvidia user)