Instead of processing a single video linearly, how about splitting the video into smaller chunks for distribution across multiple worker threads akin to seti@home. These chunks or work packages could then be processed in parallel on either on single GPU or distributed across a network to other devices, with the aim being to maximise use of available GPU and CPU resources. I appreciate we can process multiple videos at the same time but I often don’t have a use case.