質問編集履歴
1
質問の内容を変更させていただきます。別質問に掲示します。
test
CHANGED
File without changes
|
test
CHANGED
@@ -6,150 +6,12 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
〇:判定(条件を満たしていない)
|
10
|
-
|
11
|
-
●: 判定(条件を満たした)
|
12
|
-
|
13
|
-
〇||||||1min||||||〇||||||1min||||||●||||||1min||||||〇||||||1min|||||| 〇
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
9
|
##困っていること
|
20
10
|
|
21
11
|
条件判定するデータの更新は、1分
|
22
|
-
|
23
|
-
⇒ユニットファイルで、.sh(↓)プログラムを1min毎に設定
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
動画の撮影時間は、
|
28
|
-
|
29
|
-
Movie.pyのプログラム内で設定
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
**動画の撮影を判定されたタイミングで終了させたい**
|
34
|
-
|
35
|
-
〇>>>>test.mp4>>>>〇>>>>>>b.mp4>>>>>●>>>>>>a.mp4>>>>>〇>>>>>test.mp4>>>>〇
|
36
|
-
|
37
|
-
のですが、
|
38
|
-
|
39
|
-
**実際は、**
|
40
|
-
|
41
|
-
〇>>>>test.mp4 〇>>>>>>b.mp4 ●>>>>>>a.mp4 〇>>>>>test.mp4 〇
|
42
|
-
|
43
|
-
このように、条件判定~Movie.pyで指定した時間まで撮影したところで終了してしまうので、
|
44
12
|
|
45
13
|
判定直前の動画が撮影されません。
|
46
14
|
|
47
15
|
|
48
16
|
|
49
|
-
|
17
|
+
動画撮影時間で調整する以外に、なにか良い方法がありませんでしょうか。
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
##条件の判定
|
58
|
-
|
59
|
-
1分毎にCSVファイルにデータを更新(追加)しています。
|
60
|
-
|
61
|
-
追加された最新データについて、条件を満たすか判定しています。
|
62
|
-
|
63
|
-
**.shプログラムを1min毎に実施するようにユニットファイルを作成して、動作させています。**
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
##現在のプログラムの構成
|
68
|
-
|
69
|
-
```sh
|
70
|
-
|
71
|
-
#!/bin/sh
|
72
|
-
|
73
|
-
#データ記録(from BME280 to csv)
|
74
|
-
|
75
|
-
/home/pi/dev/./CSV.py
|
76
|
-
|
77
|
-
#csvファイルアップロード
|
78
|
-
|
79
|
-
/home/pi/gdrive update hogehoge /home/pi/test.csv
|
80
|
-
|
81
|
-
#条件判定・動画撮影
|
82
|
-
|
83
|
-
/home/pi/dev/./Movie.py
|
84
|
-
|
85
|
-
#動画ファイルアップロード
|
86
|
-
|
87
|
-
/home/pi/gdrive sync upload /home/pi/Movie hogehoge
|
88
|
-
|
89
|
-
```
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
##動画撮影プログラム
|
94
|
-
|
95
|
-
```python
|
96
|
-
|
97
|
-
start_time = datetime.now()
|
98
|
-
|
99
|
-
set_time = 60
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
if judge=22.5:
|
104
|
-
|
105
|
-
#test.mp4のファイル名変更 (これが異常検知前の動画となる)
|
106
|
-
|
107
|
-
os.rename ('/home/pi/test.mp4', b)
|
108
|
-
|
109
|
-
writer1 = cv2.VideoWriter(a, fmt ,25, (width, height))
|
110
|
-
|
111
|
-
while True:
|
112
|
-
|
113
|
-
ret, frame = cap.read()
|
114
|
-
|
115
|
-
writer1.write(frame)
|
116
|
-
|
117
|
-
end_time = datetime.now()
|
118
|
-
|
119
|
-
diff = end_time - start_time
|
120
|
-
|
121
|
-
print (diff)
|
122
|
-
|
123
|
-
delta_t = diff.seconds
|
124
|
-
|
125
|
-
if delta_t >= set_time:
|
126
|
-
|
127
|
-
break
|
128
|
-
|
129
|
-
writer1.release()
|
130
|
-
|
131
|
-
else:
|
132
|
-
|
133
|
-
writer2 = cv2.VideoWriter('/home/pi/test.mp4', fmt ,25, (width, height))
|
134
|
-
|
135
|
-
while True:
|
136
|
-
|
137
|
-
ret, frame = cap.read()
|
138
|
-
|
139
|
-
writer2.write(frame)
|
140
|
-
|
141
|
-
end_time = datetime.now()
|
142
|
-
|
143
|
-
diff = end_time - start_time
|
144
|
-
|
145
|
-
delta_t = diff.seconds
|
146
|
-
|
147
|
-
if delta_t >= set_time:
|
148
|
-
|
149
|
-
break
|
150
|
-
|
151
|
-
writer2.release()
|
152
|
-
|
153
|
-
cap.release()
|
154
|
-
|
155
|
-
```
|