我想通过 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=""ffmpeg" -nostdin -v -1 -i "%M%%d.jpg" "%u.%m" 2> "%u""/>
我不知道 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/