SharpFFMpeg ffmpeg преобразование tutoiral - PullRequest
2 голосов
/ 22 октября 2009

Я после хорошего урока, или как использовать SharpFFMpeg, или если есть простой способ использовать ffmpeg в c # ...

Я бы хотел конвертировать видео. (Формат x) в video.flv, снимая скриншоты и сохраняя их на ходу.

Если есть хороший учебник или вы знаете простой способ сделать это, пожалуйста, опубликуйте его здесь.

Спасибо, Киран

Ответы [ 2 ]

3 голосов
/ 25 ноября 2009

То есть, используя ffmpeg.exe, а c # не использует sharpffmpeg.

1 голос
/ 26 октября 2009

Запуск аргументов командной строки 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
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...