Hi all.
So, our organization is using, or trying to use, the library from Obs studio (not the full app), for customer support.
When a customer identifies a (repeatable) series of actions which does not produce the expected result, they can hit "record", repeat the series of actions, terminate the recording, and send the generated file to our CS.
The library supports two modes of recording - "application window" or "monitor".
The first one is not practical, as it does not capture other windows, forms, message boxes and so on the app creates and the user interacts with, so we we use the "monitor" mode.
Now, practically all our customers are running in multi-monitor setup, and most have sensitive stuff going on, showing on the other monitors, so it's important to capture the monitor our app is currently on, and _only_this monitor.
To facilitate the recording, we provide a "scene" JSON file, basically copied from "scene export" generated by OBS studio.
This configuration contains a section that looks like so:
Notice "monitor": 0 in the above snippet - if we change it to 1 and record again, it will record another monitor.
And the question is: how to detect the correct monitor to record, i.e., how to detect the monitor our App runs on, and then translate it to the OBS "indexing system"?
I know how to detect the monitor our app occupies, using "windows indexing", which basically returns the same "monitor index" you see when you select "identify" from "display settings", except it's 0-based instead of 1-based, so it returns 0 for monitor 1, and 7 for monitor 8.
However, it seems that OBS is using a different indexing: for instance, when i switch "primary display" from one monitor to another, the monitor# OBS assigns changes, while the windows indexing is not affected.
Any help (including pointing me to some code in OBS sources) will be greatly appreciated, and if my question is not clear, I'll be happy to add any required detail.
Peace.
So, our organization is using, or trying to use, the library from Obs studio (not the full app), for customer support.
When a customer identifies a (repeatable) series of actions which does not produce the expected result, they can hit "record", repeat the series of actions, terminate the recording, and send the generated file to our CS.
The library supports two modes of recording - "application window" or "monitor".
The first one is not practical, as it does not capture other windows, forms, message boxes and so on the app creates and the user interacts with, so we we use the "monitor" mode.
Now, practically all our customers are running in multi-monitor setup, and most have sensitive stuff going on, showing on the other monitors, so it's important to capture the monitor our app is currently on, and _only_this monitor.
To facilitate the recording, we provide a "scene" JSON file, basically copied from "scene export" generated by OBS studio.
This configuration contains a section that looks like so:
JSON:
{
"balance": 0.5,
"deinterlace_field_order": 0,
"deinterlace_mode": 0,
"enabled": true,
"flags": 0,
"hotkeys": {},
"id": "monitor_capture",
"mixers": 0,
"monitoring_type": 0,
"muted": false,
"name": "Whatever",
"prev_ver": 402653187,
"private_settings": {},
"push-to-mute": false,
"push-to-mute-delay": 0,
"push-to-talk": false,
"push-to-talk-delay": 0,
"settings": {
"monitor": 0
},
"sync": 0,
"volume": 1.0
Notice "monitor": 0 in the above snippet - if we change it to 1 and record again, it will record another monitor.
And the question is: how to detect the correct monitor to record, i.e., how to detect the monitor our App runs on, and then translate it to the OBS "indexing system"?
I know how to detect the monitor our app occupies, using "windows indexing", which basically returns the same "monitor index" you see when you select "identify" from "display settings", except it's 0-based instead of 1-based, so it returns 0 for monitor 1, and 7 for monitor 8.
However, it seems that OBS is using a different indexing: for instance, when i switch "primary display" from one monitor to another, the monitor# OBS assigns changes, while the windows indexing is not affected.
Any help (including pointing me to some code in OBS sources) will be greatly appreciated, and if my question is not clear, I'll be happy to add any required detail.
Peace.