【发布时间】:2020-12-28 04:45:56
【问题描述】:
我正在尝试使用 Python 保存 10 秒的缓冲视频,特别是“.h264”格式。
为了做到这一点,我一直在使用连接到 Raspberry Pi 的 PiCamera 和下面显示的脚本。我现在面临的主要障碍是,我不想将文件直接保存到一个位置 [stream.copy_to(str(time)+'.h264')] 我想将它保存到一个变量中以执行某些在最终保存之前进行操作(例如更改视频分辨率)。知道如何实现吗?
提前致谢!
import time
import io
import os
import picamera
import datetime as dt
from PIL import Image
import cv2
#obtain current time
def return_currentTime():
return dt.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
#trigger event declaration
def motion_detected():
while True:
print ("Trigger event(y)?")
trigger = input ()
if trigger =="y":
time = return_currentTime()
print ("Buffering...")
stream.copy_to(str(time)+'.h264')
else:
camera.stop_recording()
break
#countdown timer
def countdown (t):
while t:
mins, secs = divmod (t,60)
timer = '{:02d}:{:02d}'.format(mins, secs)
print(timer, end="\r")
time.sleep(1)
t-=1
print('Buffer available!')
camera = picamera.PiCamera()
camera.resolution = (640, 480)
stream = picamera.PiCameraCircularIO(camera, seconds = 5)
#code will work using h264 as format
camera.start_recording (stream, format = 'h264')
countdown(5)
motion_detected()
【问题讨论】:
标签: python image opencv stream camera