Request: Local Recording without overlays

storrm

Member
Hi,

I make use of the ability to both stream and record to my local HDD at the same time. I was wondering if it would be possible to record only a specific scene to the hard drive rather than the version that is output to the stream with all the overlays etc. The reason for this is that I like to post-edit the footage before posting to Youtube in an edited fashion. When editing, I would like to be able to use just the 'raw' base footage with no overlays, scrolling names, video overlays etc.

Thanks
 

dodgepong

Administrator
Forum Admin
To be clear, what you're asking for is to run another encoder instance for each "clean" source that you would be exporting. So, let's say you're streaming with one encoder, recording the stream with another encoder, then recording your game source with another encoder, and your webcam with yet another encoder -- that's a lot of simultaneous encoding going on, even factoring in hardware encoding. I'm not saying it's impossible, and some people's computers would be able to handle it, but I just want to be sure that people understand that multicording has the potential to significantly increase resource utilization.
 

emackn

New Member
It's a nice to have feature for me, not a deal breaker. The Use Case is that I often need a non overlay version to send to other people for comments or even to chop up and use in montages.

If I really need it though, I can always get a capture card, the marketechture for the HD60 says it saves a raw 1080@60fps version for later use.

Thanks for the reply.
 

BandofOthers

New Member
Hopefully it's ok to bump this as I actually was told this was a feature in OBS by a viewer who's apparently using it, clearly he's put one over on me.

Now I'm no Developer so please accept my apologies but I'm not entirely sure I understand the multi-encoder approach to this feature?

Just to re-iterate I'm not a Developer but I do have a very good understanding of html and css and it seems to me that if we were given css options between Streaming and Local Recording that would satisfy this need quite nicely. Streamlabs (for example) gives us all kinds of control via custom css and it's amazing.

Streamlabs does not differentiate between Streaming and Recording and that's not what this is about, I'm just using their css options as an instance.

Assuming I could have a css file for Recording and css for Streaming then I could create something rudimentary as follows:

Desktop Capture with css allowing to assign it as a div so <div id="desktop"></div>

Streaming:

.desktop {
position: fixed;
width: 100%;
height: 100%;
}

.desktop .overlay1 {
position: fixed;
width: 100%;
height: 100%;
z-index: 2;
}

...then for recording I can either decide to display the overlay or alter the z-index value of the desktop layer:

Recording:

.desktop {
position: fixed;
width: 100%;
height: 100%;
}

.desktop .overlay1 {
position: fixed;
width: 100%;
height: 100%;
display: none;
}

...or:

z-index adjust:

.desktop {
position: fixed;
width: 100%;
height: 100%;
z-index: 2;
}

.desktop .overlay1 {
position: fixed;
width: 100%;
height: 100%;
}

Now I cannot know how easy or difficult it is to make OBS able to do this so again I'm not saying this would be quick or easy by any means. I'm merely stating that allowing for css control over both Recording and Streaming seems like a far simpler and much lighter weight idea than running multiple encoders.

I also believe that using css gives you far more control over customization than any other means so imho it would be a Godsend to those of us who need to capture the stream in a different manner.

Thanks for reading,

Ken
 

dodgepong

Administrator
Forum Admin
An encoder creates a video stream. That video stream can either be streamed over RTMP to a stream service and/or inserted as as the video portion of a locally-recorded file. An encoder takes a raw frame input, encodes it, and puts it into the video stream.

When you ask for a recording with and without overlays, that means you have two frame inputs: one version of the frame with one set of sources enabled, and another version with a different set of sources enabled. Those are two different inputs that each need to be encoded into separate videos. You can't take 2 different frames, feed them into one encoder, and have it output 2 different video streams. An encoder can only take 1 input and output 1 video stream.

So to record each of those frames, you need an encoder for each running at the same time. For each scene or raw source you want to record, you need its own dedicated encoder to create the video stream that will be either streamed or recorded locally.

The most simple way I can describe this is that if the result you want is two different-looking videos containing different content in each, then you need a separate encoder for each video. There is no way around that. Everything you mentioned in your post has to do with rendering, not encoding. OBS is already very capable of rendering different things at the same time. The problem isn't that OBS can't render 2 things at the same time, because it very well can, and does all the time. The problem is that turning each of those different renders into an actual video file capable of being saved or streamed requires a separate encoder for each one.
 

AaronZ

Member
+1 for this feature. AmarecTV is basically doing what this is (making a raw recording from the capture card and passing it onto OBS), but its buggy at times and would be nice to have an all in one solution with OBS. Allow it to record the device with/without filters and transform adjustments.
 

Atingleee

New Member
I would also love this feature! Would be great to have a local recording that allows you to remove some sources. A workaround I've come up with that you guys can use for the time being:
Have two OBS instances open. The first is simply for the local recording (in my case just the gameplay feed from my elgato capture device) with a full screen display. Then the second instance is doing a display capture of the other OBS window and adds the other sources for the overlay to be streamed to twitch. Granted you need a powerful system for this.
Hope this helps :)
 

massivelivefun

New Member
This feature would be a very good solution for those, including me, who are limited to a capture card and a dedicated streaming pc. The fact that you can offload the different tasks such as streaming and recording to separate gpus makes me surprised that users can't differentiate between what recording and streaming would capture. As it stands, at least from what I have seen, elgato capture cards and their master copy feature is just one of the few and "free" ways to make a separate copy of the footage, aside from AmaRecTV. However, the elgato capture software is very limited in a sense of transitions, source types, scene files, profile files, miscellaneous settings, et cetera.

tl;dr +1 for this feature, because some users have multi gpu setups
 

Kaiyados

New Member
+1 for me. I use two OBS instances to do this. Right now there is an eyeball icon/button for hiding/showing a source altogether, but if we could get an eyeball for stream and an eyeball for record, that would be cool! Thanks.
 

EposVox

Member
Just throwing two cents in here:
The HD60 Pro does this because it has an onboard encoder used when recording in the Elgato app So when you stream with their app, it's using X264 or hardware equivalent and recording the "raw" copy with the onboard encoder.
Only a couple of their cards support this and only in their app.
In theory a collaborative plugin could do this w/in OBS, as iirc XSplit had a deal w/ AVerMedia for the original Live Gamer HD PCIe card to do this back in the day - but it won't magically be a native OBS feature universally applicable without a lot of crazy hack-y coding and requiring WAY MORE computer resources than normal.
 

Filgaja

Member
Hey there :)

I would love to see something like that even if i would use it in a little other way then separate stream from record :)
Actually i found a self made trick to get an overlay on screen and record / stream a scene without my "overlay".
I made a "overlay" scene and made a full-screen projector of it:

Image1.png


As you can see it is an overlay for
- facecam (right upper connor)
- record / stream timer
- cam status
- viewcounter
- streambos
- streamlabs alert
- and stream chat (isnt shown because i am not live)

At his point it is just a Black Screen with overlay:

Image3.png


Here comes the magic named AHK (Autohotkey)
I am using a script to keyout the black background and make the overlay clicktthroughable + on top

This is how it looks like:

Image2.png


Now i am able to record / stream a different scene without my overlay.

It works quiet Well and in most games i have stable 60fps.
BUT it eats up a lot of hardwaresource and on some games on PC i have framedrops because AHK needs much resource to key out the background

So because you already have the ability to projecting a hole scene, isn't there a possibility to give the possibility of a transparent background in a scene? or would it also eats up a lot of hardware src?

-------

To fit the request of others: atm you can record + stream at the same time. Would it not be possible to give option which scene is set to be recorded and which scene is selected to stream? i would use a ingame scene without any streamoverlay for raw foodage and use scene with overlay to stream. Especially when i am doing a live lets play.

Sorry for my bad english - i Hope its understandable

Cheerz
 
Last edited:
Top