コード例 #1
0
    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)
コード例 #2
0
    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)