def export_data(self, export_range, export_dir): rec_dir = self.g_pool.rec_dir user_dir = self.g_pool.user_dir start_frame, end_frame = export_range # Here we make clones of every plugin that supports it. # So it runs in the current config when we launch the exporter. plugins = self.g_pool.plugins.get_initializers() out_file_path = os.path.join(export_dir, self.rec_name) pre_computed_eye_data = self._precomputed_eye_data_for_range( export_range) args = ( rec_dir, user_dir, self.g_pool.min_data_confidence, start_frame, end_frame, plugins, out_file_path, pre_computed_eye_data, ) task = ManagedTask( _export_world_video, args=args, heading="Export World Video", min_progress=0.0, max_progress=end_frame - start_frame, ) self.add_task(task)
def add_export_job( self, export_range, export_dir, input_name, output_name, process_frame, timestamp_export_format, ): os.makedirs(export_dir, exist_ok=True) self.logger.info("Exporting to {}".format(export_dir)) input_video_file = _find_video_file(self.g_pool.rec_dir, input_name) output_video_file = os.path.join(export_dir, output_name + ".mp4") task_args = ( input_video_file, output_video_file, export_range, self.g_pool.timestamps, process_frame, timestamp_export_format, ) task = ManagedTask( _convert_video_file, args=task_args, heading="Export {} Video".format(input_name), min_progress=0.0, max_progress=100.0, ) self.add_task(task)