Самое простое, что нужно сделать, это просто использовать FFMpeg в качестве исполняемого файла. Создайте командную строку, затем выполните ее.
Однако ... это плохая идея. Если вы начнете связывать воедино несколько одновременных FFMpeg, вы, вероятно, в значительной степени убьете машину, даже если вам понравятся процессы.
Что вам нужно сделать, это построить систему очередей демонов. Вы можете поместить носитель для кодирования весь день в папку, и ffmpeg просто запустит следующий элемент в очереди (что также подразумевает необходимость приоритета). Таким образом, вы можете правильно создавать команды.
В Unix мы просто настраивали задание cron, которое проверяло БД каждую минуту или около того (вы бы использовали планировщик заданий Windows) ... если в очереди что-то есть, пометьте статус как «кодировка», начните процесс кодирования, затем проверьте еще раз, когда закончите. Когда очередь пуста, снимите отметку с статуса. Таким образом, другие приложения (скажем, сам веб-сайт) также могут знать о статусе кодирования, что лучше во всех отношениях.