我正在尝试使用Python语言在Ubuntu 12.04中将一系列PNG格式的图片制作成GIF。我有一个包含这些图片的文件,它们的名称为lip_shapes1.png到lip_shapes11.png。此外,我还有一个包含图像名称的列表,我想按照这个顺序制作GIF。列表如下:
list = [lip_shapes1.png, lip_shapes4.png , lip_shapes11.png, lip_shapes3.png]
但我的问题是我找到了这段代码:
import os
os.system('convert -loop 0 lip_shapes*.gnp anime.gif')
但它只按照GNP名称的顺序制作gif,但我想让它按照我想要的任何顺序制作。这是可能的吗?
如果有人能帮助我,我真的很感激。
提前致谢
PS:我还想把它拍成电影。我尝试了这个代码(shapes是我的图片名称列表):
s = Popen(['ffmpeg', '-f', 'image2', '-r', '24', '-i'] + shapes + ['-vcodec', 'mpeg4', '-y', 'movie.mp4'])
s.communicate()
但是在终端中,它给了我这个错误信息并且无法工作:
FFmpeg程序仅用于脚本兼容性,并将在未来的版本中被删除。它已经在Libav项目中被弃用,以允许在其替代品avconv中实现不兼容的命令行语法改进(有关详细信息,请参见Changelog)。请改用avconv。
从'shz8.jpeg'输入#0,image2: Duration: 00:00:00.04,start: 0.000000,bitrate:N/A Stream #0.0:Video:mjpeg,yuvj420p,266x212 [PAR 1:1 DAR 133:106],24 tbr,24 tbn,24 tbc
'shz8.jpeg'是列表中的第一个名称。
谢谢
lip_shapes1.png
、lip_shapes2.png
、lip_shapes3.png
、lip_shapes4.png
等图片循环播放,并将它们转换为anime.gif
动画文件,命令为:convert -loop 0 lip_shapes1.png lip_shapes2.png lip_shapes3.png lip_shapes4.png ... anime.gif
。 - Mark Setchell