Git Product home page Git Product logo

obsinfowriter's Introduction

OBSInfoWriter

Multiplatform version of ObsInfoPlugin to write timestamps to a file.

Plugin thread on the OBS forums: https://obsproject.com/forum/resources/infowriter.345/

For the original OBS-classic version, go to https://github.com/partouf/ObsInfoPlugin


Installation

Just use the installer...

Windows

  • Place the 64bit OBSInfoWriter.dll in your \obs-studio\obs-plugins\64bit folder
  • Place the 32bit dll file in your \obs-studio\obs-plugins\32bit folder

Linux

  • Place the libOBSInfoWriter.so file into the /usr/lib/x86_64-linux-gnu/obs-plugins folder
    • Note: the section "~/" indicates your home folder
    • If you have an older OBS version, the install folder is ~/.config/obs-studio/plugins/OBSInfoWriter/bin/64bit/

MacOSX

  • Right-click on OBS in Applications and choose "Show package contents"
  • Place the libOBSInfoWriter.so file (from the libOBSInfoWriter.OSX.zip file) in the plugins folder

Configuration

  • Add the InfoWriter Source to 1 scene (the scene doesn't have to be always active).
  • Configure the Source and select the text file where you want the timestamps to be written to. configure the source Alternatively, you may sync both name and path with the video and specify automatic text file extension. sync both name and path with the video
  • Set the hotkeys you want to use in File -> Settings -> Hotkeys set the hotkeys

Filename formatting options

You can name a Logfile to be saved with variables that may change every time you start a recording or stream. You can name your logfile for example: "C:\temp\recording %Y%m%d.txt" to tell InfoWriter to name your file "recording 20180204.txt" when it's the 4th of February 2018. More variables can be found at http://www.cplusplus.com/reference/ctime/strftime/

Format options

The format option is very limited in it's use, the variables in the formatting are translated to hours:minutes:seconds from when the recording or stream was started, %02d is only to indicate that there is a preceding 0 for the numbers 0 to 9. It is recommended the default value is not changed.

What is possible that might improve logging is that you can put spaces or a \t tab character in front of the format, so your log times are indented in between the start and stop of the recording or stream.

More hotkeys

Contributed by https://github.com/RetroGamer74 Hotkeys List Sample

NEW CHANGES (TheTawnyFool)

Contributed by https://github.com/TheTawnyFool

Changed the output to log seperate timers for recording and streaming. Allows for indepedent timestamps of streaming and recordings at the same time. 

Updated to fix problems with OBS newer update to allow pausing in recordings.  Now when you pause a recording, the recording timer used by the hotkeys will pause until you resume the recording.  This way the record timer offsets of the hotkey events to be synced correctly with the video. The streaming timer will not pause if you are tracking both.

Checkbox to log streaming events

  Allows turning on and off logging relating to streaming. Recommend to leave off if not streaming, and or not wanting to log timers relating to streaming.

Building

You can quickly start working on this project by building it locally.

First, you need to ensure to have necessary dependencies. OBSInfoWriter is dependent on OBS Studio project that can be found at https://github.com/obsproject/obs-studio You should have OBS Studio available locally. Necessary instruction is available at https://github.com/obsproject/obs-studio/wiki/Building-OBS-Studio but keep in mind that platform specific instructions are available on separate wiki pages. Other dependencies are downloaded automatically when generating the project using CMake.

obsinfowriter's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

obsinfowriter's Issues

Looks like it broke on 28

Hello Patrick,

I love his plugin and he is always with me.
I built my workflow using it, unfortunately it's not working in version 28.

Can we wait for an update to version 28?

Add toggle for "HOTKEY:<hotkey> @ yyyy-MM-dd hh:mm:ss"

I used InfoWriter a while back and really liked its straight forward timestamp format. I took a break for some months and when I got back into it I saw that some additional information is being printed to the log file.

I would really appreciate a toggle of some sort to remove the absolute times when pressing a hotkey.

To make this as clear as possible, down below is an example. I would like to be able to toggle off the lines marked with <<<.

EVENT:START RECORDING @ 2020-05-02 16:37:35
00:00:00 Record Time Marker

HOTKEY:timestamp @ 2020-05-02 16:37:40 <<<
00:00:05 Record Time Marker

HOTKEY:timestamp @ 2020-05-02 16:37:41 <<<
00:00:06 Record Time Marker

HOTKEY:timestamp @ 2020-05-02 16:37:42 <<<
00:00:07 Record Time Marker

HOTKEY:timestamp @ 2020-05-02 16:37:42 <<<
00:00:07 Record Time Marker

HOTKEY:timestamp @ 2020-05-02 16:37:43 <<<
00:00:08 Record Time Marker

EVENT:STOP RECORDING @ 2020-05-02 16:37:45 Record Time Marker Reset to 0
00:00:00 Record Time Marker (not recording)

I would also really appreciate an option to remove "Record Time Marker" from the timestamps themselves.

No Input Source after building

Hey, forgive me for making an issue that's more supportish in nature but i've been wracking my head for a few hours on this.

I've got this plugin building on windows and am looking to make some small changes and enhancements. But my built edition of the plugin doesn't result in an input source being available in OBS.

I've included a log file from OBS: 2022-06-19 03-04-38.txt

That shows that its loaded, there are no errors etc... BUT no input.

Perhaps, you might be able to provide some diagnostic or debug steps here? I'm a little lost.

Thank you!

Export milliseconds for events

OBSInfoWriter currently exports only hours, minutes, and seconds. It would be good to export also milliseconds, because if the even happens at 10s 900ms, then automation tools will work on the incorrect point in the video stream.

It looks like it requires a change in InfoWriter.cpp:67 to get the time in milliseconds and InfoWriter.cpp:32 to output the time.

The standard format for reporting would be:

HH:MM:SS.000 (with 000 for the milliseconds)

Feature idea: Export EDL format

Any chance of getting an output option that would be EDL-compatible, or compatible with some format that could allow marker information to be imported into Davinci Resolve, Premier etc?

I don't know much about these formats, but I know that my workflow is:

  1. Record live stream to disk with OBS
  2. Edit down the file in OBS, selecting interesting parts

If I could get the markers to show up in Resolve, that would be amazing.

InfoWriter source does not appear because .deb Installs libOBSInfoWriter.so to the wrong directory

Installed with sudo dpkg -i OBSInfoWriter-1.0.0-x86_64-linux-gnu.deb, InfoWriter never appeared as a source after restarting OBS.

To resolve this, I just ran sudo cp /usr/local/lib/obs-plugins/libOBSInfoWriter.so /usr/lib/x86_64-linux-gnu/obs-plugins/

The instructions state that the libOBSInfoWriter.so must be put in the /usr/lib/x86_64-linux-gnu/obs-plugins folder, but the provided .deb installs it to /usr/local/lib/obs-plugins instead.

Using OBS 30.0.1 on Ubuntu 22.04.

question

Hi, I would like to store the timestamp (utc timestamp - in millisec) of each recorded frame. any idea if that is possible and how?
I would need to get a callback for each frame beeing recorded...

Do you currently store the timestamp of the first frame beeing recorded (utc timestamp - in millisec)?

Thanks,
Arnold

OBS Crashes Upon Pausing.

Hello, I'd like to start off by saying this plugin is exactly what I have been wishing for since I first installed OBS. I'd like to thank you for developing this in your recreational time, I am having some issues regarding pausing and I would like to get to the bottom of it considering I use the feature very frequently. I will attach a log of the crash from OBS and I am using OBS version 25.0.8
Crash 2020-08-31 17-48-59 (1).txt

I also want to apologize for the formatting since I am on mobile currently.

Timestamps not working on Linux

First of all, thank you so much for taking the time to make this plugin . . . this has so much potential to save me a ton of time so I am so excited to use this. ๐Ÿ‘

Unfortunately, it is not currently sending timestamps to the txt file whether I am recording, streaming or both.

I am using v1.1 of this plugin and everything else seems to work like creating files based on the date, logging scene switching, track when I start and stop streams/recordings, and it does log that I hit the hotkeys . . . but unfortunately it isn't sending timestamps.

I am using Ubuntu 16.04 (via KDE Neon) [Linux] and OBS 22.0.2.


I also submitted a pull request for adding Linux installation howto. pr24

Make OBSInfoWriter follow recording splits

There's an option in OBS that allows regular recording splits based on file size/recording duration, it would be great if InfoWriter could also respect those splits and also create a new file to go along with the split recordings! :)

InfoWriter not loading

I've tried a couple different Macs running High Sierra and Mojave and different versions of OBS Studio and I experience the same error in the logs of both. InfoWriter fails to load.

06:05:47.215: [Python] Could not load library: libpython3.7m.dylib
06:05:47.216: os_dlopen(/Applications/OBS.app/Contents/Plugins/libOBSInfoWriter.so->/Applications/OBS.app/Contents/Plugins/libOBSInfoWriter.so): dlopen(/Applications/OBS.app/Contents/Plugins/libOBSInfoWriter.so, 257): Library not loaded: @rpath/../bin/libobs.0.dylib
06:05:47.216: Referenced from: /Applications/OBS.app/Contents/Plugins/libOBSInfoWriter.so
06:05:47.216: Reason: image not found
06:05:47.216:
06:05:47.216: Module '/Applications/OBS.app/Contents/Plugins/libOBSInfoWriter.so' not loaded

Crashing when I start recording or streaming

As soon as I start streaming or recording, my OBS crashes. Once I remove the plugin, I have no issues. The only message I can see is the following:

10:01:01.686: Failed to load 'en-US' text for module: 'OBSInfoWriter.dll'

I believe I just followed the instructions, so I am not sure if something was missing in the install. I tried both the .exe and manual install, but both had the same result.

2023-07-10 10-00-59.txt

EDL Format not importing correctly with DaVinci Resolve 18.1.3 Build 8

The current format out of the box:

001  START V     C        00:00:00:00 00:01:20:00 00:00:00:00 00:01:20:00
002        V     C        00:01:20:00 00:02:55:00 00:01:20:00 00:02:55:00
003        V     C        00:02:55:00 00:05:05:00 00:02:55:00 00:05:05:00

Seems to be missing CLIP# in the 2nd column for Da Vinci Resolve to correctly split as far as I can tell.

I was able to work around with this awk oneliner in the mean time.

awk -F ' ' '{if($2 != "START"){$2 =" CLIP"NR-1" V\t" } print $0 }'

Result:

001  START V     C        00:00:00:00 00:01:20:00 00:00:00:00 00:01:20:00
002  CLIP1 V	 C 00:01:20:00 00:02:55:00 00:01:20:00 00:02:55:00
003  CLIP2 V	 C 00:02:55:00 00:05:05:00 00:02:55:00 00:05:05:00

Option to Donate?

I use this plugin basically every day so its quite valuable to me. id like to donate to show my gratitude. Do you have an option for donations?

This is not an attempt to get my issue updated or anything, this just improves my workflow so well as is that I want to show my appreciation.

I used to do timestamps manually until I was introduced to this plugin, this plugin saves me hours of work now on production.

Installation instructions for Mac outdated?

Hi, I used to have InfoWriter working, but with the update to Mac OS Sonoma 14.0 and with OBS Studio 29.1.3 (64 bit) I can't get it to work.

The installation instructions for Mac says:

  1. Right-click on OBS in Applications and choose "Show package contents"
  2. Place the libOBSInfoWriter.so file (from the libOBSInfoWriter.OSX.zip file) in the plugins folder

However, OBSInfoWriter-2.3 uses an installation .pkg which seems to run fine, which is not in sync with the installation instructions (?)

After running the OBSInfoWriter-1.0.0-macos-arm64.pkg found in the OBSInfoWriter v2.3 release, I do not find any InfoWriter Source to add to "1 scene".

What am I missing?

Random / Duplicated Output

I started using InfoWriter for recordings relatively recently. I have run into an issue where it will sometimes work as intended for some recordings, but other times it will fill the file with junk markers.

It seems to fail in two distinct ways. The first is that it will sometimes write markers markers that point to seemingly random and extremely large time stamps. The second way is that it will sometimes write many markers one after another without me having pressed any of my hotkeys.

I have not been able to find a way to reproduce this. It seems to happen randomly but quite often. It happens so often that I can't rely on the program to actually record accurate markers.

Here are the settings I am using:
Output format is CSV
Format is '%d:%02d:%02d'
Sync with video file name and path is on
The only hotkey that I use has a blank text option

Here is an example of a file which has both the random markers and the repeated markers.
InfoWriter Example.csv

text file not being created

info writer isn't making new files with variables

im trying to get %m-%DD-%YY %hh-%mm-%ss to work but it doesn't even show up when recording or streaming. I've had it work before but I cant get it to work anymore
when I do one variable like %m it works

Increase Limit of HotKeys from 5 to 10?

This isn't a deal breaker, I can work around this limit if I must but it would be great if the number of hotkeys could be increased from 5 to 10. This way I could be more specific to the changes I am doing during the recording.

If you think a higher number would be better, feel free to do that but for my current needs 10 would be enough.

Logging timestamps is still possible when OBS is not streaming or recording

  • Operating System: Windows 10, 64-bit
  • OBS version: 25.0.8

Steps to reproduce

  1. Start recording.
    1.1. If using CSV output format and no log file currently exists, press a hotkey to make a log file.
  2. Stop recording and keep OBS open.
  3. Press a hotkey again (or press hotkeys many times).

Some notable things

  • In the Default output format it will put "(not recording)" at the end of the timestamp, which is a good enough indication that the timestamp is invalid.
  • In the CSV output format, when these timestamps are added in the file, it logs data like this: 441925:44:47,event, with no indication that the timestamp is invalid (other than the fact that a 400,000 hour in a recording is probably a sign that the timestamp is invalid).
  • If you move, rename or delete the original log file, invoking this bug will create a new log file in the original location with the original name but only with invalid timestamps.
  • All this buggy activity is silent, if someone has OBS open all the time in the background, depending on their InfoWriter hotkeys they could be generating more invalid timestamp data than normal data.

CSV Format

Format output options would be amazing. I do Editing in reaper and it has CSV import features.

example reaper format

Name,Start
marker,0:00:00:00
marker,0:00:00:20

This format would make everything amazing.

Getting/setting more data

Hi,
I have automated my OBS with Tuna and Advanced Scene Switcher. When my song changes Tuna will write it to a file. Advanced Scene Switcher has a macro that detects the changed file, makes a source visible, waits, turns the source off, and executes a hotkey which triggers OBSInfoWriter to set a marker for "music change".

I would like to further automate this, for example in the hotkey setting in InfoWriter it would be great if you could either read another file or read text sources in OBS.

My goal is to auto-create a SRT-file (great new feature) which can be used to create indexes for YouTube, and a text file which will list all copyright info from music as it is triggered, which would be part of the description for the VOD-version of the streams.

The required OBS28/QT6/Apple Silicon question

Hi,
I wonder if you'll be upgrading the plug-in to QT6 and Apple Silicon ?

I see quite a few other developers are using Github actions and workflows to automate builds for all the different platforms. I don't have experience with actions and workflows, so I can't help with it.

InfoWriter is not showing on Mac

I cannot see InfoWriter when I click on the "add scene" button in OBS
after adding the .so file in plugins folder (Check image)

Screen Shot 2021-05-05 at 2 25 46 PM

Double log files created, one at stream start another for all subsequent logging and stream/record end events

I am getting two files for each session. I both stream and record. Both InfoWriter logs are created on starting the stream.
The first contains only the stream start log entry.
The second contains all hotkey logs and the stream ending log entries.

Settings

Format: %d.%02d.%02d (Contains 5 leading spaces which are lost when posting here)
Logfile: D:/rawvideo/%Y.%m.%d-%H.%M.%S - Video Timestamps.txt
Log scene changes = true
Log intermediate absolute times = true
Log hotkey specifics = true

Output on start stream

2021.07.12-11.20.28 - Video Timestamps.txt

EVENT:START RECORDING @ 2021-07-12 11:20:28
0.00.00 Record Time Marker

Note: no further events are appended to this file.
All logged events go to the next file:

Output after pressing hotkey

2021.07.12-11.20.29 - Video Timestamps.txt

2021-07-12 11:20:29
0.00.01 Record Time Marker

HOTKEY:Marker at @ 2021-07-12 11:20:34
0.00.06 Record Time Marker

HOTKEY:Marker at @ 2021-07-12 11:20:38
0.00.10 Record Time Marker

HOTKEY:Marker at @ 2021-07-12 11:20:40
0.00.12 Record Time Marker

EVENT:STOP RECORDING @ 2021-07-12 11:20:42 Record Time Marker Reset to 0
0.00.00 Record Time Marker (not recording)

EVENT:STOP STREAM @ 2021-07-12 11:20:42 Stream Time Marker Reset to 0
0.00.00 Record Time Marker (not recording)

Add needed files to fix missing files when building project

Trying to build OBSInfoWriter, I've got some missing files like GroundFloor/Molecules/String.h and the obs-module.h. I guess maybe they're part of the OBS for building plugins, but I can not find any info related to it.

Could you create some submodules in the github?

Thank you.

OBSInfoWriter not accounting for paused time during recordings

Hello! Thank you for making this wonderful plugin, it's already saved me tons of time.

It appears that the log file bases its timestamps on the system's clock, and not based on the OBS recording timer. This means that anyone who uses the "Pause Recording" function in OBS will have misplaced timestamps after resuming their recordings.

Is there a way this paused time could be accounted for?

Edit: it appears PR #30 addresses this issue but it has yet to be pulled in.

Split "Sync with video file and path" option

It would be great if we could have the option to have timestamp files follow video file name, but also be able to set a custom directory for the timestamps instead of have them be created in the same directory as the video file :)

Plugin load fails

Hi! Sorry for this issue but I can't find a solution: I am trying to add some small changes (3LOC) to this plugin but I can't make it load on OBS. OBS keeps throwing this error:

9:05:44.125: LoadLibrary failed for '../../obs-plugins/64bit/OBSInfoWriter.dll': The specified module could not be found. 09:05:44.125: (126) 09:05:44.125: Module '../../obs-plugins/64bit/OBSInfoWriter.dll' not loaded

My build is ok, What am I missing? Thanks for your help-

OBS fails to start the NVENC codec with InfoWriter and external monitors

Hello folks, this strikes me as an odd issue, so I'll take a minute to establish some context.

I'm using InfoWriter on a laptop with NVIDIA Optimus - so I have both an integrated Intel GPU and dedicated NVIDIA GPU. I'm using the NVIDIA GPU (an RTX 3060 mobile) to encode a stream and record a local copy simultaneously, which works for me normally.

I'm trying to start using InfoWriter for logging my long video playsessions and importing timestamps into an editing program. I set up InfoWriter according to the readme, assigned a name to hotkey 1, assigned a hotkey, and was able to do a test stream + recording while generating the InfoWriter log file. No issues at all, this was on the laptop's internal screen.

Upon arriving home for the night I plugged my computer into a Thunderbolt dock (that routes video through the iGPU and out to two external monitors). I booted up OBS with the exact same InfoWriter config and I get an error when attempting to begin streaming that it fails to open the NVENC codec & refuses to start. Seeing as InfoWriter was the only thing I'd added to my OBS install, I tried removing the plugin and sure enough - the error goes away and I'm able to stream normally again.

I figure this must be a pretty odd edge case, but there's something about InfoWriter when using a dGPU that's being passed through an iGPU to an external screen. I've attached the error OBS throws along with the accompanying OBS log for that session. I hope it's helpful and that I/we can figure out a solution, even just in testing I can see this plugin is brilliant for working with OBS and lots of video.

Cheers,

~M
error

2021-11-11 22-31-40.txt

OBS 27.1.3 doesn't show hotkeys

Hi @partouf

Thanks for the great plugin.
I've just installed it for the first time, but unfortunately in the hotkey settings, it only shows Show/Hide infowriter source, but not the hotkeys as options.

Using OBS 27.1.3. on Win10 x64

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.