norihiro / obs-color-monitor Goto Github PK
View Code? Open in Web Editor NEWVectorscope, waveform, and histogram for OBS Studio
License: GNU General Public License v2.0
Vectorscope, waveform, and histogram for OBS Studio
License: GNU General Public License v2.0
Step to reproduce
Expected behavior
Vectorscope always shows the CrCb data
Actual behavior
A different data is rendered at just one or two frame after switching the visibility.
Additional context
I'm afraid it might cause memory access violation.
It might be the root cause of https://obsproject.com/forum/threads/obs-color-monitor.143375/post-536967
After installing plugin on Mac, I get the error "“obs-color-monitor.so” cannot be opened because the developer cannot be verified." when launching OBS 27.0.1 Plugin does not appear anywhere in OBS
Mac os 10.15.7
OBS Studio 27.0.1
Macbook Pro 16 2019
Describe the solution you'd like
Graduation scale from 0 to 100% (step 10%) for the waveform monitor such as https://static.bhphotovideo.com/explora/explora/sites/default/files/not-clipped.jpg
Additional information
https://static.bhphotovideo.com/explora/explora/sites/default/files/not-clipped.jpg
Hello,
I'm on fedora 37 and i'd like to install this plugin without compil it, but the only linux version is a deb package, is it possible to have a zip version instead ??
Thanks for your works !!
Waveform calculation is the most slow part.
Consider these ideas.
(WV_SIZE-1 - b) * width*4
. Consider to allocate the size in power-of-2 or calculate the multiplication before the loop and save the results on an array.Below is a performance profile on i7-7700 vncserver.
Initializing OpenGL...
Loading up OpenGL on adapter Mesa/X.org llvmpipe (LLVM 11.0.0, 256 bits)
OpenGL loaded successfully, version 4.5 (Core Profile) Mesa 20.3.3, shading language 4.50
...
|- vss_render: min=0.663 ms, median=0.725 ms, max=1.822 ms, 99th percentile=1.147 ms
| |- draw_vectorscope: min=0.063 ms, median=0.66 ms, max=1.119 ms, 99th percentile=1.026 ms
| |- draw: min=0 ms, median=0.02 ms, max=1.015 ms, 99th percentile=0.048 ms
| `- graticule: min=0.037 ms, median=0.04 ms, max=0.855 ms, 99th percentile=0.085 ms
|- wvs_render: min=0.035 ms, median=2.733 ms, max=5.819 ms, 99th percentile=4.774 ms
| |- draw_waveform: min=0.021 ms, median=2.681 ms, max=5.022 ms, 99th percentile=4.689 ms
| |- draw: min=0 ms, median=0.032 ms, max=1.391 ms, 99th percentile=0.091 ms
| `- graticule: min=0.009 ms, median=0.013 ms, max=0.07 ms, 99th percentile=0.037 ms
|- his_render: min=0.027 ms, median=1.16 ms, max=2.601 ms, 99th percentile=1.913 ms
| |- draw_histogram: min=0.026 ms, median=1.14 ms, max=1.972 ms, 99th percentile=1.852 ms
| `- draw: min=0 ms, median=0.019 ms, max=1.077 ms, 99th percentile=0.048 ms
After adding a new Scope Dock via the Tools > New Scope Dock... button, there is no way to remove the entry from the Docks menu. It would be great to be able to edit or remove these custom docks.
This feature request aims to correct colors very quickly.
Windows Defender detects Trojan:Win32/Wacatac.H!ml when attempting to install. This does not happen on 0.4.1 or earlier.
Implement false color as a filter or a source.
I don't think it's high priority because False color can be calculated by LUT.
Describe the solution you'd like
Hi Norihiro,
Could you add the skin tone line on the vectorscope.
Additional information
https://images.app.goo.gl/mEni53irsA5jM6EUA
Describe the bug
If the target of a vectorscope is ROI, color space
is not effective.
Your setup
Expected behavior
When changing the color space property, both graticule and the plots should change.
Actual behavior
When changing the color space property, only graticule changes.
Additional context
When the RGB-to-YUV conversion was moved to ROI source, the colorspace property was not implemented in ROI.
The property should be implemented in ROI source and the colorspace in vectorscope should be hidden.
I have downloaded and installed the .deb package but Dock is not showing neither on Tools or Add Source menu items.
Describe the bug
Crash occurs when, in proprieties, change settings from histogram to luma only.
Error log:
Unhandled exception: c0000005
Date/Time: 2021-08-10, 14:13:44
Fault address: 7FFBEC5565D0 (c:\obs antonio portable\obs-plugins\64bit\obs-color-monitor.dll)
libobs version: 27.0.1 (64-bit)
Windows version: 10.0 build 19043 (release: 2009; revision: 1151; 64-bit)
CPU: AMD Ryzen 9 3900X 12-Core Processor
Thread 51C4: libobs: graphics thread (Crashed)
Stack EIP Arg0 Arg1 Arg2 Arg3 Address
000000D46AFDF960 00007FFBEC5565D0 000002338DEA88C0 00000233AD61A400 000002339662D180 0000000000000001 obs-color-monitor.dll!his_draw_histogram+0xd0
000000D46AFDF9F0 00007FFBEC5561D8 0000000000000F00 000002339662D180 00000233AD61A400 00007FFBF7B839DB obs-color-monitor.dll!his_render+0x58
000000D46AFDFA40 00007FFBF7BAE57F 0000023389C85B00 0000000000000003 000002339662D180 00000000000002AA obs.dll!obs_source_main_render+0x9f
000000D46AFDFA70 00007FFBF7BB1D82 0000000000000100 0000000000000000 00000000000002DA 0000000000000000 obs.dll!obs_source_video_render+0x122
000000D46AFDFAA0 00007FFBEC55DA2B 00000233000002AA 00000000000002DA 000000D4000002AA 0000000000000000 obs-color-monitor.dll!draw+0x1eb
000000D46AFDFB50 00007FFBF7BD8901 0000000000000000 0000000000000000 000000D46AFDFC70 0000000000000000 obs.dll!render_display+0x141
000000D46AFDFBC0 00007FFBF7BE231B 00000233D2D55540 0000000000000000 0000000000000000 0000000000000000 obs.dll!obs_graphics_thread_loop+0x1db
000000D46AFDFC50 00007FFBF7BE210D 00000233D2339330 00000233D2339330 0000000000000000 00007FFC58A23A81 obs.dll!obs_graphics_thread+0x12d
000000D46AFDFD10 00007FFC42735924 00000233D2CD38E0 0000000000000000 0000000000000000 0000000000000000 w32-pthreads.dll!ptw32_threadStart+0x74
000000D46AFDFD90 00007FFC58A31BB2 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ucrtbase.dll!0x7ffc58a31bb2
000000D46AFDFDC0 00007FFC59D47034 0000000000000000 0000000000000000 0000000000000000 0000000000000000 kernel32.dll!0x7ffc59d47034
000000D46AFDFDF0 00007FFC5B242651 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ntdll.dll!0x7ffc5b242651
(Remaining lines are omitted.)
Thank you.
I had your plugin on OBS 27 - it is great. I upgraded to OBS 28. I'm on an M1 Mac Mini. Here is my log https://obsproject.com/logs/_FMtG3jy4f0PjhjW
Please advise. Thank you in advance for your help.
Implement luma waveform option
here is the log file:
https://obsproject.com/logs/VzBKUq0LoxhRoz5d
Thanks
Since OBS is pushing its Flatpak version on Linux systems, would be good to have this addon built for the Flatpak version as well, just like other plugins like Vertical Canvas, Waveform and Advanced Scene Switcher.
Implement region of interest (ROI) source or filter for other monitors
Describe the bug
When adding source input, all sources and scenes are totally mixed.
Could you make order like scenes first and sources second or by alphabetical order or something?
I have a very long list of stuff difficult sometimes to find my source :-)
Hi,
I compiled this on Arch Linux and I was able to make the waveform work in obs. However, when I try to use the histogram or the vectorscope, I get the following error in the terminal and the source remain transparant or black:
error: effect_setval_inline: invalid param
Describe the solution you'd like
https://obsproject.com/forum/threads/color-monitor.143375/post-577523
Additional information
FFmpeg does not provide graticule option for histogram.
Can you please add
If you have Davinci Resolve the waveform is very user friendly.
Describe the bug
Your setup
Context
We are working on a project that will detect the frequency of a flashing blue LED in a video stream in efforts to prevent deep fake videos.
Describe the solution you'd like
We would like the to take a sampling of the readings of the vector scope every 50 milliseconds to detect an increase in blue light. Our initial tests show a clear spike in both the vectorscope and the histogram. Form that data we will be able to plot the blue light spikes on a rolling 2 minute timeline to see if they match up against our expected pattern.
Reference
Yours is the best plugin we've seen to-date and seems to have the highest potential. We have not been able to find other software opensource that does this.
Describe alternatives you've considered
Ultimately we would like the solution to run in a browser without the need for OBS, however, we think we are several iterations away from that.
Additional information
We will have a website coming soon with some video samples we can share. If you are interested in collaboration please let us know.
It isn't listed in the /Library/Application Support/obs-studio/plugins as the other plugins. Should it be and I'm looking at the wrong place?
Describe the bug
OBS Studio sometimes crashes when exiting.
Back-trace is as below.
#0 0x000000e7ca500000 in ()
#1 0x00007ffff514c5fe in QMetaObject::cast(QObject const*) const () at /lib64/libQt5Core.so.5
#2 0x00007ffff5fcab72 in QListWidget::currentItem() const () at /lib64/libQt5Widgets.so.5
#3 0x000000000049f4c8 in OBSBasic::GetCurrentScene() (this=<optimized out>)
at /home/user/repo/obs-studio/UI/window-basic-main.cpp:2758
#4 0x0000000000497520 in OBSBasic::GetCurrentSceneSource() (this=<optimized out>)
at /home/user/repo/obs-studio/UI/window-basic-main.hpp:823
#5 OBSStudioAPI::obs_frontend_get_current_preview_scene() (this=0xcdeca0)
at /home/user/repo/obs-studio/UI/api-interface.cpp:556
#6 0x00007fff82f3b3a0 in cm_tick (data=data@entry=0x24deb60, unused=<optimized out>)
at /home/user/repo/obs-color-monitor/src/common.c:303
#7 0x00007fff82f39338 in roi_tick (data=0x24deb60, unused=<optimized out>) at /home/user/repo/obs-color-monitor/src/roi.c:608
#8 0x00007ffff5adda63 in obs_source_video_tick (source=source@entry=0x24da700, seconds=seconds@entry=0.0333333313)
at /home/user/repo/obs-studio/libobs/obs-source.c:1254
#9 0x00007ffff5b17efe in tick_sources (last_time=<optimized out>, cur_time=906998500555845)
at /home/user/repo/obs-studio/libobs/obs-video.c:69
#10 obs_graphics_thread_loop (context=context@entry=0x7fff8a5792d0) at /home/user/repo/obs-studio/libobs/obs-video.c:964
#11 0x00007ffff5b19ab0 in obs_graphics_thread (param=<optimized out>) at /home/user/repo/obs-studio/libobs/obs-video.c:1053
#12 0x00007ffff626d299 in start_thread () at /lib64/libpthread.so.0
#13 0x00007ffff4a4e353 in clone () at /lib64/libc.so.6
Your setup
Additional context
OBS's log file is here.
https://obsproject.com/logs/d9puDb11ahU9Gkr4
Describe the bug
When setting the source as Program, transition is not taken.
Your setup
Expected behavior
When transitioning, vectorscope should gradually change.
Actual behavior
The vectorscope immediately changes to the new scene when transition start.
Describe the solution you'd like
Adding the ability to have a 2X zoom for the vector scope would be fantastic. Color charts are only able to represent 50% saturation, so the 2x Zoom allows the color chip dots to line up in the vector scope 100% boxes. Makes it easier to line things up/match cameras.
I assume its the 'Zoom' feature already listed in the future plans under vector scope. Just submitting this as a nudge, I would be super appreciative.
Reference
Davinci Resolve implements this and is a standard workflow for many.
Describe the bug
For some reason when ever I switch scene collections, the number of "scope: programs" get doubled in the docks menu.
Still cool plugin though but please fix the bug.
Expected behavior
Actual behavior
The number of the items increases.
Additional context
https://obsproject.com/forum/threads/obs-color-monitor.143375/post-537460
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.