I think I may have figured it out. When the service is running its current directory is set to windows\system32. For all of the commands that use relative paths, those will fail. We may need to call the commands using their full path. For example I changed the following line in tivostream_hd.enc and it seems to work. Code: PERL tivo_mp4_encode.pl -h FFMPEG INPUT OUTPUT to Code: PERL "c:\program files\kmttg\tivo_mp4_encode.pl" -h FFMPEG INPUT OUTPUT Now I'm getting an error trying to run qt-faststart, but I think the problem is similar. I'm gonna look at that next.