macos - 从图像创建视频的 Imagemagick convert 命令在 Mac 上出现 avconv 错误

标签 macos ffmpeg imagemagick macos-high-sierra avconv

我想通过 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 程序名称。但我不知道如何检查。

我已经在我的 Mac 上的 High Sierra 上安装了 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 有什么关系。

但是在谷歌上搜索 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

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

附言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 .循环 0 表示循环不停止。 1 的循环将在每帧仅显示一次后停止。

关于macos - 从图像创建视频的 Imagemagick convert 命令在 Mac 上出现 avconv 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48493012/

相关文章:

ffmpeg - 使用 ffmpeg 将 avi 转换为 3gp

c++ - ImageMagick pthread.h 多重定义

c# - 如何禁用 Magick.Net 缓存/临时文件?

ruby - 找不到魔杖/MagickWand.h

c++ - 链接来自 MATLAB Mex 库的错误

c++ - 如何获取文件名命令行参数的完整路径?

php - FFMpeg 合并音频和视频文件

macos - 在 Mac 和流媒体上使用 ffmpeg 捕获麦克风输入

c - 如何通过发送到线程的信号来中断 kevent()?

iphone - 为 IOS 编译 ffmpeg(R_ABS reloc 错误)