我每4秒运行一次这段代码
protected string output = string.Empty;
protected Process process;
protected StreamReader sr;
protected void Page_Load(object sender, EventArgs e)
{
process = new Process();
process.StartInfo.Arguments = "-an -flv_metadata 1 -analyzeduration 1 -i \"rtmp://localhost/test/testStream live=1\" -s 700*394 -r 5 -vframes 10 -f image2pipe -";
process.StartInfo.FileName = Page.MapPath("ffmpeg.exe");
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.CreateNoWindow = true;
process.EnableRaisingEvents = true;
process.Start();
sr = process.StandardOutput;
output = sr.ReadToEnd();
process.WaitForExit();
if (output.Length > 200)
{
process.Close();
if (process != null)
{
process.Dispose();
if (process != null)
{
try { process.Kill(); }
catch { }
process = null;
}
}
}
}
我使用asp.net c#运行FFmpeg进程以获取图像数据 来自rtmp stream 代码工作正常,但问题是 IIS工作进程内存不断增加。
我尝试使用using语句 和: 关, 处置, 杀, process = null 但没有任何帮助
如何阻止这种记忆增加? 有没有更好的方法来控制IIS工作进程内存 来自asp.net c#code? p>