保存带有时间戳的实时视频帧的解决方法可以使用OpenCV库来实现。下面是一个使用Python和OpenCV的示例代码:
import cv2
import datetime
# 打开视频流
cap = cv2.VideoCapture(0)
# 定义视频编码器和输出文件名
fourcc = cv2.VideoWriter_fourcc(*'XVID')
output_file = 'output.avi'
# 获取视频帧的宽度和高度
frame_width = int(cap.get(3))
frame_height = int(cap.get(4))
# 创建VideoWriter对象来保存视频帧
out = cv2.VideoWriter(output_file, fourcc, 20.0, (frame_width, frame_height))
while cap.isOpened():
# 读取视频帧
ret, frame = cap.read()
if ret:
# 在每个视频帧上绘制时间戳
timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
cv2.putText(frame, timestamp, (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2)
# 保存带有时间戳的视频帧
out.write(frame)
# 显示视频帧
cv2.imshow('frame', frame)
# 按下 'q' 键退出
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break
# 清理资源
cap.release()
out.release()
cv2.destroyAllWindows()
这个代码会从摄像头中读取视频帧,并在每个视频帧上绘制当前的时间戳。然后,使用VideoWriter对象将带有时间戳的视频帧保存到输出文件中。最后,按下 'q' 键退出程序。
请确保已经安装了OpenCV库,并且摄像头能够正常工作。
上一篇:保存带有时间戳的视频帧