質問編集履歴

1

質問の内容を変更させていただきます。別質問に掲示します。

2019/11/25 01:50

投稿

raspypy
raspypy

スコア247

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
- Movie.pyの時間で調整する以外に、なにか良い方法がありませんでしょうか。
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
- ```