合并图像与视频与nreco
本文关键字:nreco 视频 合并 图像 | 更新日期: 2023-09-27 18:01:59
我使用以下代码将图像转换为视频
NReco.VideoConverter.ConvertSettings setting = new NReco.VideoConverter.ConvertSettings();
setting.SetVideoFrameSize(FrameSizeWidth, FrameSizeHeight);
setting.VideoCodec = "libx264";
setting.AudioCodec = "mp3";
setting.CustomInputArgs = " -framerate 1/"+imageDuration;
setting.CustomOutputArgs = " -profile:v high -r 30";
FFMpegConv.ConvertMedia(inputFilePath, null, outputFIlePath, null, setting);
我还有一个mp4视频,使用下面的代码进行分割。
var ffMpegConverter = new FFMpegConverter();
ffMpegConverter.ConvertMedia(SourceFile, Format.mp4, DestinationFile, Format.mp4,
new ConvertSettings()
{
Seek = StartTime,
MaxDuration = (EndTime-StartTime),
VideoCodec = "libx264",
AudioCodec = "mp3",
});
我需要把这两个视频连接起来。我使用了下面的代码。这里SourceVideoList数组包含两个视频(Splite和image video)
var ffMpegConverter = new FFMpegConverter();
ffMpegConverter.ConcatMedia(SourceVideoList.ToArray(),OutputFile,null,new ConcatSettings());
但是当我尝试这样做时,它给出了错误说"无法在过滤器Parsed_concat_0上找到未标记输入垫3的匹配流"。有人能帮我一下吗?
ConcatMedia方法使用ffmpeg连接过滤器;它期望所有输入视频块具有相同的帧大小和帧速率。在大多数情况下,您面临的错误(无法在过滤器Parsed_concat_0上找到未标记输入pad 3的匹配流)意味着视频块具有不兼容的参数集。您可以通过处理LogReceived事件(以获得ffmpeg控制台日志输出)获得更多信息。
请注意,您可以使用其他方法将ffmpeg (concat demuxer, concat协议-参见https://trac.ffmpeg.org/wiki/Concatenate了解更多详细信息)支持的视频与接受多个输入文件的ConvertMedia方法重载合并。