当前位置: 首页 > 知识库问答 >
问题:

在ASP. NET Core中使用FFMPEG从视频创建缩略图图像不工作

曾光远
2023-03-14

我试图创建缩略图图像上传视频与FFMPEG在ASP. NET核心如下:

private void GetThumbnail(IFormFile file)
{
        var fileName = CreateEmployeeViewModel.Video.FileName;
        var webRootPath = _webHostEnvironment.WebRootPath;
        var filePath = Path.Combine(webRootPath, "videos", fileName);

        var fileExtension = Path.GetExtension(filePath);
        var thumbnailImageName = fileName.Replace(fileExtension, ".jpg");
        var thumbnailImagePath = Path.Combine(webRootPath, "thumbnails", thumbnailImageName);

        ProcessStartInfo startInfo = new ProcessStartInfo();

        string arguments = $"-i {filePath} -ss 00:00:14.435 -vframes 1 {thumbnailImagePath}";

        startInfo.FileName = Path.Combine(Directory.GetCurrentDirectory(), "Ffmpeg\\ffmpeg.exe");
        startInfo.CreateNoWindow = false;
        startInfo.UseShellExecute = false;
        startInfo.RedirectStandardError = true;
        startInfo.RedirectStandardOutput = true;
        startInfo.WindowStyle = ProcessWindowStyle.Hidden;
        startInfo.Arguments = arguments;

        try
        {
            Process process = Process.Start(startInfo);
            process.WaitForExit(5000);
            process.Close();
        }
        catch
        {
            // Log error.
        }

}

它没有显示任何错误,但也没有生成缩略图。请问我遗漏了什么吗?

注意:如果我从命令行执行上面的配置,它就会工作!

共有1个答案

施琦
2023-03-14

尝试使用Xabe。ffmpeghttps://ffmpeg.xabe.net/

下面将获得您正在上载的视频的快照

string output = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".png");

IConversion conversion = await 
FFmpeg.Conversions.FromSnippet.Snapshot(inputMp4Path, output, 
TimeSpan.FromSeconds(0));
IConversionResult result = await conversion.Start();

在输出字符串中指定格式。您可以在他们的文档中阅读更多内容

 类似资料:
  • 问题内容: 我现在可以编译ffmpeg并将其添加到项目创建的Android.mk文件的jni文件夹中,我想使用ffmpeg从存储在静态arraylist中的图像创建视频文件 我已经搜索了很多,但找不到任何教程,对此表示感谢。 问题答案: 我也有类似的需求,并且达到了相同的目的。您可以通过两种方式执行此操作。我想先分享一个简单的例子。 在Android内部创建一个临时文件夹。 将图像复制到新文件夹中

  • 我有一个简单的网站,人们上传视频,所以我想从上传的视频生成一个简单的缩略图。 我回显了来自PHP的命令,得到的结果如下:C:\Ffmpeg\Ffmpeg-20130605-git-3289670-win64-static\bin-ic:\xampp\tmp\php27F1。tmp-an-ss 12-s 150x90-vcodec mjpeg制造。jpg问题 所以我接受了上面的命令,并将其输入Cmd

  • 这行工作良好,但我想创建一个视频文件从图像在另一个文件夹。“我的文件夹”中的映像名称为: 我如何从不同的文件夹输入图像文件?示例: 我尝试了这个命令,但是只生成了第一个图像(img001.jpg)的视频。

  • 我正在尝试为我的项目制作一个视频上传功能。但我对ffmpeg部分有一个问题。ffmpeg已安装在我的服务器上。但我不能得到任何缩略图。我尝试使用以下代码创建缩略图: 但是当使用为和 字符串(74)”https://mywebsite.com/uploads/video/ey1kXNew_video.flv: 输入/输出错误“字符串(0)” 另外,如果我像这样使用: 和给我。 请帮帮我,我哪里错了。

  • 我试图创建一个视频从jpeg图像使用ffmpeg。生成的视频应为x264或x265格式。 我有一个36张图片的目录。每个图像大小约为60像素。它们的名称如下: 第00000帧。jpg 框架00001。jps 框架00002。jpg 框架00035。jpg 我阅读了SO中的文档和几篇文章,并编写了一个批处理文件来调用ffmpeg,如下所示: 当我运行这个命令时,我从ffmpeg得到了这个输出,这很奇

  • 因此,我尝试提取视频的每一帧,然后使用ffprobe查看视频中何时播放每一帧,然后使用这些提取的图像和ffprobe输出将视频缝合在一起。 现在,我有一个批处理文件: 首先,为图像创建一个目录。然后ffmpeg将视频的所有帧提取到单独的PNG文件中,这些文件被适当地编号。最后,ffprobe会看到视频中第一次显示每一帧的时间(即:第1帧以0秒的速度显示,但以60fps的速度显示,然后第2帧以0.0