Question / Help Record and stream at different bitrates?

chindave

New Member
Hi there!

I am looking to stream to an audience @ 3000 kb/s. Additionally, I am wanting to make a HD video, my primary way of interacting with my audience, using the content from the stream. Problem being, the bitrate when streaming is far too low to make an editable HD video out of.

I have done this running two separate solutions in the past (fraps and xsplit at the same time), but was hoping OBS could provide something more elegant with less impact on my system.

Is there a way to run two separate instances of OBS at the same time? Is there a way to mark "save to file" with its own bitrate when setting up stream options? Anything else I haven't thought of or missed?

Any and all input is greatly appreciated!

Thanks!
 

Krazy

Town drunk
Unfortunately, there isn't a way to do this without encoding twice. However, if you have Intel QuickSync available, it's rather easy, and with no real additional system strain. QuickSync can be a pain to get working, however.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Will be possible in the future -- though note that using two encoders at once will be quite a strain on the system,
 

theinzane

Member
If you have a capture card in your PC like the live gamer hd you could do this. As long as you aren't using the capture card as a video source to OBS this should work and its available for when you want to record it shouldn't be a problem.
 

Boildown

Active Member
chindave said:
Is there a way to run two separate instances of OBS at the same time? Is there a way to mark "save to file" with its own bitrate when setting up stream options?
Thanks!

You can run two instances of OBS at the same time. In fact that's what I do every time I stream.

You use the -multi switch at the end of the OBS command line to enable it.

You can use -portable to have the settings saved individually for each copy of OBS on your hard drive. I find this is practically a necessity when using -multi.

More info found here: viewtopic.php?f=5&t=2089

On your high quality local capture, you'll probably want to go with a lower-quality less-CPU-intensive preset with a high bitrate, or else you risk starving your stream of CPU resources, which is going to be a problem anyways if you're doing this all on one PC (personally I use a second PC with a video capture card for this).

See this guide as well: viewtopic.php?f=18&t=2972

Another trick I use is the advanced command threads=x where x is a number between 1 and the number of CPU cores you have times 1.5 (inclusive). I have a hyperthreading CPU, so x264 likes to use too many threads. And also doesn't split them well between my two instances of OBS. So I manually set threads=6 or 7 on my streaming OBS and threads=4 or 3 on my local capture OBS. I find that making the total threads = 9 or 10 on my i7 2600k that I stream with works best. Different CPUs will have different best threads= settings, which you can only determine by experimentation.
 

SirCrest

New Member
You can run two instances of OBS at the same time. In fact that's what I do every time I stream.

You use the -multi switch at the end of the OBS command line to enable it.

You can use -portable to have the settings saved individually for each copy of OBS on your hard drive. I find this is practically a necessity when using -multi.

More info found here: viewtopic.php?f=5&t=2089

On your high quality local capture, you'll probably want to go with a lower-quality less-CPU-intensive preset with a high bitrate, or else you risk starving your stream of CPU resources, which is going to be a problem anyways if you're doing this all on one PC (personally I use a second PC with a video capture card for this).

See this guide as well: viewtopic.php?f=18&t=2972

Another trick I use is the advanced command threads=x where x is a number between 1 and the number of CPU cores you have times 1.5 (inclusive). I have a hyperthreading CPU, so x264 likes to use too many threads. And also doesn't split them well between my two instances of OBS. So I manually set threads=6 or 7 on my streaming OBS and threads=4 or 3 on my local capture OBS. I find that making the total threads = 9 or 10 on my i7 2600k that I stream with works best. Different CPUs will have different best threads= settings, which you can only determine by experimentation.

Sorry to bump but this was one of the recent threads that seemed to atleast have what I was looking for. I finally set this up and two things. First, I was going to use dxtory to feed it to a Quicksync 1080p60 25mbps instance for local recording and then a x264 720p60 2.5mbps for streaming. But the moment a second session hooks onto a dxtory output feed my CPU usage on my 3770k goes from about 15% to 95% and the framerate in a game like GRID goes from 250 to 35 or so. Simply switching scenes to game capture brings it back down to about 20%

I then tried making both sessions use game capture but only one OBS session can hook into a game it seems. I noticed in many places it was mentioned that Directshow devices can only be hooked once, which is fine, but I thought maybe it might be a different case here. I did manage to use Dxtory on one OBS session and game capture on the other, but that then provides different visual results between the stream and local copy. The gamecapture one seems to be slower.

Is there an alternative to this? I also attempted to get some sort of local RTMP thing going to see if I could port over my quicksync feed to... myself and then re-encode it but I can't get anything to function.
 

Boildown

Active Member
I have no experience with Dxtory, so I have no advice other than try to get a setup where you don't need to use it. There's popular guides on RTMP streaming in the Resources section, but they're 2-PC solutions. Personally I use 2 PCs and a video capture card, which is why I don't have the game capture problem. For a one PC solution, you probably need to use game capture for one, and some other kind of capture for the other OBS instance, or game capture for neither.
 
Top