Imagemagick 转换命令从图像创建视频在 Mac 上出现 avconv 错误

Imagemagick convert command creating video from images gives avconv error on Mac

我想通过 imagemagick 将图像转换为视频。不幸的是 运行 命令:

convert img1.jpg img2.jpg img3.jpg out.mpg

给出了一个错误 运行 avconv

convert: delegate failed `'avconv' -nostdin -v -1 -i '%M%%d.jpg' '%u.%m' 2> '%u'' @ error/delegate.c/InvokeDelegate/1919.

我也看到 delegate.xml 可能有错误的 avconv 程序名称。但我不知道如何检查它。

我在 High Sierra 的 Mac 上安装了 imagemagick、ffmpeg (brew) 和 avcon(当我只安装前两个时出现同样的错误。我安装了 vi brew install libav)。

我有 avconv(版本 12.2)以及一个名为 avconvert 的程序。并转换版本 6.9.9-26.

感谢您的帮助!

我建议您直接使用 FFMPEG 来创建您的视频。添加 ImageMagick 只会增加一层复杂性。

https://www.imagemagick.org/Usage/formats/#mpeg

但无论如何请尝试以下操作:

convert img1.jpg img2.jpg img3.jpg MPG:out.mpg

convert img1.jpg img2.jpg img3.jpg M2V:out.mpg


您是否安装了 ImageMagick,使其可以看到 FFMPEG。您可以通过 convert -list 格式查看 ImageMagick 是否了解 ffmpg。它列出了 MPG 和 MPEG 吗?

在您的系统上找到您的 delegates.xml 文件。我的(在我的 Mac Sierra 上)位于 /usr/local/etc/ImageMagick-6/delegates.xml。但它也可以在 /opt/local/etc/ImageMagick-6/delegates.xml 中。我的节目

  <delegate encode="mpeg:encode" stealth="True" command="&quot;ffmpeg&quot; -nostdin -v -1 -i &quot;%M%%d.jpg&quot; &quot;%u.%m&quot; 2&gt; &quot;%u&quot;"/>


我不知道 avconv 与创建 mpg 或 ffmpeg 有什么关系。

但是 Google 搜索 avconv,我找到了 http://www.autodidacts.io/convert-media-files-like-a-geek-a-guide-to-video-transcoding-with-avconv-ffmpeg/。 avconv (Libav) 似乎是 ffmpeg 的一个分支。所以也许您的 delegate.xml 文件正在寻找 avconv 而不是 ffmpeg。如果需要指向 ffmpeg,请尝试编辑它。您可能需要将完整路径放入 ffmpeg

P.S。我通常从 MacPorts 安装所有代理,然后从源安装 ImageMagick。参见 https://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=21502&p=88202&hilit=OSX+MacPorts#p88202。不幸的是,我没有使用 Homebrew 的经验。

P.S。 2 如果你只有几帧,你可以创建一个简单的gif动画,如果这样做的话:

convert -delay 50 img1.jpg img2.jpg img3.jpg -loop 0 out.gif

根据需要调整延迟。该值以刻度为单位(1/100 秒 = 1 个刻度)。参见 https://www.imagemagick.org/script/command-line-options.php#delay。 loop 0 表示不停地循环。 1 的循环将在每帧显示一次后停止。