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

ffmpeg从视频中获取图像或缩略图错误

陈瀚玥
2023-03-14

我有一个简单的网站,人们上传视频,所以我想从上传的视频生成一个简单的缩略图。

$video = $_FILES['vpopupdropin']["tmp_name"];
    $ffmpeg = "C:\\Ffmpeg\\ffmpeg-20130605-git-3289670-win64-static\\bin";
    $image = "manu.jpg";
    $second = 12;
    $size = "150x90";
$command = "$ffmpeg -i $video -an -ss $second -s $size -vcodec mjpeg      $image";
echo $command;
    shell_exec($command);

    if(shell_exec($command)){
        echo 'okay';
        echo '<img src="'.$image.'"/ >';
        }

    else{
        echo ' Problem';
        }

我回显了来自PHP的命令,得到的结果如下:C:\Ffmpeg\Ffmpeg-20130605-git-3289670-win64-static\bin-ic:\xampp\tmp\php27F1。tmp-an-ss 12-s 150x90-vcodec mjpeg制造。jpg问题

所以我接受了上面的命令,并将其输入Cmd,得到了这个错误

[image2@000000000000 3D87580]无法打开文件:manu。jpg av_交错_写入_帧():输入/输出错误。上传的文件可以很好地传输到iam保存它的地方,并且在站点上运行良好,这意味着文件没有损坏。但是缩略图命令似乎失败了,我甚至检查了这个网站上的其他问题,但我似乎没有得到正确的解决方案。命令中的路径是正确的,我已经验证了至少

共有1个答案

王彭薄
2023-03-14

您没有给ffmpeg一个名称:-),因此您试图执行一个\\bin文件夹!

$ffmpeg = "C:\\Ffmpeg\\ffmpeg-20130605-git-3289670-win64-static\\bin";

你忘了。exe

$ffmpeg = "C:\\Ffmpeg\\ffmpeg-20130605-git-3289670-win64-static\\bin\\ffmpeg";

我这样做是为了一个星期。使用以下命令进行avi

ffmpeg -i Echo2012.avi -r 1 -s 1024x576 -f image2 -vframes 1 foo-001.jpg

不要执行你的命令两次!

$command = "$ffmpeg -i $video -an -ss $second -s $size -vcodec mjpeg      $image";
echo $command;
shell_exec($command);

    if(shell_exec($command)){

编辑:

您的命令字符串:

ffmpeg -i upload.tmp -an -ss 12 -s 150x90 -vcodec mjpeg     manu.jpg
  • -vcodec编解码器(输出):设置视频输出编解码器。这是一个输出视频的开关。您希望输出一个图像

我的命令字符串:

ffmpeg -i Echo2012.avi -r 1 -s 1024x576 -f image2 -vframes 1 foo-001.jpg
  • -r:fps(输入/输出,每流)。设置帧速率(Hz值、分数或缩写)
    作为一个输入选项,忽略文件中存储的任何时间戳,而是假设恒定帧速率fps生成时间戳
 类似资料:
  • 问题内容: 如果我有YouTube视频URL,是否可以使用PHP和cURL从YouTube API获取关联的缩略图? 问题答案: 每个YouTube视频都有四个生成的图像。可以预计,它们的格式如下: 列表中的第一个是全尺寸图像,其他是缩略图图像。默认的缩略图图像(即,一个,,)为: 对于缩略图的高质量版本,请使用类似于以下内容的URL: 缩略图还有一个中等质量的版本,使用类似于HQ的URL: 对于

  • 我试图创建缩略图图像上传视频与FFMPEG在ASP. NET核心如下: 它没有显示任何错误,但也没有生成缩略图。请问我遗漏了什么吗? 注意:如果我从命令行执行上面的配置,它就会工作!

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

  • 正在尝试从图像(1080p.png)音乐(320kbmp3)为youtube制作视频。 但转化是缓慢的。有什么想法吗,它是如何使优化的<代码>E:\U测试

  • 问题内容: 我想用Java生成视频的缩略图预览。我主要是JMF,并且视频操作疏远了。 有一个简单的方法吗? 那编解码器呢?我需要处理吗? 是否支持任何视频类型?(包括Quicktime) 问题答案: 似乎有一些例子比我要发送给您的例子要好得多。 参见http://krishnabhargav.blogspot.com/2008/02/processing-videos-in- java.html

  • 问题内容: 是否可以获取视频缩略图PATH,而不是Bitmap对象本身?我知道方法 但是由于我使用自己的Bitmap缓存机制,因此我希望具有视频缩略图的路径,而不是Bitmap对象本身。此方法返回Bitmap对象,而不是路径。谢谢 问题答案: 首先获取视频文件的URL,然后使用以下查询。 样例代码: VideoThumbnailPath,应具有视频缩略图路径。希望能帮助到你。