synap5e / obs-screenshot-plugin

An OBS Studio filter plugin to save screenshots of a source/scene
GNU General Public License v2.0
132 stars 20 forks source link

Support Output To File Without Overwriting + Multiple Timers #25

Open bwillow11 opened 2 years ago

bwillow11 commented 2 years ago

Hello,

I absolutely love this plugin, how simple and easy it is to use, yet how powerful it can be if used correctly. However, I was just hoping I can suggest some improvements to make it better.

First of all, I would love the ability to save screenshots to file names based on order within a directory. This may prove hard to do, but I believe that this could be made possible by incorporating a function which allows you to save to the same file without overwriting, therefore requiring the folder to create copies of the same file name with predictable suffixes. This would help to automatically re-incorporate multiple screenshots in OBS without needing to find image locations each time.

Secondly, the ability to have a smaller timing gap followed by a larger timing gap or vice versa between screenshots will add a sense of dynamism to the plugin in my opinion. For example, I would like the first screenshot of a source to be taken after 10 seconds, followed by a break of 1 minute before the next screenshot is taken, then back to 10 seconds. Can this be done at all?

Thank you in advance for your response.

synap5e commented 2 years ago

Hi

Does the 'output to folder' option solve your first use case? This outputs to multiple files using the date for each capture taken.

For use case 2 I feel this is too complex to capture in a simple UI and is likely not useful to the vast majority of users. Instead I would recommend trying something like using an automation framework (autoit, autohotkey, python script) to send a screenshot hotkey to the OBS window that follows whatever capture logic/delays you need, or to make a special version of the plugin with this mode of operation. Alternatively you could use the ouput to folder option with a 10s delay then just delete every capture with a seconds value in the filename above 19.

bwillow11 commented 2 years ago

Thanks for your response.

While I like the output to folder function, the names of each screenshot are not “predictable” enough for me to reinclude in OBS automatically. The date will obviously never be the same so I would have to manually find the relevant image file again. However, for example, when you select every file in file explorer and attempt to rename the first image as “Image”, every image that follows has a naming pattern such as “Image (1)”, “Image (2)”, etc.

I have tried to compile my own version of the plugin, but have had no idea how to achieve this. If you could step me through it, that would be greatly appreciated.

Hope this helps

synap5e commented 2 years ago

I use the so called "in-tree" method for building this plugin. You start by getting OBS able to compile in Visual Studio (there are several tutorials around), then copy/clone this plugin into the plugin directory. You can then add it to the plugins cmakelist and regenerate the config and VS should let you right click>build this plugin.