在过去的4个小时里,我一直试图在C#中使用ffmpeg将2个.mp4文件合并为一个。
****我的代码如下:****
public void MergeFiles(string strFile)
{
string strParam;
string Path_FFMPEG = Server.MapPath("~/Video_Clips/ffmpeg.exe");
//Merging two videos
String video1 = Server.MapPath("~/Videos/fast1.mp4");
String video2 = Server.MapPath("~/Videos/fast2.mp4");
String file = Server.MapPath("~/Videos/input.txt");
String strResult = Server.MapPath("~/Videos/ConvertedFiles/Output.mp4");
strParam = " -f concat -i " + file + " -c copy " + strResult;
process(Path_FFMPEG, strParam);
}
public void process(string Path_FFMPEG, string strParam)
{
try
{
Process ffmpeg = new Process();
ProcessStartInfo ffmpeg_StartInfo = new ProcessStartInfo(Path_FFMPEG, strParam);
ffmpeg_StartInfo.UseShellExecute = false;
ffmpeg_StartInfo.RedirectStandardError = true;
ffmpeg_StartInfo.RedirectStandardOutput = true;
ffmpeg.StartInfo = ffmpeg_StartInfo;
ffmpeg_StartInfo.CreateNoWindow = true;
ffmpeg.EnableRaisingEvents = true;
ffmpeg.Start();
ffmpeg.WaitForExit(30000);
//ffmpeg.WaitForExit();
ffmpeg.Close();
ffmpeg.Dispose();
ffmpeg = null;
}
catch (Exception ex)
{
}
}
我的input.txt文件如下:
file' D:/Kapil_WorkSpace/ExtraProjectSource/VideoDemo/VideoDemo/Videos/fast1.mp4'
file' D:/Kapil_WorkSpace/ExtraProjectSource/VideoDemo/VideoDemo/Videos/fast2.mp4'
请帮忙。提前致谢。
答案 0 :(得分:0)
最后,我找到了自己问题的答案。
我使用了ffmpeg.exe文件,并且有32位系统,我使用的是64位。 所以,问题在于ffmpeg构建文件。我已经下载了新的64位版本。
另一个问题是input.txt文件中的视频路径是错误的。所以,使它正确并且它完全正常工作。但是某些视频需要花费太多时间,而某些视频的工作速度更快。我不知道是什么原因。
全部谢谢