我正在尝试将200个.ppm文件转换为一个.mp4文件。
在与.jpg文件相同的目录下,我运行了以下代码:
convert -delay 6 -quality 95 test*ppm movie.mp4
我收到了以下错误信息:
convert: no images defined `movie.mp4' @ error/convert.c/ConvertImageCommand/3210.
这个错误是什么原因引起的?
我正在尝试将200个.ppm文件转换为一个.mp4文件。
在与.jpg文件相同的目录下,我运行了以下代码:
convert -delay 6 -quality 95 test*ppm movie.mp4
我收到了以下错误信息:
convert: no images defined `movie.mp4' @ error/convert.c/ConvertImageCommand/3210.
没事了,我最终用了 ffmpeg。这是我使用的代码:
ffmpeg -framerate 1 -pattern_type glob -i '*.jpg' -c:v libx264 out.mp4
根据我所读的,您正在运行命令的图像具有 .jpg 后缀。
尝试:
convert -delay 6 -quality 95 *.jpg movie.mp4
convert: delegate failed \
"avconv" -v -1 -i "%M%%d.jpg" "%u.%m" 2> "%Z"' @ error/delegate.c/InvokeDelegate/1310.` - fmartinconvert -delay 600 *.png movie.mp4
在我的电脑上运行成功了(600 表示 6 秒)。 - Franck Dernoncourtsudo apt install ffmpeg
ImageMagick可以委托处理视频。我花了超过5个小时才明白为什么会出现NotIdentifiedByImageMagickError这样的错误。
简而言之
使用 \ls
或 ls --color=never
来获取无颜色的文件列表
命令执行失败...
for f in $( ls *.JPG ); do convert -resize 1920x $f re_$f ; done
转换为
for f in $( ls --color=never *.JPG ); do convert -resize 1920x $f re_$f ; done
细节
我遇到了同样的错误,是由于ls
命令的彩色输出:
我得到的错误信息(用法语):
$ for f in $( ls *.JPG ); do convert -resize 1920x $f re_$f ; done
convert: pas de délégué pour décoder ce format d'image `JPG' @ error/constitute.c/ReadImage/501.
convert: pas d'images définies `IMG_5235.JPG' @ error/convert.c/ConvertImageCommand/3210.
convert: impossible d'ouvrir l'image `IMG_5236.JPG': Aucun fichier ou dossier de ce type @ error/blob.c/OpenBlob/2712.
文件名的颜色与此屏幕截图相似:
我的 ls
命令别名为 ls --color=auto
,这会导致文件参数包含颜色序列。
使用 \ls
命令来禁用带颜色的 ls
输出:
for f in $( \ls *.JPG ); do convert -resize 1920x $f re_$f ; done
或者:
for f in $( ls --color=never *.JPG ); do convert -resize 1920x $f re_$f ; done
那么转换可能不会显示之前的错误。 希望这可以帮到你。
正确的语法是:
convert src_file [options] dst_file
所以在你的情况下,应该是这样的:
convert movie.mp4 -delay 6 -quality 95 test*ppm movie_converted.mp4
convert -version
的委托部分中看到mpeg。请参阅http://www.imagemagick.org/script/formats.php#supported中MPEG部分的注释。 - fmw42