I want to to stream from my laptop to lessen the stress on my desktop but I don't know how to share my desktop screen with my laptop to be able to stream my face as well as my game-play but I don't know how to do so.
Any help is appreciated.
Video Production Stack Exchange is a question and answer site for engineers, producers, editors, and enthusiasts spanning the fields of video, and media creation. It only takes a minute to sign up.
Sign up to join this communityI want to to stream from my laptop to lessen the stress on my desktop but I don't know how to share my desktop screen with my laptop to be able to stream my face as well as my game-play but I don't know how to do so.
Any help is appreciated.
Well, you could use the normal tools to get video off your desktop. Instead of having it go to twitch (or whatever), it would go to your laptop. You'd use a high quality / bitrate, with minimal CPU usage settings. x264 is probably still the best codec, since ethernet driver CPU time will start to matter if data rates are TOO high. So you need a lossy codec, and x264 --preset superfast --no-cabac --crf 15
is probably the way to go.
On your laptop, you'd have something set up to receive the stream and feed it through ffmpeg, with the output of THAT going to twitch (I assume). So you'd have your laptop set up to decode the stream from your desktop, run it through x264 with the best quality setting it can manage in realtime.
You could maybe use something like inetdto listen on a socket and run ffmpeg when a connection is received, with ffmpeg's stdin and stdout connected to that socket. (You'd actually need a wrapper script I guess, to get ffmpeg's output directed to twitch, or whatever you're streaming to.) Also, instead of full-blown inetd, you could use a single-socket simpler program like maybe just netcat.
If your laptop isn't running Linux or OS X, this probably still works with a Windows build of netcat, but you'd have to be careful that piping that much data around doesn't cause performance problems on Windows ports of Unix tools. (don't use cygwin).
To get your face in a corner of the video, attach a camera to your laptop, and have ffmpeg read from it, as a 2nd input stream. Use some combination of -filter_complex scale,overlay
to combine your streams. (get the filters worked out by testing with file inputs, like 10 sec clips of 2 different videos.)
As far as other ways to get video off your desktop for encoding somewhere else, VNC exists, but it's probably not viable for actual video.