Skip to content

Instantly share code, notes, and snippets.

@motomod
Created May 25, 2016 14:37
Show Gist options
  • Select an option

  • Save motomod/54d468a69c86724f220cfeb5e8dea43b to your computer and use it in GitHub Desktop.

Select an option

Save motomod/54d468a69c86724f220cfeb5e8dea43b to your computer and use it in GitHub Desktop.
Dashcam script
import picamera
import time
import os
import datetime as dt
def oldest_file_in_tree(rootfolder, extension=".avi"):
return min(
(os.path.join(dirname, filename)
for dirname, dirnames, filenames in os.walk(rootfolder)
for filename in filenames
if filename.endswith(extension)),
key=lambda fn: os.stat(fn).st_mtime)
video_dir = "/home/pi/Dashcam/video/"
camera = picamera.PiCamera()
camera.resolution = (1920, 1080)
#camera.brightness = 55
camera.sharpness = 30
#camera.contrast = 10
camera.rotation = 270
while True:
b = os.statvfs(video_dir)
space_remaining = (b.f_bsize * b.f_bavail) / 1500000
while space_remaining < 500:
print space_remaining
os.remove(oldest_file_in_tree(video_dir, ".h264"))
b = os.statvfs(video_dir)
space_remaining = (b.f_bsize * b.f_bavail) / 1500000
print space_remaining
camera.annotate_background = picamera.Color('black')
camera.annotate_text = dt.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
camera.start_recording(video_dir + str(time.strftime("%Y%m%d-%H%M%S")) + ".h264", quality=18)
start = dt.datetime.now()
while (dt.datetime.now() - start).seconds < 300:
camera.annotate_text = dt.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
camera.wait_recording(0.2)
camera.stop_recording()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment