We need to transform the shellouts in TimedMediaHandler to use BoxedCommand and shellbox and thus make it possible to execute shellouts remotely, solving some of the problems in porting videoscalers to k8s.
After analyzing the code, there's two major places where shellouts happen:
- TimedMediaThumbnail::get, but this function is in practice never called in production as we delegate thumbnailing for videos as well to thumbor
- WebVideoTranscodeJob, where we run both fluidsynth and ffmpeg to convert video/audio files, that will need to be converted.