我想通过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。
感谢您的帮助!
答案 0 :(得分:1)
我建议您直接使用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有什么关系。
但是在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。循环0表示循环而不停止。在每帧只显示一次后,循环为1将停止。