[Guide] Two PC configuration without Capturecard

Boildown

Active Member
OkuRaku, that stream looks really good IMO. If your game is GPU bound then NVEnc will still slow things down, because it does use the GPU somewhat. Not sure its entirely free on the CPU side either.
 

Pierretv

New Member
Hi guys!

Thanks for the awesome tutorial, I managed to make it work with my poor skills on Windows thanks to this guide and Helping Squad videos :)

Somehow, I had to remove the $name from the transcode.bat to make it work, don't know if I misunderstood something or if it's different with windows from linux.

I have a question tho. If I want to stream in 720p, do I need to downscale it on OBS or the transcode is enough? I may have missed this information on the thread even if I read it tons of times.
Also, I found that my stream quality was a lot better with higher presets than lower ones, is it supposed to work like that? I know that a lower preset allows a lower bitrate, but I thought the quality was better for same bitrate+lower preset.

Thanks for your help and for the guide.
 

Jack0r

The Helping Squad
Yea $name only works inside the config file, nginx automatically replaces it with the necessary stuff. So in an external batch you have to replace those with your app and streamname :) But nice you got that covered!

If you dont save the original input size somewhere and just need 720p you could use the OBS downscale. But you can also check which looks best maybe. FFMpeg offer lanczos resize as well and some other filters.
Do you mean with higher preset = more cpu consuming? Its normally like that:
Ultrafast -> low quality, low cpu usage
superfast / veryfast -> low to med quality, low to medium cpu usage
faster -> fast -> medium -> slow -> medium to high quality with medium to high cpu usage
So using a "slower" preset than ultrafast should increase the quality in small steps.
 

Pierretv

New Member
Thanks for your answer.

For the cpu preset, on many tests using just one computer I had a worse quality lowering cpu preset :( I asked lot of ppl and everyone had the same thought that's why I was wondering ^^

Concerning this thread, I'm running into someone else problem:
"When I have successfully gotten it to twitch, their quality measure always says my keyframe setting is wrong, that CBR isn't on, and I observe the 1 second freeze every 5 seconds or so that I think some others have described in the thread."

It was working perfectly fine yesterday but now it starts freezing up every 5sec. 15K or 25K bitrate doesn't change anything, same for cpu preset on transcoding (I'm not cpu limited with medium in 1080p).

Any advice from ppl that managed to solve this problem?

Edit: after reseting everything, the issue comes from the bitrate. I can't use anything above 2k on transcoding otherwise it lags on stream. I have 5mbps and can handle 3/4k with OBS on single pc capture, I'm lost! :(
 

Lebo

New Member
I've run into this. Your second computer sending to twitch is not keeping up. I'm sure there is an error log but I verified this by running the ffmpeg command from a command line and observed it not keeping up.
 

014

Member
okuRaku said:
So I upgraded my gaming PC to a 4770k with a goal of getting a big QSV quality jump for this configuration... unfortunately now I can't stream with QSV because it's "taking too long to encode" and freezing up. I posted my logs for comparison over here if anyone wants to help me out. Can this kind of thing be caused by a driver issue? It seems like a misconfiguration somewhere...
The first thing I would try is reducing the bit rate. Are you at 25000 k? Try something less.
By the way, I streamed Battlefield 4 today to a local file (and uploaded it to YouTube later) using OBS without QSV on my 3570K. Bit rate in OBS was 25000k with a 7000k buffer. I couldn't tell I was streaming. I played later the same day without recording, and it felt the same.

Go into your BIOS and disable your integrated graphics. I know, you don't want to do that because you want to use QSV. Try it. Play Battlefield 4. You don't even have to stream. You'll notice that the game runs better. This was my result that was confirmed by someone I know doesn't stream/record. What goes away by disabling the integrated graphics is frequent micro-stuttering.
 

SKTLZ

New Member
I was wondering if you need intel quick sync on both pc ?

I have an I7 920 on the pc I would install my server
 

Pierretv

New Member
You don't need QuickSync on the nginx server :)

To anyone that would want to spend time making it work on Windows, DON'T. There are issues with ffmpeg and twitch, I couldn't make it work at all. It's really easy to do it with Linux if you follow nrw and Jack guides, even for a total beginner with Linux.
 

SKTLZ

New Member
So Having my Gaming pc stream to a linux box then on twitch would help me with performance ?

Edit : I'm also wondering how do you tell obs to not do the encoding ?
How does it work ?
 
SKTLZ said:
So Having my Gaming pc stream to a linux box then on twitch would help me with performance ?

Edit : I'm also wondering how do you tell obs to not do the encoding ?
How does it work ?
not neccessarily. what are the specs of your gaming rig?

it's not a matter of telling OBS to not encode, it has to encode since you're mixing multiple things in a scene. You have your game, an overlay image, and a facecam. That's the most basic mix of items, in order for all 3 of those things to be displayed for viewing (example: on twitch), they have to be encoded together. think of encoding like "live video rendering". This setup works in that your gaming rig using OBS is mixing them all together at a really high bitrate so it doens't have to compress everything down into a streamable bitrate (too high of bitrate and viewers wouldn't even be able to watch and of course it all depends on your upload limit). So this setup allows you to mix all 3 of your sources together at, for example, 25,000Kbps BUT since that bitrate is way to high to stream to your viewers, you send it to another PC to be transcoded down into a more reasonable bitrate (compressing it) and then that sends it to twitch or hitbox for viewing.

I have a 1 PC setup. it's an i5-4670k w/ GTX 760 and have no problem playing my games maxed out at 1080p AND streaming at 3,500Kbps 720p. I have not tried streaming 1080p yet.
 

014

Member
SKTLZ said:
So Having my Gaming pc stream to a linux box then on twitch would help me with performance ?

Edit : I'm also wondering how do you tell obs to not do the encoding ?
How does it work ?
Yes, it would help with performance unless you already have OBS set to the lowest CPU usage option.

I don't believe it's possible to pass media through OBS without encoding. If you did, you would lose all sound I think.

I have nearly an identical setup as the poster above me except I have a 3570K. There is slow down when streaming in CPU intensive games like BF4 and Guild Wars 2, but this two PC configuration makes it very manageable. I'm one of those players that plays BF4 on the lowest settings even though I have a GTX 760 because I want the 80-120 FPS that is achievable. I notice and care about slow down. But when I stream, I expect and accept the hit. I have not felt any slow down in other games by the way.
 

Jack0r

The Helping Squad
I guess the main idea is to not need a capturecard, while producing the same quality stream in the end and still offloading most cpu load to a second PC.
Lets say your main monitor uses 2560x1440 resolution, has 120fps and you want to record in 1080p30 for youtube, or even in its original resolution. A capturecard for that would probably cost you around 1000-3000$. I guess there can be different reasons :)
 

LevelPulse

New Member
Jack0r said:
I guess the main idea is to not need a capturecard, while producing the same quality stream in the end and still offloading most cpu load to a second PC.
Lets say your main monitor uses 2560x1440 resolution, has 120fps and you want to record in 1080p30 for youtube, or even in its original resolution. A capturecard for that would probably cost you around 1000-3000$. I guess there can be different reasons :)
But surely you're still using a lot of the CPU streaming at 1080p on the gaming PC as well? I'm new to Nginx so some in-depth detail would be nice.
 

Boildown

Active Member
LevelPulse said:
Jack0r said:
I guess the main idea is to not need a capturecard, while producing the same quality stream in the end and still offloading most cpu load to a second PC.
Lets say your main monitor uses 2560x1440 resolution, has 120fps and you want to record in 1080p30 for youtube, or even in its original resolution. A capturecard for that would probably cost you around 1000-3000$. I guess there can be different reasons :)
But surely you're still using a lot of the CPU streaming at 1080p on the gaming PC as well? I'm new to Nginx so some in-depth detail would be nice.

You have read this entire thread? I think it goes more than in-depth enough.
 

LevelPulse

New Member
Boildown said:
LevelPulse said:
Jack0r said:
I guess the main idea is to not need a capturecard, while producing the same quality stream in the end and still offloading most cpu load to a second PC.
Lets say your main monitor uses 2560x1440 resolution, has 120fps and you want to record in 1080p30 for youtube, or even in its original resolution. A capturecard for that would probably cost you around 1000-3000$. I guess there can be different reasons :)
But surely you're still using a lot of the CPU streaming at 1080p on the gaming PC as well? I'm new to Nginx so some in-depth detail would be nice.

You have read this entire thread? I think it goes more than in-depth enough.
TD;LR please. It would take me days to read this.
 

ThoNohT

Developer
You want in-depth information, but you don't want to read? Surely that's the way to get there.
Please, it's only 8 pages, and most of it is short posts. If you are genuinely interested, that really should not be much of a problem to get through. How would this work if every time someone new came along we'd have to summarize every thread he is interested in?
 

Jack0r

The Helping Squad
actually, reading the first post should have been enough to answer this question :)
The main idea is: streaming by first PC with high bitrate and transcode it by second PC.
Use Quick Sync - enabled
Alternatively, nvenc instead of quick sync. Both ways the cpu usage will be pretty low on the gaming PC. The real encoding is done on the second PC as in a usual 2PC setup.
 
Top