動画ファイルをh264にした、常時録画などの仕様のため、油断しているとUSBメモリはあっという間に容量不足になります。
ですので、古い(ファイル名の昇順)で古い順に、ある程度空き容量が不足した時点で消しにかかります。
運用としては、何かあった(事故とか…)場合は、USBメモリをRasperry Pi から引き抜くで済ませようかと思います。
(世にあるドラレコは、大きな音、大きなショック、ボタン押下で録画を保存するようですが、今回は常時録画、古い順に消していく方式にします)
以下、Python3でのソースコード。rc.localにsudo で python3 コマンドにファイル名を渡して起動しましょう。
import os import time import stat # 定数 TargetDir = "/mnt/usb1/capturedVideos/" FreeMin = 1000 while True: # 空き容量の取得(MB) dirStat = os.statvfs(TargetDir) freeSize = dirStat.f_bsize * dirStat.f_bfree / 1024 / 1024 print("FreeSize(MB):" + str(freeSize)) if freeSize <= FreeMin : # ファイル一覧取得、ファイル名でソート fileList = os.listdir(TargetDir) fileList.sort() # 順に消してみる for delTarget in fileList: try: print("DEL:" + TargetDir + delTarget) os.chmod(TargetDir + delTarget, stat.S_IWRITE ) os.remove(TargetDir + delTarget)
except: print("File Delete Error !!") time.sleep(10)