string strParam;
string Path_FFMPEG = @"C:\Windows\system32\cmd.exe";
string WorkingDirectory = @"C:\Users\Braintech\documents\visual studio 2013\Projects\convertVideo\convertVideo";
string command1 = "ffmpeg -i video1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate1.ts";
string command2 = "ffmpeg -i video2.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate1.ts";
string command3 = "ffmpeg -i" + "concat:intermediate1.ts|intermediate2.ts" + " -c copy -bsf:a aac_adtstoasc Output.mp4";
string Command = @"" + command1 + " & " + command2 + " & " + command3 + " ";
strParam = "ffmpeg -f concat -i " + file + " -c copy " + strResult;
process(Path_FFMPEG, Command, WorkingDirectory);
public static void process(string Path_FFMPEG, string Command, string WorkingDirectory)
{
try
{
Process ffmpeg = new Process();
ProcessStartInfo ffmpeg_StartInfo = new ProcessStartInfo(Path_FFMPEG, Command);
ffmpeg_StartInfo.WorkingDirectory = WorkingDirectory;
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.Close();
ffmpeg.Dispose();
ffmpeg = null;
}
catch (Exception ex)
{
}
}我正在尝试合并两个视频使用ffmpeg。但是,当我手动在cmd上运行该命令时,它可以手动运行,但无法使用c# code.it works执行。但是当我尝试使用c#来运行时,它不是works.Please来帮助别人。提前谢谢。
发布于 2016-10-03 19:06:04
基本上,不要试图将其加载到数组中。对于大文件,您应该有一系列采用路径或Stream的File()方法重载,并知道如何操作。例如:
return File("/TestVideo/Wildlife.wmv", "video/x-ms-wmv");或者:
return File(videoPath, "video/x-ms-wmv");然而,视频实际上是一个特例,可能会从更专业的处理中受益。
发布于 2016-10-03 19:30:19
返回byte数组实际上是行不通的。
因此,与其将整个视频作为byte数组返回,为什么不将其保存在某个地方(例如:您的Web API),如果它还没有保存为文件,并将视频URI作为响应发送回来?
您将要使用的视频播放器肯定知道如何处理该URI。
另一种选择是在Web API中启用206 PARTIAL CONTENT支持,并在视频播放器中使用Web API的URI。
发布于 2021-11-05 18:38:18
问题出在路径。您应该在命令中提供文件路径
下面的代码可能会有所帮助
其中mylist.txt文件包含
文件“01.mp4”文件“04.mp4”
Dim _ffmpeg As String = "D:\Develop\Experiment\mergermp4Vb\mergermp4Vb\Videos\ffmpeg.exe"
Dim params = "-f concat -i D:\Develop\Experiment\mergermp4Vb\mergermp4Vb\Videos\mylist2.txt -c copy D:\Develop\Experiment\mergermp4Vb\mergermp4Vb\Videos\0104.mp4"
Dim _FFmpegProcessPropertys As New ProcessStartInfo
_FFmpegProcessPropertys.FileName = _ffmpeg
_FFmpegProcessPropertys.Arguments = params
_FFmpegProcessPropertys.UseShellExecute = False
_FFmpegProcessPropertys.RedirectStandardOutput = True
_FFmpegProcessPropertys.RedirectStandardError = True
_FFmpegProcessPropertys.CreateNoWindow = True
Dim FFmpegProcess = Process.Start(_FFmpegProcessPropertys)https://stackoverflow.com/questions/39830015
复制相似问题