gpt4 book ai didi

C# 应用程序 - 从命令行运行 FFMpeg 不起作用

转载 作者:行者123 更新时间:2023-12-04 23:26:43 24 4
gpt4 key购买 nike

我正在尝试从 C# 中的命令行运行 FFMpeg。以前我是从“CMD.exe”运行它并且它正在工作,但这需要在本地安装 ffmpeg 并配置我的系统环境变量。所以我想直接从“ffmpeg.exe”运行它。我正在使用以下代码(所有路径都是正确的),但没有任何 react :

string programToRun = "C:\\Users\\dkahn\\Documents\\PlaybackTool\\PlaybackTool\\Desktop\\Source\\Player\\Player\\ffmpeg\\ffmpeg.exe";

string directoryName = "C:\\Users\\dkahn\\Documents\\PlaybackTool\\PlaybackTool\\Desktop\\Source\\Player\\test\\test1-1.mp4";

string command = "@ffmpeg -i test1-1.mp4 -r 1 -s 180x101 test1-1\\output_%04d.png";

Process cmd = new Process();
cmd.StartInfo.FileName = programToRun;
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.UseShellExecute = false;
cmd.StartInfo.WorkingDirectory = directoryName;
cmd.Start();
cmd.StandardInput.WriteLine(command);
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
cmd.WaitForExit();

有没有人有任何见识?

最佳答案

这就是我解决这个问题的方法。

           var startInfo = new ProcessStartInfo(AppDomain.CurrentDomain.BaseDirectory + "ffmpeg.exe");
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.WorkingDirectory = path + "\\";

startInfo.Arguments = "-ss " + _startTime + " -i " + info.FullName + " -t " + _duration + " -map 0 -c copy -c:a copy " + "sample" + GetExtension(info);//-acodec

var processn = Process.Start(startInfo);
processn.EnableRaisingEvents = true;

processn.WaitForExit();

其中 path 是您的目录,info 是您要处理的文件。

关于C# 应用程序 - 从命令行运行 FFMpeg 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43355486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com