- 规则命名图片合成视频文件
这个很简单,如果手上的图片本身就是用ffmpeg生成的,比如:
ffmpeg -i input.mp4 -r 20 -f image2 rec_%3d.jpg
这样生成的图片是形如
rec_0001.jpg rec_0002.jpg ..... ,rec_0123.jpg
等图片生成后,若想把这些图片合成视频,这样操作即可:
ffmpeg -f image2 -i rec_%3d.jpg out.mp4
2.不规则命令图片合成视频文件
(1)自己先动手把不规则文件重命名规则图片名,比如使用python来操作
def getTpyeFile(filelist, type):
res = []
for item in filelist:
name, suf = os.path.splitext(item) # 文件名,后缀
if suf == type:
res.append(item)
return res
pwd = os.getcwd() # 返回当前目录的绝对路径
dirs = os.listdir() # 当前目录下所有的文件名组成的数组
typefiles = getTpyeFile(dirs, '.jpg')
for i in range(0,len(typefiles)):
os.rename(typefiles[i],"./%d.jpg" % (i)) #将文件以数字规则命令
(2)使用ffmpeg 将需要合成的图片放在txt种,通过读取txt文件合并成视频
//files.txt文件内容:
file abc.jpg
file dex.jpg
file adecd.jpg
ffmpeg命令:
ffmpeg -f concat -i files.txt out_concat.mp4
(3)使用*通配符,貌似window系统下目前是不支持的(https://stackoverflow.com/questions/31201164/ffmpeg-error-pattern-type-glob-was-selected-but-globbing-is-not-support-ed-by)
ffmpeg -f image2 -pattern_type glob -i "rec_*.jpg" out.mp4