【发布时间】:2019-05-04 04:39:52
【问题描述】:
我目前正在尝试在我的 C# 程序中使用 FFMPEG 和以下代码合并两个文件,一个音频和一个视频:
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = false;
startInfo.FileName = "ffmpeg.exe";
startInfo.Arguments = "ffmpeg -i video.mp4 -i mic.wav -c:v copy -map 0:v:0 -map 1:a:0 -c:a aac -b:a 192k output.mp4";
using (Process exeProcess = Process.Start(startInfo))
{
exeProcess.WaitForExit();
}
所以我没有收到任何运行时错误,但是,它只是没有创建我需要的最终 output.mp4 文件。
【问题讨论】:
-
运行 ffmpeg 命令时命令提示符中显示什么?
-
我没有机会看到它。它只是弹出然后关闭
-
但是,如果我只在命令提示符中运行命令,它会执行合并。
-
哦,要保持 Cmd 提示打开,请指定 /k 开关。我认为您可能需要 CD(又名更改目录)-我看到您在调试文件夹中有 ffmpeg.exe-所以它看起来不错。我们最终将得到的是将 ffmpeg 中的标准输出读入 C# 以诊断根本原因。见这里mathewsachin.github.io/blog/2017/07/28/ffmpeg-pipe-csharp.html
-
把我的目录改成什么?