Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Nreco视频转换器从图像序列生成视频_C#_Video Conversion - Fatal编程技术网

C# Nreco视频转换器从图像序列生成视频

C# Nreco视频转换器从图像序列生成视频,c#,video-conversion,C#,Video Conversion,我正在尝试使用Nreco.videoconverter ffmpeg包装器从.jpg文件序列制作视频。我在这个论坛上寻找答案,几乎对我有帮助的话题是 http://stackoverflow.com/questions/15280199/how-to-make-a-video-file-from-images 如果您已经有图像文件,最好的方法是使用特殊的 “image2”格式(FFMpeg解复用器)和FFMpeg将直接读取文件 用于制作视频 视频可以通过视频转换器支持的实时流转换实时生成。在这

我正在尝试使用Nreco.videoconverter ffmpeg包装器从.jpg文件序列制作视频。我在这个论坛上寻找答案,几乎对我有帮助的话题是

http://stackoverflow.com/questions/15280199/how-to-make-a-video-file-from-images
如果您已经有图像文件,最好的方法是使用特殊的 “image2”格式(FFMpeg解复用器)和FFMpeg将直接读取文件 用于制作视频 视频可以通过视频转换器支持的实时流转换实时生成。在这种情况下,“rawvideo”应该是 指定为输入格式,C#应用程序应传递原始位图 字节(如问题中所述)作为实时流的输入 转换器

我尝试使用此代码,但我总是获得1帧的视频(第一帧来自阵列):

我还尝试使用ConvertMedia()方法代替ConcatMedia,但结果相同

有没有办法告诉converter这是一系列图像

有没有其他的方法或方法来做到这一点

我发现了一个很大的类,它很好,但只使用.NET3.5


Tnx

FFMpegConverter.ConcatMedia使用concat过滤器合并多个视频文件,不应用于对图像中的视频进行编码

将ConvertMedia方法与ffmpeg图像解复用器一起使用的正确方法:

var videoConv = new FFMpegConverter();
videoConv.ConvertMedia( 
   @"g:\Storage\%03d.jpg", null, 
   "test.mp4", null, 
   new ConvertSettings() {
      CustomInputArgs = " -framerate 5 ",

      // specify any additional ffmpeg parameters for output here
      CustomOutputArgs = " -profile:v high " 
});

您能告诉我如何将转换后的视频的持续时间设置为最后几秒,以便我可以看到图像吗。目前它还不到第二长。视频中的图像也很难看到。我似乎无法让它工作,这是一个有效的答案吗?@MarkRedman是的,它工作;可能您的图像文件与%03d.jpg模式不匹配?。。您可以尝试先从命令行执行转换(使用ffmpeg.exe)以查看发生了什么。我有几乎相同的模式和编号的图像。。videoConverter.ConvertMedia(@“c:\temp\snapshots\%03d.jpg”,null,“Video.mp4”,null,新的ConvertSettings(){CustomInputArgs=“-framerate 5”,CustomOutputArgs=“-profile:v high”});错误:打开输出流编码器时出错#0:0-可能是不正确的参数,如比特率、速率、宽度或高度(退出代码:1)@MarkRedman仅凭此信息很难给出任何建议。您可以查看官方ffmpeg文档,了解如何从图像编码视频:
var videoConv = new FFMpegConverter();
videoConv.ConvertMedia( 
   @"g:\Storage\%03d.jpg", null, 
   "test.mp4", null, 
   new ConvertSettings() {
      CustomInputArgs = " -framerate 5 ",

      // specify any additional ffmpeg parameters for output here
      CustomOutputArgs = " -profile:v high " 
});