我使用Python3,subprocess和ffmpeg将多个PNG图像转换为单个视频。使用ffmpeg和Python3子进程将多个PNG图像转换为视频
我有400个PNG编号为“00001.png”。
此呼吁一个单一的特定图像AA一帧视频工作:但是
subprocess.call(["ffmpeg","-y","-r","24","-i", "00300.png","-vcodec","mpeg4", "-qscale","5", "-r", "24", "video.mp4"])
,当我尝试看到了一些网上的方法调用所有格式化为“###我的图片## PNG”使用 “%05d.png”,如下图,现在不工作:
subprocess.call(["ffmpeg","-y","-r","24","-i", "%05d.png","-vcodec","mpeg4", "-qscale","5", "-r", "24", "video.mp4"])
我收到错误:"%05d.png: No such file or directory"
。
我有这样的感觉,上面的语法适合于Python2,而不是在我的python3上工作,但无法在任何地方找到正确的python3语法。
在此先感谢您的帮助
你在哪看到'“%05d.png”'?在Linux上可能会使用'* .png',因为'Bash'将它转换为名称匹配'* .png'的文件列表。我只在图像转换器'ImageMagic'中看到''%05d.png''。 – furas
ffmpeg语法看起来不错。也许它需要以某种方式逃脱。 @furas ffmpeg接受图像序列的[语法](http://ffmpeg.org/ffmpeg-formats.html#Examples-1)。 – Mulvya
我试过这个'subprocess',它适合我。因为我在子文件夹“test”中使用了短名称001.png - 003.png,因此我使用了''test /%03d.png“'。你是否在包含图像的文件夹中运行脚本? – furas