CPU usage isn't necessarily the best indicator of efficiency, I'd rather look at what get's the job done quickest - but it is true that some (lots of) algorithms are hard to parallelize. I'd still say it would be more efficient to do the processing from a single multi-threaded application, though; if for nothing else, just for the ability to do I/O more efficiently.
I'm not familiar with the various video compression algorithms, but since many of them have the concept of keyframes, perhaps there's no dependency on the previous data stream once there's a keyframe - if that's the case, it might be possible to thread at keyframe granularity. Dunno if it'd be worth the possible code complexity, but it would definitely be nice to do all the encoding and muxing in one step.