Feature Request: Distributed encoding/broadcasting

FiZi

New Member
This may be out of the scope of OBS but I figured I'd ask.

I'd like to be able to run OBS on my gaming machine and have it pass off the video over my network to my server for encoding and broadcasting to Twitch.tv and other services.

The idea would be OBS would take up very minimal resources on the gaming rig, send the video uncompressed to the server via the network and then the second machine could use it's CPU/GPU to do the encoding and broadcasting.

Linux and Windows support would be ideal.
 

SirCrest

New Member
The first problem is bandwidth. Even Gigabit LAN would have problems sending uncompressed video over. What is likely a solution to that is a quick chroma subsample. Going from raw RGB to maybe YV12 would cut bandwidth by half and then perhaps you could use some very light compression codecs like LAGS or UT to cut it down a bit more. Then the receiving machine could have a much more manageable stream to parse, encode, and upload.

I've been looking into this for a long time, but I don't know enough about code to do anything with it. It would be great if it were possible to use something like Dxtory to hook and then record the video, do the subsampling, compress with a very mild codec that takes very little performance then it sends it over gigabit and then to the receiving machine, but again, I merely came up with ideas for it, not much in the form of actual... results.

A possible idea is to use QS to encode with very high bitrates and then send that to another machine to re-encode with proper x264 presets with better efficiency, I would think that's also possible.
 

Bensam123

Member
There isn't a problem with bandwidth as described in the thread.

There is no need to send completely raw data over the network. You can lightly encode it with a ultrafast preset and then use gobs of bandwidth the make up for any sort of quality lose it would incur. See the thread quoted for a few tests and results regarding this. OBS just needs to be able to either take a stream in (with the use of a native server). If OBS could implement something custom it would be even better, but this is something pretty simple. Jim even said he had a test media server built in at one point (which would be used to relay it to another OBS client), not sure on what happened with that though.

In the test, besides a view syncing issues, I had almost identical quality to the source.
 
Top