Python Raspberry Pi摄像头捕获循环缓冲区和后续(x)秒数
我最近得到了树莓圆周率相机模块。通过他们的循环缓冲区示例发现 我的目标是保存内置于“stream=picamera.PiCameraCircularIO(摄影机,秒数=20)”中的20秒缓冲区,但还要继续录制30秒。下面我在他们的示例中添加的主要内容是“time.sleep(30)”,在第17针的GPIO输入之后。当我运行它时,它有时会生成一个文件,但该文件永远无法播放。如果您能提供任何建议,我将不胜感激 代码:Python Raspberry Pi摄像头捕获循环缓冲区和后续(x)秒数,python,camera,raspberry-pi,Python,Camera,Raspberry Pi,我最近得到了树莓圆周率相机模块。通过他们的循环缓冲区示例发现 我的目标是保存内置于“stream=picamera.PiCameraCircularIO(摄影机,秒数=20)”中的20秒缓冲区,但还要继续录制30秒。下面我在他们的示例中添加的主要内容是“time.sleep(30)”,在第17针的GPIO输入之后。当我运行它时,它有时会生成一个文件,但该文件永远无法播放。如果您能提供任何建议,我将不胜感激 代码: 我认为更好的方法是替换: time.sleep(30) 借 您正在正确启动循环缓
我认为更好的方法是替换:
time.sleep(30)
借
您正在正确启动循环缓冲区,该缓冲区将保存20秒的视频。 最后20秒的视频。然而,等待30秒是徒劳的,因为它只能保存20秒的视频 如果您阅读了advanced recipes中的picamera文档(picamera.readthedocs.org),它们将向您展示如何使用split_录制来保存循环缓冲区的内容,然后您可以在第二个IO(文件或流)记录当前发生的事情时写入循环缓冲区 现在你可以使用相机了。等待录制(30),然后将录制分回到另一个IO(在高级配方中,它是原始的、截断的、循环的) 最后,您将有两个文件。一个包含缓冲区,即前20秒,另一个包含后30秒。然后你把这两个放在一起,瞧,你现在有一个50秒的视频。Mp4Box在这方面做得很好 现在,我一直在努力使用io.open动态连接这两个流,但我怀疑当您使用io.open('blah.h264','ab')时,会弄乱一些标题详细信息/信息,这意味着您只能获得最后附加的视频。我想读这篇文章的人不是h264编码的笨蛋吧
time.sleep(30)
camera.wait_recording(30)