使用ffmpeg将连续视频帧图片转化为视频
使用ffmpeg将连续视频帧图片转化为视频
-
先批量修改图片名字
# 按顺序修改图片的名字
#修改一个文件夹下所有图片的名字,修改成000000.jpg格式
import os
path = "/home/dlut/网络/make_database/数据集处理/JpGImages_img/" #/home/dlut/网络/make_database/数据集处理/JpGImages_img
filelist = os.listdir(path)
filelist.sort()
count=1
for file in filelist:
print(file)
for file in filelist:
Olddir=os.path.join(path,file)
if os.path.isdir(Olddir):
continue
filename=os.path.splitext(file)[0]
filetype=os.path.splitext(file)[1]
Newdir=os.path.join(path,str(count).zfill(6)+filetype)
os.rename(Olddir,Newdir)
count+=1
在合并视频
ffmpeg -f image2 -framerate 25 -i "D:/car/img1/%6d.jpg" -s 960*540 -y D:/car/test1.mp4
若报错
-
Could find no file with path ‘img/frames_%05d.jpg’ and index in the range 0-4
这是因为ffmpeg默认图片编号是从0开始的。即如果找不到frames_00000.jpg,则报错。修改方式为
ffmpeg -start_number 345 -i img/frames_%05d.jpg -vcodec mpeg4 test.avi
指定开始读取的图片编号。 注意:ffmpeg读取的时候会顺序读取,若出现编号中断,视频会就此结束。
视频拆成图片
ffmpeg -i video.avi frames_%05d.jpg
