Recording Detector

Recording Detector 2 (2025-08-31)

OwnerOfThePlace

New Member
OwnerOfThePlace submitted a new resource:

OBS Recording Detector - RECORDING/PAUSED/STOPPED? A tiny front-most window shows this. Needs Java 8 or newer. Open source!

A borderless front-most (can be turned off) window (size configurable, optionally not borderless) shows three (included, changeable) images.

PURPOSE: If you can't currently see OBS, but you want to know whether you're recording, or paused, or stopped, now you can have a symbol of arbitrary size and make on screen.

Program is started via command line or batch file because it needs to know your OBS recording folder. Will monitor it in given (or default) rhythm for newest file. If file is not...

Read more about this resource...
 

PixlPixi

New Member
I really like how simple this is. Is there any way to have something to indicate when the replay feature is active? My ideal indicator would be to let me know when I'm recording, replay is enabled, and a replay has been saved. I currently have sounds set to indicate the beginning and ending of a recording and when a replay is saved. My only issue is that I can't tell when replay is active without looking at OBS.

Some options to customize the look of the indicator would also be very nice. I feel like something as simple of giving a border around the edge of the monitor would look simple and not obstruct anything while still making it easy to tell when you're recording. So highlighting the edge of the monitor in red when recording and yellow when using replay. Windows 11 already does something similar, but it only detects when you have OBS capturing your screen at all. No way to tell if it's actively recording or not.

These are just some suggestions and I appreciate the effort you've gone through to make this tool.
 

OwnerOfThePlace

New Member
Is there any way to have something to indicate when the replay feature is active? My ideal indicator would be to let me know when I'm recording, replay is enabled, and a replay has been saved.

I didn't even know about the replay feature, and I don't plan on going deeper into this project, I only made it because for whatever reason, OBS' preview window does not have the Recording/Pause/Stop indicator. I find that extremely weird and hope it's just an oversight that will eventually be solved. The best outcome is that my program will become superfluous.

Some options to customize the look of the indicator would also be very nice.

Well, you can define the images entirely yourself, incl. the window size. - But you're looking for a screen sized border. Well, that's outside the scope of this project.
 

JohnKuhles

New Member
Please explain in extreme simple way STEP BY STEP how to make it work ... explain it in a way to someone who does not know what you should do ... what you need to do first etc. etc. etc. ... Not just say java blah blah but SHOW STEP BY STEP the actions everyone need to do, how to download it where to download it with what to open it ... etc. etc. Is it depending on another program ... is there a specific folder that it should be placed like a plugin? ... So many things YOU may assume we all "suppose to know" right? ... Please do not get me wrong I am sincerely happy you made this, and it is EXTREMELY ANNOYING that OBS never bothered to make an overlay REC-PAUSE-RESUME indicator themselves AFTER 1000s of people asking for it last years.
 

OwnerOfThePlace

New Member
Hi John! I saw your YouTube comment and then this post already on Friday, but I couldn't (and can't) find any time yet. I'd like to make a video to show how to set this up (e.g. need Java, what that means, where to get it etc.), not sure when that can happen, so ... What questions do you have that I could quickly answer here?
  • It doesn't matter in which folder you unpack the 7z file.
  • Afterwards, you can start "start_showdocs.bat" to see two things: 1) Whether the program can run on your machine (else Java is missing or not on the path), 2) the very techy documentation.
  • If it seems to work, you can run "start_normal_keepconsoleopen.bat" which is the same as "start_normal.bat", except the "DOS" box will stay open, so if there are error messages, you can read them.
  • And there will be error messages - because one thing you have to tell the program is: In which folder is your OBS Studio recording its videos? This folder path you have to edit into the respective "BAT" file (See above.) yourself, e.g. the normal file currently says 'start javaw -jar OBSrecdec.jar "folder=C:\my glorious OBSrecordings"' and you would have to replace the 'C:\my glorious OBSrecordings' text with your own. That should already be it.
  • If it doesn't work, then the error message will probably say that Java is missing. Google for "corretto" which gets you to Amazon's nice Java release which we also use for software development at the office. Click on the yellow button (There are multiple, each linking to a different version, but which ever is currently highlighted is the currently best choice.) Then scroll down into the ugly table and find your system (Probably "Windows x64".) and download+install the ".msi" file. That should be all.
 

Harons

New Member

Attachments

  • Снимок экрана 2024-10-05 014627.png
    Снимок экрана 2024-10-05 014627.png
    1.5 KB · Views: 67

ChasL001

New Member
Hi GOD!!! This is a good add on, glas I discovered it.

One Question,: Does it have a sensitivity value I can adjust. When I run it, the icon keeps switching between STOPPED and PAUSE, I never see the RECORDING icon.

I use Source Record to record three cameras at once, they are all saved in the same OBS Recordings directory.

Maybe I can specify part of a filename to ensure the script only checks the date/time of just one file?

Many thanks.
Chas
 

OwnerOfThePlace

New Member
OwnerOfThePlace updated Recording Detector with a new update entry:

V2 released: Optional file name filter, much improved logic

Since it now has a built-in version history, I'll just paste the V2 entry here:


v2 (2025-08-31)
- Added optional "namepattern=" argument for e.g. multi cam recordings, which confuse the program since multiple files are being updated. Pattern concept only supports "*", which stands for any text of arbitrary length.
- Radically improved PAUSE mode detection logic: Detector always uses interval 500 ms while not recording to detect if newest not-filtered-out file is renameable. If not...

Read the rest of this update entry...
 

OwnerOfThePlace

New Member
One Question,: Does it have a sensitivity value I can adjust. When I run it, the icon keeps switching between STOPPED and PAUSE, I never see the RECORDING icon.

I use Source Record to record three cameras at once, they are all saved in the same OBS Recordings directory.

Maybe I can specify part of a filename to ensure the script only checks the date/time of just one file?

Thanks for the good inspiration! I just revamped the program and uploaded the new version here and on Discord.

New optional argument: "namepattern=", for example "namepattern=*leftcam*.mkv" or just "*leftcam*" etc.

But you won't need this, because I improved the logic a lot. One improvement is that while it is in recording mode (So, it has detected a file that ia locked.), it will not re-read the folder but will stick to that one file. So if you have 3 files that are being recorded simultaneously, the program should have picked out one of them and will keep looking at only that file - this should have been exactly the problem you're experiencing: The program kept looking at different files because multiple of them kept changing.

That's why you never saw RECORDING but only stopped/paused.

I originally developed this while using MP4 files, which was a ridiculous choice, since MP4 loses you everything during a crash, so I've been using MKV for a while now - but at least with OBS, that will update the MKV file not quite often, so I now have a 2 second detection interval by default, but fret not: This now only concerns the PAUSED detection. The program has a 500 ms interval until it detects a "Which is the newest file?" change or unless an ongoing recording was detected: Then its interval is 50 ms. When it does not detect the automatically chosen locked file to change, it will plan a future moment (2 seconds ahead by default, but that's adjustable by argument) when it will show PAUSED instead of recording. This planned moment is of course voided if any circumstances change.
 

ChasL001

New Member
Thanks for the good inspiration! I just revamped the program and uploaded the new version here and on Discord.

New optional argument: "namepattern=", for example "namepattern=*leftcam*.mkv" or just "*leftcam*" etc.

But you won't need this, because I improved the logic a lot. One improvement is that while it is in recording mode (So, it has detected a file that ia locked.), it will not re-read the folder but will stick to that one file. So if you have 3 files that are being recorded simultaneously, the program should have picked out one of them and will keep looking at only that file - this should have been exactly the problem you're experiencing: The program kept looking at different files because multiple of them kept changing.

That's why you never saw RECORDING but only stopped/paused.

I originally developed this while using MP4 files, which was a ridiculous choice, since MP4 loses you everything during a crash, so I've been using MKV for a while now - but at least with OBS, that will update the MKV file not quite often, so I now have a 2 second detection interval by default, but fret not: This now only concerns the PAUSED detection. The program has a 500 ms interval until it detects a "Which is the newest file?" change or unless an ongoing recording was detected: Then its interval is 50 ms. When it does not detect the automatically chosen locked file to change, it will plan a future moment (2 seconds ahead by default, but that's adjustable by argument) when it will show PAUSED instead of recording. This planned moment is of course voided if any circumstances change.
What can I say? BRILLIANT!!! Thanks for that update, works perfectly
Thanks
Chas
 
Top