连接错误:无法使用.NET(C#)的NReco视频转换器连接媒体

本文关键字:连接 NReco 视频 媒体 转换器 NET 错误 | 更新日期: 2023-09-27 18:20:32

我想使用.NET(C#)FFMpeg包装器的视频转换器将两个视频连接成一个但我有"无法连接媒体"的异常。。我是不是错过了什么。。这是我的源代码:

 var ffMpeg = new NReco.VideoConverter.FFMpegConverter();
    NReco.VideoConverter.ConcatSettings set = new NReco.VideoConverter.ConcatSettings();
    string videoRootPath = @"E:'Sam'Recording Feature'WebApplication2'WebApplication2'Video'";
    string tobename = "test";
    string[] _fileNames = { @"E:'Sam'Recording Feature'WebApplication2'WebApplication2'Video'1.mov",
                                        @"E:'Sam'Recording Feature'WebApplication2'WebApplication2'Video'2.mov"};
    ffMpeg.ConcatMedia(_fileNames, videoRootPath + tobename + ".mov", NReco.VideoConverter.Format.mov, set);

请帮助

连接错误:无法使用.NET(C#)的NReco视频转换器连接媒体

文件无法合并为一个结果文件的最常见原因是帧大小和/或帧速率不同(所有输入文件都应该具有相同的帧大小和帧速率)。

另外请注意,ContactMedia仅使用以下参数调用FFMpeg:

ffmpeg.exe -i [file1] -i [file2] -i [file3] -filter_complex "concat=n=3:v=1:a=1 [v] [a]"  -map "[v]"  -map "[a]"  [outputFile]

您可以从文件的命令行运行它,然后查看问题所在。请注意,如果您想使用另一种方法来合并视频文件(FFMpeg支持多种方法),您可以使用FFMpegConverter类的Invoke或ConvertMedia方法。

你用过剪接器吗?下面是供参考的链接。https://splicer.codeplex.com/discussions/66271

 string video1 = @"D:'Video'vid1.mp4";
            string video2 = @"D:'Video'vid2.mp4";
            string newvid = @"D:'Video'finalvid.mp4";
            var ffMpeg = new FFMpegConverter();
            ConcatSettings set = new ConcatSettings();
            ffMpeg.ConcatMedia(new string[] { video1,video2 }, newvid, Format.mp4, set);