Skip to content

Commit

Permalink
Merge pull request #834 from Joseph-DiGiovanni/beta
Browse files Browse the repository at this point in the history
Add configurable device frame rate
  • Loading branch information
boltgolt committed Sep 5, 2023
2 parents 3cc017b + d6e35cf commit 13f59e0
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 0 deletions.
6 changes: 6 additions & 0 deletions howdy/src/config.ini
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,12 @@ force_mjpeg = false
# OPENCV only.
exposure = -1

# Specify frame rate of the capture device.
# Some IR emitters will not function properly at the default framerate.
# Use qv4l2 to determine an appropriate value.
# OPENCV only.
device_fps = -1

# Rotate captured frames so faces are upright.
# 0 Check landscape orientation only
# 1 Check both landscape and portrait orientation
Expand Down
6 changes: 6 additions & 0 deletions howdy/src/recorders/video_capture.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,12 @@ def _create_reader(self):
self.config.get("video", "device_path"),
cv2.CAP_V4L
)
# Set the capture frame rate
# Without this the first detected (and possibly lower) frame rate is used, -1 seems to select the highest
# Use 0 as a fallback to avoid breaking an existing setup, new installs should default to -1
self.fps = self.config.getint("video", "device_fps", fallback=0)
if self.fps != 0:
self.internal.set(cv2.CAP_PROP_FPS, self.fps)

# Force MJPEG decoding if true
if self.config.getboolean("video", "force_mjpeg", fallback=False):
Expand Down

0 comments on commit 13f59e0

Please sign in to comment.