質問編集履歴
2
誤字
test
CHANGED
File without changes
|
test
CHANGED
@@ -7,115 +7,3 @@
|
|
7
7
|
60秒経ったら保存を一定間隔で繰り返し行いたいと思っています。
|
8
8
|
|
9
9
|
cronを使わず行う方法があれば教えていただきたいです。
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
### ソースコード
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
```
|
18
|
-
|
19
|
-
import numpy as np
|
20
|
-
|
21
|
-
import cv2
|
22
|
-
|
23
|
-
import os
|
24
|
-
|
25
|
-
import shutil
|
26
|
-
|
27
|
-
import itertools
|
28
|
-
|
29
|
-
import time
|
30
|
-
|
31
|
-
from datetime import datetime
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
cap = cv2.VideoCapture(0)
|
36
|
-
|
37
|
-
width = int(cap.get(3))
|
38
|
-
|
39
|
-
height = int(cap.get(4))
|
40
|
-
|
41
|
-
oldpath = 'output.mp4'
|
42
|
-
|
43
|
-
newpath = '/opt/security-camera/output.mp4'
|
44
|
-
|
45
|
-
fourcc = cv2.VideoWriter_fourcc(*'XVID')
|
46
|
-
|
47
|
-
out = cv2.VideoWriter('output.mp4',fourcc, 30, (width,height))
|
48
|
-
|
49
|
-
start_time = datetime.now()
|
50
|
-
|
51
|
-
set_time = 60
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
if os.path.exists(newpath):
|
56
|
-
|
57
|
-
# 移動先のファイルが既に存在する場合は、代わりの名前を見つける。
|
58
|
-
|
59
|
-
dirpath, filename = os.path.split(oldpath)
|
60
|
-
|
61
|
-
name, ext = os.path.splitext(filename)
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
for i in itertools.count(1):
|
66
|
-
|
67
|
-
newname = '{} ({}){}'.format(name, i, ext)
|
68
|
-
|
69
|
-
newpath = os.path.join(dirpath, newname)
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
if not os.path.exists(newpath):
|
74
|
-
|
75
|
-
break # 名前が空いている場合
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
print('{} -> {}'.format(oldpath, newpath))
|
80
|
-
|
81
|
-
shutil.move(oldpath, newpath)
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
while(True):
|
86
|
-
|
87
|
-
ret, frame = cap.read()
|
88
|
-
|
89
|
-
if ret==True:
|
90
|
-
|
91
|
-
cv2.imshow('frame',frame)
|
92
|
-
|
93
|
-
out.write(frame)
|
94
|
-
|
95
|
-
end_time = datetime.now()
|
96
|
-
|
97
|
-
diff = end_time - start_time
|
98
|
-
|
99
|
-
delta_t = diff.seconds
|
100
|
-
|
101
|
-
if delta_t >= set_time or cv2.waitKey(1) & 0xFF == ord('q'):
|
102
|
-
|
103
|
-
break
|
104
|
-
|
105
|
-
else:
|
106
|
-
|
107
|
-
break
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
# Release everything if job is finished
|
112
|
-
|
113
|
-
cap.release()
|
114
|
-
|
115
|
-
out.release()
|
116
|
-
|
117
|
-
cv2.destroyAllWindows()
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
```
|
1
文章修正しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
現在は時間が経過したら録画停止してbreakするというように設定していますが、
|
6
6
|
|
7
|
-
|
7
|
+
60秒経ったら保存を一定間隔で繰り返し行いたいと思っています。
|
8
8
|
|
9
9
|
cronを使わず行う方法があれば教えていただきたいです。
|
10
10
|
|