首先呢 利用opencv生成视频的例子相信网络上已经很多了。但是大多数例子都只是捕获一个摄像头就没了。但是在实际运用中会发现。因为涉及到图像处理,生成的视频要不就就是过快要不就是比实际时间长。
控制视频的帧数,捕获摄像头和生成图像都适用
关键在于在生成一帧的时候与下一帧的间隔时间。中间图像处理会造成延迟所以说会造成视频时间比预想的长
#计算处理时间
sleeptime = time.time() - now
#计算每一帧要延迟的时间
sleeptime = 1 / fps - sleeptime
import time
import datetime
import cv2
#生成一个视频
fps = 30.0 # 视频帧率
size = (289, 419)
baseimgpath = "/root/1.jpg"
save_path = "/root/"
flag = True
fourcc = cv2.VideoWriter_fourcc(*'X264')
file = save_path + datetime.datetime.now().strftime('%Y-%m-%d-%H-%M-%S') + ".mp4"
videoWriter = cv2.VideoWriter(file, fourcc, fps, size)
while flag:
now = time.time()
baseimg = cv2.imread(baseimgpath)
#这里的数据通过缓存服务器获取
ret = mc.get(&#