Resource icon

OBS Studio Video Vectorscopes for program out (windows)

Reaby

Member
Reaby submitted a new resource:

Video Vectorscopes for program out (windows) - Tutorial: Vectorscope for program out

So, we all know OBS doesn't have video vectorscopes, YET.

So, Let me introduce my solution to solve this problem.

Tools you need

How to use this

Go to your ffmpeg/bin folder and make following file files:

Analyser.bat
Bash:
ffplay.exe -f dshow -i video="OBS-Camera" -vf...
Read more about this resource...
 

Reaby

Member
The resolution of the oscilloscope and component diagrams does not seem to be high
If you need only the scope, change the scale value at scope.bat from 1280:720 to something else like 1920:1080 or even higher.

You can do same with the other ones too, in case you need better resolution. The reason to have the resolution in 720p is that on fullhd displays the produced window will othervice go full screen and if you have only one monitor, it's can be challenge to change OBS parameters at the same time :)
I think even a smaller resolution it's better than previously: which is you have absolutely nothing to analyse the output.
 

Meierhans

New Member
Such a great contribution. I was looking for a download, then I understood all I need is ffmpeg and the command lines. It works by simply grabbing the virtual webcam OBS serves, using regular FFMPEG functions. Nice! This method can also be used for many other tasks, like writing to disk in a (lossless) format OBS does not support, or sending out a low latency h264 multicast in local network. For recording to file, I had very good results at small file sizes with Cineform codec in the past. (Its history might be a bit dirty.. still it is a great codec.)
 

Fu-Bama

New Member
Hey, I made an alternative FFplay vectorscope some time ago, now adopted it for OBS Virtual Camera.
Link:
  • Vectorscope + skintone line (color correction)
  • Waveform luma (contrast)
  • Parade RGB (white balance)
  • Grabs OBS Virtual Camera
This vectorscope uses rec.709 4:2:0 profile as this is what virtual camera outputs (NV12 encoding). That is why the vectorscope is tiny, just 256 pixels high. Having 444p10 is an overkill, as there's no enough data in the stream, and the output would have blank-spots.

Here's a preview:
OBS.PNG
 
Thanks to all great input above.

After some (deep) soul searching, I decided to put together a version for MacOS grabbing the output of the OBS Virtual Camera that also displayed original image for the luma and a zoomed in version for the vectorscope and skin tones.
Screenshot 2021-03-16 at 23.49.09.png


As you can see, my skin tone is too near the red by default, adjusted version below using OBS's Color correction filter and shifting the hue
Screenshot 2021-03-16 at 23.51.56.png

Script attached, simply needs ffplay somewhere in the path. You can remove the .txt extension and make executable using: chmod +x vscope


Comments and evolutions welcome
 

Attachments

Meierhans

New Member
That is indeed a very useful tool, yet it takes up quite some resources. If it would take only every fifth frame, CPU usage could be lowered that much, that you can keep it running all the time I guess.
 

norihiro

Member
Hi @Fu-Bama,
I'm implementing a vectorscope plugin for OBS-Studio and I'd like to have the skintone line as well.
Could you let me know the source of the skintone line of your code? Is there a standard or a recommendation in public?
You are putting dots at 104,98, on BT.709 color space. How did you calculate that coordinate?
I'm planning to support both 601 and 709 color spaces but I think the coordinate will be different if using 601 color space.
 

Fu-Bama

New Member
Hello @norihiro,
I used specific color value to produce the skintone line. The color is procedurally calculated from my own formula that I reverse engineered. I can provide you more resources in private message. I think we could cooperate in making this plugin as I also made a vectorscope software called Scopes (https://vectorscope.co). Tell me if you are interested and I send you my e-mail.
 

Meierhans

New Member
i tried the new native plugin, but ran into some performance and stability issues. As its pretty new, this does not need to mean anything. Anyhow, I like the ffmpeg way better, sadly it also consumes to much CPU on my machine to ljust keep it running. It would be absolutely enough to process every 5th or 8th frame I guess, any idea how to tell ffmpeg to chill a bit?
 

Fu-Bama

New Member
There's new vectorscope option for OBS, https://patreon.com/fubax it uses ReShade to apply custom FX onto OBS window.

1634072185928.png


It's embeded into OBS and not visible on the final recording or stream.
Runs super fast on the GPU. On my machine (GeForce GT1030, i5) it consumes 0.015ms (1%) of CPU and 1.5-2.072ms (7-10%) of GPU power.

It even works inside filters window:
1634072495473.png
 
Top