示例#1
0
    def _create_reader(self):
        """
		Sets up the video reader instance
		"""

        if self.config.get("video", "recording_plugin") == "ffmpeg":
            # Set the capture source for ffmpeg
            from recorders.ffmpeg_reader import ffmpeg_reader
            self.internal = ffmpeg_reader(
                self.config.get("video", "device_path"),
                self.config.get("video", "device_format"))

        elif self.config.get("video", "recording_plugin") == "pyv4l2":
            # Set the capture source for pyv4l2
            from recorders.pyv4l2_reader import pyv4l2_reader
            self.internal = pyv4l2_reader(
                self.config.get("video", "device_path"),
                self.config.get("video", "device_format"))

        else:
            # Start video capture on the IR camera through OpenCV
            self.internal = cv2.VideoCapture(
                self.config.get("video", "device_path"))

        # Force MJPEG decoding if true
        if self.config.getboolean("video", "force_mjpeg", fallback=False):
            # Set a magic number, will enable MJPEG but is badly documentated
            self.internal.set(cv2.CAP_PROP_FOURCC, 1196444237)

        # Set the frame width and height if requested
        self.fw = self.config.getint("video", "frame_width", fallback=-1)
        self.fh = self.config.getint("video", "frame_height", fallback=-1)
        if self.fw != -1:
            self.internal.set(cv2.CAP_PROP_FRAME_WIDTH, self.fw)
        if self.fh != -1:
            self.internal.set(cv2.CAP_PROP_FRAME_HEIGHT, self.fh)
示例#2
0
    if label_in != "":
        label = label_in[:24]

# Prepare the metadata for insertion
insert_model = {
    "time": int(time.time()),
    "label": label,
    "id": numberId,
    "data": []
}

# Check if the user explicitly set ffmpeg as recorder
if config.get("video", "recording_plugin") == "ffmpeg":
    # Set the capture source for ffmpeg
    from recorders.ffmpeg_reader import ffmpeg_reader
    video_capture = ffmpeg_reader(config.get("video", "device_path"),
                                  config.get("video", "device_format"))
elif config.get("video", "recording_plugin") == "pyv4l2":
    # Set the capture source for pyv4l2
    from recorders.pyv4l2_reader import pyv4l2_reader
    video_capture = pyv4l2_reader(config.get("video", "device_path"),
                                  config.get("video", "device_format"))
else:
    # Start video capture on the IR camera through OpenCV
    video_capture = cv2.VideoCapture(config.get("video", "device_path"))

# Force MJPEG decoding if true
if config.getboolean("video", "force_mjpeg", fallback=False):
    # Set a magic number, will enable MJPEG but is badly documentated
    video_capture.set(cv2.CAP_PROP_FOURCC, 1196444237)

# Set the frame width and height if requested