teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

誤字

2020/07/16 06:30

投稿

tkpo
tkpo

スコア8

title CHANGED
File without changes
body CHANGED
@@ -2,60 +2,4 @@
2
2
  pythonとoepncvを使ってドライブレコーダーを作成しようとしています。
3
3
  現在は時間が経過したら録画停止してbreakするというように設定していますが、
4
4
  60秒経ったら保存を一定間隔で繰り返し行いたいと思っています。
5
- cronを使わず行う方法があれば教えていただきたいです。
5
+ cronを使わず行う方法があれば教えていただきたいです。
6
-
7
- ### ソースコード
8
-
9
- ```
10
- import numpy as np
11
- import cv2
12
- import os
13
- import shutil
14
- import itertools
15
- import time
16
- from datetime import datetime
17
-
18
- cap = cv2.VideoCapture(0)
19
- width = int(cap.get(3))
20
- height = int(cap.get(4))
21
- oldpath = 'output.mp4'
22
- newpath = '/opt/security-camera/output.mp4'
23
- fourcc = cv2.VideoWriter_fourcc(*'XVID')
24
- out = cv2.VideoWriter('output.mp4',fourcc, 30, (width,height))
25
- start_time = datetime.now()
26
- set_time = 60
27
-
28
- if os.path.exists(newpath):
29
- # 移動先のファイルが既に存在する場合は、代わりの名前を見つける。
30
- dirpath, filename = os.path.split(oldpath)
31
- name, ext = os.path.splitext(filename)
32
-
33
- for i in itertools.count(1):
34
- newname = '{} ({}){}'.format(name, i, ext)
35
- newpath = os.path.join(dirpath, newname)
36
-
37
- if not os.path.exists(newpath):
38
- break # 名前が空いている場合
39
-
40
- print('{} -> {}'.format(oldpath, newpath))
41
- shutil.move(oldpath, newpath)
42
-
43
- while(True):
44
- ret, frame = cap.read()
45
- if ret==True:
46
- cv2.imshow('frame',frame)
47
- out.write(frame)
48
- end_time = datetime.now()
49
- diff = end_time - start_time
50
- delta_t = diff.seconds
51
- if delta_t >= set_time or cv2.waitKey(1) & 0xFF == ord('q'):
52
- break
53
- else:
54
- break
55
-
56
- # Release everything if job is finished
57
- cap.release()
58
- out.release()
59
- cv2.destroyAllWindows()
60
-
61
- ```

1

文章修正しました

2020/07/16 06:29

投稿

tkpo
tkpo

スコア8

title CHANGED
File without changes
body CHANGED
@@ -1,7 +1,7 @@
1
1
  ### 前提・実現したいこと
2
2
  pythonとoepncvを使ってドライブレコーダーを作成しようとしています。
3
3
  現在は時間が経過したら録画停止してbreakするというように設定していますが、
4
- 10秒経ったら保存を一定間隔で繰り返し行いたいと思っています。
4
+ 60秒経ったら保存を一定間隔で繰り返し行いたいと思っています。
5
5
  cronを使わず行う方法があれば教えていただきたいです。
6
6
 
7
7
  ### ソースコード