я пытаюсь создать обертку.NET для преобразования медиа-файла с помощью ffmepg, вот то, что я попробовал:
static void Main(string[] args)
{
if (File.Exists("sample.mp3")) File.Delete("sample.mp3");
string result;
using (Process p = new Process())
{
p.StartInfo.FileName = "ffmpeg";
p.StartInfo.Arguments = "-i sample.wma sample.mp3";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.Start();
//result is assigned with an empty string!
result = p.StandardOutput.ReadToEnd();
p.WaitForExit();
}
}
то, Что на самом деле происходит, является содержанием ffmpeg программы, распечатывается к Консольному приложению, но результат
переменная является пустой строкой. Я хочу управлять прогрессом преобразования в интерактивном режиме, таким образом, пользователь не должен даже знать, что я использую ffmpeg, но он все еще знает детали прогресса преобразования и какой процент и т.д. приложение составило.
В основном я также был бы доволен оберткой.NET для P/Invoke к функции преобразования ТОЛЬКО (я не интересуюсь целой внешней библиотекой, если я не могу извлечь функцию PI из него).
Кто-либо с опытом в ffmpeg и.NET?
Обновление Просмотрите мой дальнейший вопрос, , как записать вход в выполнение ffmpeg процесс .