obs-source-record icon indicating copy to clipboard operation
obs-source-record copied to clipboard

No Recordings Saved.

Open LordTocs opened this issue 4 years ago • 1 comments

This plugin solves a streaming problem I've had so I was very excited to come across it. Sadly it doesn't seem to produce files on my machine.

Things I've tried:

  • I installed the VS2019 redistributable on the plugin page. (Though I have VS2019 installed)
  • I tried "Software", NVENC, and x264 as encoders.
  • I tried changing the record mode from 'always' to 'record' just to see if something wasn't triggering the start of recording.
  • I tried an older version, 0.1.4 also doesn't produce a file.
  • I tried changing the hard drive the recordings were going to be written to.
  • I tried many different sources in OBS itself (Browser Sources, Video Devices, Scenes)
  • I normally run OBS in administrator mode because of some CPU priority shenanigans, but I turned this off just in case.

Curiously the log file says "Writing File '<path to output file>'" but there's no file there.

Here's the full log of me starting up OBS, enabling the filter to record with x264, disabling the filter shortly after, and closing OBS. no_files.txt

I can't seem to think of anything else to fiddle with. If I find some time this week I'll build it from source to fiddle further. Though hopefully something stands out to you.

LordTocs avatar Jun 21 '21 20:06 LordTocs

So I built everything from source and had a look around...

Good news I found the problem in the code. Not sure how too fix it though, still really new to the OBS codebase / plugins.

I hadn't selected "Different Audio" checkbox in my filter settings. So the encoder never had receive_audio called. Which caused obs_encoder::first_raw_ts to remain 0. Since first_raw_ts is 0 when receive_video is called it will early out and jump to a label wait_for_audio even though there's no audio coming. (The offending line in OBS is here https://github.com/obsproject/obs-studio/blob/master/libobs/obs-encoder.c#L1029) And since receive video never makes it far enough to call do_encode nothing gets sent to the outputs and so no file is written.

As a work around you can use the "Different Audio" checkbox to record some audio to the file, even if you don't end up needing it in the recording.

LordTocs avatar Jun 23 '21 03:06 LordTocs