Кто заставляет засыпать мой процесс?
От: PDmitry Россия  
Дата: 18.04.06 08:52
Оценка:
Я пишу ASP.net приложение, которое принимает мультимедиа файлы конвертирует и отправляет обратно клиенту.
Использую для конвертации утилиту которую запускаю из коммандной строки. Запускаю примерно так:


ProcessStartInfo startInfo = new ProcessStartInfo("ffmpeg.exe","-i 1.avi -y -b 360 -r 25 -s 320x200 -deinterlace -ab 56 -ar 22050 -ac 1 \"2.flv\" ");
startInfo.RedirectStandardError = true;

startInfo.RedirectStandardOutput = true;
startInfo.RedirectStandardInput = true;
startInfo.UseShellExecute = false;
startInfo.CreateNoWindow = true;
            
Process process = Process.Start(startInfo);
process.PriorityClass = ProcessPriorityClass.Normal;
Console.WriteLine(process.StandardOutput.ReadToEnd());
process.WaitForExit();


Проблема в том что конвертация идет хорошо только первые 20 секунд потом процесс замирает, это значит что кушал 50 % процессорного времени а потом бац и в ноль ушел.

Проблема не в настройках ASP.net потому что смастерив простое консольное приложение получил тот же самый результат. Если убить мое консольное приложение то ffmpeg.exe не убивается и продолжает работать но только теперь оно нормально работаек кушает как и положение 50%.

Полагаю это .NET 'глушит' мой процесс, но где это отключить не представляю.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.