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

Huge RAM usage on Mac

Open angeloruggieridj opened this issue 1 year ago • 6 comments

Hi, I'm using Replay Source 1.8.0 and OBS 30.2.3.

I've configured Replay Source as a filter of a layer where there are two cameras and a switch visibility between them. Replay duration: 10000 ms (10s)

Replay layer is configured as follow:

  • Duration: 10000 ms
  • Load delay: 0ms
  • Maximum replay: 1
  • Action if visible: Restart
  • Speed: 95%
  • Folder path given
  • Unticked "without quality loose"

So the problem is that, when I start OBS it uses 6.4 GB of RAM. Without the plugin enabled only 1 GB or less. During the live, since ten minutes, the RAM usage spikes at 15.0 GBs and the software began instable.

The hotkey that are configured and I use are:

  • Load replay
  • Save replay

Is there a way to reduce the RAM usage by the plugin?

Another point: I've seen that if I do the following steps:

  1. click Save replay
  2. [WAIT ONE MINUTE]
  3. click on Load replay (because I want to recall the replay after, not immediately)

It doesn't load the replay saved at the step 1 but the last N-seconds from the live stream before I press the "Load replay" button. How can I handle it?

Thank you

angeloruggieridj avatar Oct 31 '24 14:10 angeloruggieridj

This plugin saves all video raw in memory, to allow you instant playback, If you don't want that, I would advice using the source record plugin that has a replay buffer option.

exeldro avatar Oct 31 '24 16:10 exeldro

Yes I've thought about that possibility. But, in that way, you don't have the complete control to recall the last saved file and then the automatic switching after the replay recording ends.

Is there any settings that could be used? Clean the replay for decrease memory usage and for the last replay recall on demand?

angeloruggieridj avatar Oct 31 '24 16:10 angeloruggieridj

you can use the replay lua script that comes with obs to load the last saved file

exeldro avatar Oct 31 '24 16:10 exeldro

I've setted it up. The problem is that I want to save as Instant Replay only video coming from a specific scene, not the program that is viewed in OBS.

For example, only the camera layer without the overlay. Is there a way to do it?

angeloruggieridj avatar Oct 31 '24 18:10 angeloruggieridj

Like using the replay buffer function from the source record plugin?

exeldro avatar Oct 31 '24 19:10 exeldro

I've tried also this function. So, source record record the entire layout in the file. If you set the Replay Buffer on it, on hot key pressed, it saves the replay using the same prefix (only the timestamp changes).

For example:

  • CLEAN LAYER - 2024-10-31 18:00:10: it is the entire recording coming from Source Record
  • CLEAN LAYER - 2024-10-31 18:01:10: first replay clip
  • CLEAN LAYER - 2024-10-31 18:05:10: second replay clip

In that case the Instant replay script doesn't work. How can I load the last replay coming from the Replay Buffer of the Source Record?

Do you have any advice on it or I've missed some steps?

angeloruggieridj avatar Oct 31 '24 19:10 angeloruggieridj