Пример #1
0
    def __init__(self, timeout=1):

        # Loop until the program stop receiving kinect stream data
        self._done = False
        self._start_time = None
        self._elapsed = None
        self._receiving_data = False

        # Used if recording a set amount of time of the XEF file
        self._first_frame_time = -1
        self._last_frame_time = -1

        # When the wait property reaches the timeout limit, we have stopped receiving data
        self._wait = None
        self._timeout = timeout

        # Kinect runtime object
        self._kinect = PyKinectRuntime(PyKinectV2.FrameSourceTypes_Color
                                       | PyKinectV2.FrameSourceTypes_Body
                                       | PyKinectV2.FrameSourceTypes_Body)

        # Store references from the body tracking ID to a simpler 0-5 ID
        self._bodies = []
        self._body_stream = DataStream()

        # This is our access to our database
        self._database = Database(DATABASE)

        # Unique performance ID (the last index + 1)
        self._p_id = self.get_performance_id()

        # This is the descriptor for storing RGB video
        self._video_fn = 'Output_%.03d.avi' % self._p_id
        self._video_path = VIDEO_DIR + self._video_fn
        self._video = VideoWriter(self._video_path)
        self._video_stream = DataStream()

        # This the descriptor for storing audio data
        self._audio_path = AUDIO_DIR + 'Output_%.03d.wav' % self._p_id
        self._audio = AudioWriter(self._audio_path)
        self._audio_stream = DataStream()

        # This is the descriptor for storing depth data

        # pass

        # Holds any streams being used

        self._streams = []