【问题标题】:maintain aspect ratio while creating thumbnails in ffmpeg在 ffmpeg 中创建缩略图时保持纵横比
【发布时间】:2014-10-01 01:32:38
【问题描述】:

说明:

所以经过彻底的搜索后,我找到了我在 Stack Overflow 上找到的关于使用 ffmpeg 上传视频和创建缩略图的答案。我正在使用以下代码来创建我正在上传的视频的缩略图。每件事都是工作正常,直到我修改我的代码以保持创建的缩略图的纵横比。

$ffmpeg = "C:\\ffmpeg\\bin\\ffmpeg";
                $videoFile = $_FILES['vid']['tmp_name'];
                $videoFilename = "1.jpg";
                $size = "120x90";
                $getseconds = 5;
                $cmd = "$ffmpeg -i $videoFile -vf scale='min(300\, iw):-1' -ss $getseconds -s $size -vframes 1 $videoFilename";

现在没有任何效果......我做错了什么......有人吗??

【问题讨论】:

  • 在将参数传递给外部应用程序时确实需要小心。确保您使用escapeshellarg()。另外,你的 FFmpeg 二进制文件真的叫ffmpeg,而不是ffmpeg.exe?而且,你实际上在哪里执行$cmd
  • 我正在使用 shell_exec($cmd);
  • 您应该显示实际和完整的ffmpeg 控制台输出。它会告诉您问题所在(如果ffmpeg 是问题所在)。

标签: php ffmpeg


【解决方案1】:

这就是你要找的东西吗:

$cmd = "$ffmpeg -itsoffset -1 -i $videoFile -vframes 1 -filter:v scale='400:-1' -ss $getseconds  image.png";

让我知道它是否有效:)

【讨论】: