启动Raspi相机非常简单:
raspivid -t 10000 -o test.h264
问题:
没有办法阻止这种情况。就我所知,这确实很愚蠢,因为据我所知,没有可用于零售的相机,这需要用户指定要运行多少秒,然后在停止之前运行那么多秒。
背景:
这在监视方面提出了巨大的问题。我正在创建一个程序,该程序在用户离开时打开家庭监视,然后在用户返回时再次关闭。如果刚好在用户返回之前检测到运动,则照相机会开始录制一段预定的时间(即10分钟),但是由于该raspivid
命令被阻止,因此我遇到了用户实际在室内的情况,但是该程序处于surveillance
状态。为了解决这个问题,我启动了一个线程来启动raspivid
命令,因此现在根据用户来去的时间正确更新状态。但是,现在其他州不起作用。例如,我无法切换到TV
状态,因为无法录制高清素材并同时观看。同样,我无法切换到Party
相机已在录制时,状态(各方的连续视频录制)。
潜在的解决方案:
使用我在网上找到的代码(但找不到更多链接),我发现了一个黑手,可以杀死启动该raspivid
命令的线程。不幸的是,这被SO亵渎了(请参见此处和此处),我同意这一点,不仅是因为它可能损坏.h264
文件并导致内存泄漏,而且因为这是我编写代码的噩梦(我必须拥有锁和我还启动了其他线程进行运动检测时,信号灯无处不在。
题:
有什么办法可以停止记录raspi相机吗?如果没有,为什么不呢?
popen = subprocess.Popen ( cmd )
andpopen.send_signal ( signal.SIGINT )