Playback with VLC and other players
Posted 19 May 2012 - 05:28 AM
Anyway, I've been working on a shot in Adobe Speedgrade, and I'm pretty satisfied.
I do know that most media players (including VLC, which I always use) display black as gray, so a lot of my work gets lost. I've tried just crushing the blacks more, but that gives the picture a very artificial feel. Does anyone know how to compensate so I get the colors I want in the final video file?
Posted 19 May 2012 - 07:21 AM
A lot of the people who write open source software (and Quicktime) have only the sketchiest understanding of video engineering, and often overlook issues like studio range luminance values. Either overlook, or always believe the information in the file, even when that information is often wrong or missing. I've had major, um, encounters with the ffmpeg guys (who write the codec and format libraries used by things like VLC) over this issue and the main problem is that they just don't really know what they're doing - they're mathematicians, not video engineers. There's actually been entire forks of ffmpeg that've been taken to get around these problems.
Posted 19 May 2012 - 10:11 AM
Edited by Casper Buijtendijk, 19 May 2012 - 10:15 AM.
Posted 19 May 2012 - 10:48 AM
Posted 18 June 2012 - 03:15 PM
Source footage with its codec and container -> Video preview in your fav editor -> Rendered output's codec and container -> Players (youtube, mac vs. pc, vlc, etc)
Source of the problem:
Codec's are the cause and solution for the problem. Some codec's require footage to be in the 16-235 (so called broadcast safe) color space. Others work just fine with the 0-255 (so called Computer RGB) color space. Somehow Rec. 709 and Rec. 601 fit in here but I don't think it's too relevant.
How the problem can appear:
The problem appears whenever your video preview in Adobe Premiere or Sony Vegas shows you colors in the 0-255 color space. You make your edits and changes viewing the full color space. Without warning, you choose a codec that only works with 16-235; h.264 for example. You freak out when you see your blacks crushed and highlights clipped when playing on YouTube, Windows Media Player, etc. VLC player shows colors dull and unsaturated.
Problems that confuse "The" Problem:
Different players, such as VLC, Windows Media Player, and QuickTime can incorrectly process 16-235 footage with a slightly different gamma shift. The fix for VLC 2.0 and newer is to go to "Tools / Preferences / Video" and uncheck "Use hardware YUV-RGB conversions". Now, VLC and Windows Media player will show you the exact same color rendering.
How to fix "The" Problem:
Verify what type of source footage you have. Is it 0-255 or 16-235? If it is 0-255 then you'll need to convert it to 16-235 color space. Make sure the video preview in your editor will allow you to do this. When you've made your adjustments and have the look you're after, use a 16-235 compatible codec like h.264. Finally when playing back on a computer, verify the player does not have bugs!
Posted 08 July 2012 - 09:49 AM
How to fix "The" Problem:
Verify what type of source footage you have. Is it 0-255 or 16-235? If it is 0-255 then you'll need to convert it to 16-235 color space. Make sure the video preview in your editor will allow you to do this.
I have Canon 5d2 footage which I'm fairly sure is 0-255. I'm using Premiere but can;t work out how to convert the footage to 26-235 before premiere displays it. Any ideas? Do I have to transcode and lose all advantage of Adobe's no transcode workflow?
Posted 09 October 2015 - 08:16 AM
I know this post is quite old, but since I also found this thread and have the same problem, I want to help others who maybe find this thread.
Sony Movie Studio doesn't seem to care much about the luma ranges, I didn't found any option to correct for it, BUT you can do it manually.
Go to color correction (secondary), and set the gain, offset and saturation values:
Partial to Full:
saturation 1,164 = 255/(235-16)
offset -18,630 = -16*255/(235-16)
Full to Partial:
saturation 0,859 = (235-16)/255
Now probably you preview in full range luma values, so just do the color correction for your preview correctly. And then only for export, at the very end, add the full to partial filter, keep it disabled while previewing and enable it for export. It should look exactly like intended. At least it perfectly cancels out the conversion GoPro studio does from full range to partial range. I don't know if they do it completely correctly, but I guess so.
Same can be done in Premiere I guess, and since I think during the filter stage colors are stored as floats, it shouldn't affect the video quality. It should also work if you use the gain values as contrast instead, but then you will have to use another offset (called brightness).
It's ridiculous how Sony Movie Studio / Vegas seems to be completely unaware of the fact that different luma ranges exist.
By the way, even if you import 0-255 material, the export will still be marked as 16-235, so my solution does not just fake it or anything, it actually does the luma conversion Sony Movie Studio skips. Same problem for imported material in 16-235, it just reads it the same way as 0-255. So I've put the values for both conversions here, in case you first need to add a media filter to bring them all to 0-255 for preview, if you have different sources.
EDIT: You might also be intersted in the fact, that hardware YUV->RGB can indeed be controlled by applications, but it's not really used. However, if you have a HD-HDMI device connected to an nvidia card, it will no longer follow the instructions giving by applications, but always assume the same chroma range. The reason (somewhat) being that it expects HD-HDMI devices to be TVs, which prefer 16-235. If you connect the same screen via DVI everything works as intended (graphics card wise, the players still mess up).
Edited by Marius B, 09 October 2015 - 08:23 AM.
Posted 09 October 2015 - 09:18 AM
Actually VLC did make the red more intense and had a slight difference in brightness in the mids, probably the wrong gamma?, but I now switched the renderer from Direct3D to OpenGL, and now the colors look way closer. PowerDVD has the same image as VLC with software YUV->RGB and OpenGL renderer. The preview seems to be a very little bit stronger in the red, but that could as well be just an illusion because of the low preview quality resolution-wise. If I let Sony Movie Studio export a snapshot of the preview, it looks exactly like in VLC OpenGL.
I also found an option in Sony Movie Studio "change values from studio rgb to computer rgb", this does the partial to full conversion in the preview, so if you have a 0-255 screen, it will look like it's supposed to be, if you are editing in 16-235. It seems to do exactly the same saturation/gain/offset operations I listed in my last post. So my guess right now is that it is useable, but that Direct3D changes the colors for some reason. Or everyone is doing it wrong, and Direct3D is actually correct with its stronger red.
I guess when looking at distributing the video to YouTube etc, things will go crazy again.
Edited by Marius B, 09 October 2015 - 09:21 AM.