Hi guys!
One thing beforehand: If my question was already answered: Sorry. I tried to find a solution myself and if you read the whole post, I hope you MIGHT agree with me.
Alright. Let's get started.
I use OBS mainly for local Screencasts. I want to create high quality Tutorials. Since there's a lot of highlighted text in my video, the difference in color is quite noticble.
After I tried the settings posted in [Guide] How to make high quality local recordings I was surprised that the colors were still wrong. Or to be precise: They looked kinda blurry.
After I tested several settings in OBS I was wondering if the "Lossless" mode of x264 is actually lossless.
- I used crf=0
- I changed the settings of my video driver from 16-235 to 0-255.
- I disabled the hardware YUV->RGB conversion in VLC
The problem remained the same. So there are no playback issues.
But just to have it mentioned:
I placed the video-stream into an AVI-File to check with VirtualDub. And yes, even VirtualDub displayed "blurry colors".
Just in case someone doubts, I merely changed the container, this was my FFmpeg command:
Seems legit to me. After a while I figured out what the problem was. Playing around with other lossless codecs showed me, that there's a problem with the colorspace. I had to change it from YUV to RGB. I tried this with x264vfw and it worked! The "blurry colors" were gone for good.
Now I tried to apply this to OBS so I can finally enjoy recording "True Lossless" with high speed. This is IMHO the main advantage over other software. I tried OBS and I get a very smooth 30 FPS. I can't check the FPS, but the resulting video is way smoother than my recordings with CamStudio i.e.
Guess what. I failed. I was unable to find an option to select the colorspace. Not in the "Encoding" area and not in the "Advanced" area either. So I looked up how to change the colorspace in x264. And I added those setting to the "custom x264 parameters".
Still no luck. It ignored my parameters and used YUV ... again ...
I tried the following parameters:
After so many failures, I looked if I can change the colorspace in OBS using google. I mean ... Maybe someone asked this and I just didn't find that.
I guess I suck at searching. But I didn't find much. I tried the Search-Function of the board and entered "Force RGB" (BTW: I tried "True Lossless" too...).
The only result was a 15 pages thread of an "outdated" version. And from what I saw I realy wasn't able to get this. Sorry for beeing dumb here!
According to Krazy, OBS uses yuv420 instead of RGB.
Long story short: (finally)
Is it possible to have "True Lossless" (RGB instead of YUV)? Or is this "True Lossless" and I just have to convert the colors in some way?
I hope this isn't too confusing. :D
And please ... Don't tell me the "slightly loss of quality" would be fine. If it were, I wouldn't ask for help. ;-)
Thanks in advance. :)
One thing beforehand: If my question was already answered: Sorry. I tried to find a solution myself and if you read the whole post, I hope you MIGHT agree with me.
Alright. Let's get started.
I use OBS mainly for local Screencasts. I want to create high quality Tutorials. Since there's a lot of highlighted text in my video, the difference in color is quite noticble.
After I tried the settings posted in [Guide] How to make high quality local recordings I was surprised that the colors were still wrong. Or to be precise: They looked kinda blurry.
After I tested several settings in OBS I was wondering if the "Lossless" mode of x264 is actually lossless.
- I used crf=0
- I changed the settings of my video driver from 16-235 to 0-255.
- I disabled the hardware YUV->RGB conversion in VLC
The problem remained the same. So there are no playback issues.
But just to have it mentioned:
I placed the video-stream into an AVI-File to check with VirtualDub. And yes, even VirtualDub displayed "blurry colors".
Just in case someone doubts, I merely changed the container, this was my FFmpeg command:
ffmpeg -i obs_video.mp4 -c:v copy -an obs_video.avi
Seems legit to me. After a while I figured out what the problem was. Playing around with other lossless codecs showed me, that there's a problem with the colorspace. I had to change it from YUV to RGB. I tried this with x264vfw and it worked! The "blurry colors" were gone for good.
Now I tried to apply this to OBS so I can finally enjoy recording "True Lossless" with high speed. This is IMHO the main advantage over other software. I tried OBS and I get a very smooth 30 FPS. I can't check the FPS, but the resulting video is way smoother than my recordings with CamStudio i.e.
Guess what. I failed. I was unable to find an option to select the colorspace. Not in the "Encoding" area and not in the "Advanced" area either. So I looked up how to change the colorspace in x264. And I added those setting to the "custom x264 parameters".
Still no luck. It ignored my parameters and used YUV ... again ...
I tried the following parameters:
and after that didn't work, I triedinput-csp=rgb output-csp=rgb
Once again: No luck.-input-csp=rgb -output-csp=rgb
After so many failures, I looked if I can change the colorspace in OBS using google. I mean ... Maybe someone asked this and I just didn't find that.
I guess I suck at searching. But I didn't find much. I tried the Search-Function of the board and entered "Force RGB" (BTW: I tried "True Lossless" too...).
The only result was a 15 pages thread of an "outdated" version. And from what I saw I realy wasn't able to get this. Sorry for beeing dumb here!
According to Krazy, OBS uses yuv420 instead of RGB.
Long story short: (finally)
Is it possible to have "True Lossless" (RGB instead of YUV)? Or is this "True Lossless" and I just have to convert the colors in some way?
I hope this isn't too confusing. :D
And please ... Don't tell me the "slightly loss of quality" would be fine. If it were, I wouldn't ask for help. ;-)
Thanks in advance. :)