Запуск аргументов командной строки
www.codeproject.com/KB/cs/Execute_Command_in_CSharp.aspx
Извлечение изображений
http://stream0.org/2008/02/howto-extract-images-from-a-vi.html
protected void BTN_convert_Click(object sender, EventArgs e) {
String runMe = @"C:\Documents and Settings\Wasabi Digital\My Documents\Visual Studio 2008\Projects\Evo\WEB\Bin\ffmpeg.exe";
String pathToFiles = @"C:\Documents and Settings\Wasabi Digital\My Documents\Visual Studio 2008\Evo\WEB\test\";
String convertVideo = " -i \"" + pathToFiles + "out.wmv\" \"" + pathToFiles + "sample3.flv\" ";
String makeImages = " -i \"" + pathToFiles + "out.wmv\" -r 1 -ss 00:00:01 -t 00:00:15 -f image2 -s 120x96 \"" + pathToFiles + "images%05d.png\"";
this.ExecuteCommandSync(runMe,convertVideo);
this.ExecuteCommandSync(runMe, makeImages);
}
А это фрагмент кода, взятый из первой ссылки. Дополнительные кавычки вокруг использования команды позволяют ей работать с пробелами в ее имени. т.е. "... / Мои документы /..."
public void ExecuteCommandSync(String command, String args) {
try {
System.Diagnostics.ProcessStartInfo procStartInfo =
new System.Diagnostics.ProcessStartInfo("\""+command+"\"",args);
Process.StandardOutput StreamReader.
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;
procStartInfo.CreateNoWindow = true;
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo = procStartInfo;
proc.Start();
string result = proc.StandardOutput.ReadToEnd();
Debug.WriteLine(result);
} catch (Exception objException) {
// Log the exception
}