gpt4 book ai didi

c# - 使用 nreco 将图像与视频合并

转载 作者:行者123 更新时间:2023-12-04 23:00:07 43 4
gpt4 key购买 nike

我已使用以下代码将图像转换为视频

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 数组包含两个视频(分割和图像视频)
var ffMpegConverter = new FFMpegConverter();
ffMpegConverter.ConcatMedia(SourceVideoList.ToArray(),OutputFile,null,new ConcatSettings());

但是,当我尝试这样做时,会给出错误提示“在过滤器 Parsed_concat_0 上找不到未标记输入垫 3 的匹配流”。
有人可以帮我吗

最佳答案

ConcatMedia 方法使用 ffmpeg concat 过滤器;它期望所有输入视频 block 具有相同的帧大小和帧速率。在大多数情况下,您遇到的错误(Cannot find a matching stream for unlabeled input pad 3 on filter Parsed_concat_0)意味着视频 block 的参数集不兼容。您可以通过处理 LogReceived 事件来获取更多信息(以获取 ffmpeg 控制台日志输出)。

请注意,您可以使用其他方法将 ffmpeg 支持的视频(concat demuxer,concat 协议(protocol) - 更多详细信息请参见 https://trac.ffmpeg.org/wiki/Concatenate)与接受多个输入文件的 ConvertMedia 方法重载。

关于c# - 使用 nreco 将图像与视频合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38910775/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com