##やろうとしていること
ある条件を満たしたとき、その前後の動画を保存したい。
次の通り、1min毎に判定しています。
〇:判定(条件を満たしていない)
●: 判定(条件を満たした)
〇||||||1min||||||〇||||||1min||||||●||||||1min||||||〇||||||1min||||||
##今の状況
①↓のプログラムを常に動作させています。
60sec (1min)の動画を常に撮影し、保存しています。(test.mp4というファイル名で保存)
②条件を満たしたとき(●印)
ⅰ) test.mp4のファイル名を変更します。(日付_時刻_b.mp4)
⇒これは、条件を満たしたときの前の状態を撮影した動画
ⅱ) 動画を60sec撮影します(日付_時刻_a.mp4)
⇒これは、条件を満たしたときの後の状態を撮影した動画
ここまでは、動作できました。
##困っていること
次のように、条件を満たす場合が連続した場合の対応に困っています。
〇:判定(条件を満たしていない)
●: 判定(条件を満たした)
〇||||||1min||||||〇||||||1min||||||●||||||1min||||||●||||||1min||||||
もともと、常時(1min毎)撮影していた動画をtest.mp4という名前で保存していました。
ある条件を満たした段階で、test.mp4を別のファイル名に変更(日付_時刻_b.mp4)しているため、
続けて、条件を満たした場合、test.mp4という名前のファイルが存在しないため、今の状況ではエラーとなってしまいます。
条件を満たした場合は、
・必ず前後の動画を保存したい
・動画のファイル名には、必ず日付_時刻を入れたい
この希望を満たす方法が分からず困っています。
なにか良い方法がありましたら、教えていただけると助かります。
##プログラムコード
python
1 filename_a = '/home/pi/' + now.strftime('%Y%m%d_%H%M%S') + '_a.mp4' 2 filename_b = '/home/pi/' + now.strftime('%Y%m%d_%H%M%S') + '_b.mp4' 3 fmt = cv2.VideoWriter_fourcc('m', 'p', '4', 'v') # ファイル形式(ここではmp4) 4 start_time = datetime.now() 5 set_time = 60 6 7 if test>=22.5: 8 os.rename ('/home/pi/test.mp4', filename_b) 9 writer1 = cv2.VideoWriter(filename_a, fmt ,25, (width, height)) 10 (省略) 11 else: 12 writer2 = cv2.VideoWriter('/home/pi/test.mp4', fmt ,25, (width, height)) 13 (省略)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/21 04:51