我正在尝试在 c#.NET 中为 ffmpeg 编写自定义包装器。我下载了多个版本,但似乎我将不得不使用带有 .exe 文件的版本。
ffmpeg.exe
ffplay.exe
ffprobe.exe
但是,我无法通过添加引用 -> 浏览等来引用这些可执行文件。
所以我现在要做的就是将它们添加为文件。然后像使用命令行一样对它们运行命令。
这可能吗?或者也许有人有更好的主意?
提前感谢您的帮助。
最佳答案
好的,我想通了。对于任何其他想要为 ffmpeg 编写 .NET 包装器的人。下载“共享”版本。将“bin”文件夹(带有可执行文件)的内容添加到您的项目中。只需右键单击您的解决方案 -> 添加新项目...
然后您可以按如下方式使用可执行文件。
您可以使用 ffmpeg、ffprobe 等以 json 或 xml 格式输出。因此您可以解析输出并执行任何操作。
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = false;
startInfo.UseShellExecute = false;
startInfo.FileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ffmpeg\\ffmpeg.exe");
startInfo.Arguments = "-f dshow -i video=\"Front Camera\"";
startInfo.RedirectStandardOutput = true;
//startInfo.RedirectStandardError = true;
Console.WriteLine(string.Format(
"Executing \"{0}\" with arguments \"{1}\".\r\n",
startInfo.FileName,
startInfo.Arguments));
try
{
using (Process process = Process.Start(startInfo))
{
while (!process.StandardOutput.EndOfStream)
{
string line = process.StandardOutput.ReadLine();
Console.WriteLine(line);
}
process.WaitForExit();
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.ReadKey();
快乐编码。
关于c# - 在 C#.NET 项目中使用 (ffmpeg) 可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26583828/