CoderAnswer - 程序员编程问答

在C#中使用FFMpeg不修剪和复制视频文件

by @chapperzuk

c# ffmpeg video-editing

我正在尝试使用FFMpeg在Visual Studio中使用C#剪辑视频。我运行下面的代码,它没有任何错误,但它不会创建一个新的视频文件。

我在这里环顾四周以确保我使用了正确的代码,但经过多次尝试后它仍然无法复制。

string videoFile = @"C:\Users\dave\Documents\video 1.mp4";
string outputFile = @"C:\Users\dave\Documents\video 2.mp4";

Process process = new Process();
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.FileName = @"C:\Users\dave\Documents\ffmpeg.exe";
process.StartInfo.Arguments = "ffmpeg -i " + videoFile + " -ss 00:30:00 -t 00:00:10 -c copy " + outputFile;
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
的Process.Start();

我期待从原始视频中剪切视频,从30秒开始,持续10秒,但没有创建。

我使用https://ffmpeg.zeranoe.com/builds/上的最新FFMpeg


1个答案

0 by @Jayoti Parkash

您可以这样尝试:

string videoFile = @"C:\Users\dave\Documents\video 1.mp4";
string outputFile = @"C:\Users\dave\Documents\video 2.mp4";
string command = @"ffmpeg -i ""{0}"" -ss 00:30:00 -t 00:00:10 -c copy ""{1}""";
Process process = new Process();
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.FileName = @"C:\Users\dave\Documents\ffmpeg.exe";
process.StartInfo.Arguments = string.Format(command,videoFile,outputFile);
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;
process.Start();

相关问题