share desktop to laptop to stream from laptop
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.