Separate computer for encoding?

Lownin

New Member
Maybe there is already a way to do this?

I think it would be great if I could run OBS on the computer I want to stream from, but that it would do minimal work. Perhaps just dumping a raw/rawish frame buffer over gigabit Ethernet to another computer running another OBS agent that would do all the heavy lifting of all that realtime encoding the video stream and sending it out to twitch or wherever.

Thoughts?
 

Lownin

New Member
In my particular use case, I don't have the cash to buy a capture card, but also I have a perfectly great i7 laptop. My gaming PC's CPU is a bit weak for streaming (3ghz Core 2 Duo) but with a strong video card. My theory is that I could use hardware I already have to stream a lot more smoothly with the aid of the strong CPU in my laptop.
 

Krazy

Town drunk
Currently there is no way to do this, and there likely won't be for some time. Streaming over LAN, which is what you're wanting to do, IS possible, but it would take a decent amount of work to implement.
 

keturn

New Member
I did this with the command-line avconv tools this weekend. On gaming PC use x11grab input and output to tcp://my-encoder-server/ , on encoder-server use tcp://0.0.0.0/?listen input and RTMP stream as output. The x264 encoder on the laptop effectively uses multiple cores and does a pretty decent job encoding.

So it works as a proof of concept. I think I need better suggestions for what to use as the low-CPU encoder on the gaming PC, because it's still a very significant processor load (unless, perhaps, your game was leaving one of those cores idle anyway). Maybe there are better capture methods than x11grab? I was trying to use a lossless encoder, because I didn't want to introduce re-encoding errors, but there could be better tradeoffs than the ffvhuff option I tried. It easily takes > 100 megabit bandwidth (had to use a gigabit switch).

All in all, libavformat does have the necessary bits for doing the network communication... but yes, it'd still be a significant amount of work to support that workflow in something like OBS. Probably cheaper to buy more cores for that gaming rig.
 

Bensam123

Member
All the particulars are in this thread, but I agree it would be a great feature for OBS to implement in some sort of native form instead of having to use workarounds.

viewtopic.php?f=7&t=329

Just capturing with OBS works pretty well as I mentioned in the above thread. That's just using the lightest encode option and oodles of gigabit bandwidth. Jim may eventually be able to work out something that doesn't even use the encoder or uses a lighter weight one for intranet travel.

I don't think this would be a big deal to support. You can pretty much do it right now with OBS, only OBS can't use a RTMP stream as a source for it, so you have to use something like Xsplit.

You can get a AMD Athlon 2 640 for like $80 on sale. It's much cheaper then buying a hex core and using gigabit as a medium is cheaper then buying a capture card, plus you can put the second PC wherever you want in your house.

Jim said:
There are people currently experimenting with it -- not sure how great the results will be though, yet. Encoding via lan would be really cool though. If you can get a network connection of sufficiently high bandwidth it should be easily doable. I want to personally experiment with these things in the future myself as well.
 
Top