def METHOD_NAME(self):
    glfw_key_escape = 256
    glfw_key_space = 32
    vis = o3d.visualization.VisualizerWithKeyCallback()
    vis.register_key_callback(glfw_key_escape, self.escape_callback)
    vis.register_key_callback(glfw_key_space, self.space_callback)
    vis_geometry_added = False
    vis.create_window('reader', 1920, 540)
    print(
        "MKV reader initialized. Press [SPACE] to pause/start, [ESC] to exit."
    )
    if self.output is not None:
        abspath = os.path.abspath(self.output)
        metadata = self.reader.get_metadata()
        o3d.io.write_azure_kinect_mkv_metadata(
            '{}/intrinsic.json'.format(abspath), metadata)
        config = {
            'path_dataset': abspath,
            'path_intrinsic': '{}/intrinsic.json'.format(abspath)
        }
        initialize_config(config)
        with open('{}/config.json'.format(abspath), 'w') as f:
            json.dump(config, f, indent=4)
    idx = 0
    while not self.reader.is_eof() and not self.flag_exit:
        if self.flag_play:
            rgbd = self.reader.next_frame()
            if rgbd is None:
                continue
            if not vis_geometry_added:
                vis.add_geometry(rgbd)
                vis_geometry_added = True
            if self.output is not None:
                color_filename = '{0}/color/{1:05d}.jpg'.format(
                    self.output, idx)
                print('Writing to {}'.format(color_filename))
                o3d.io.write_image(color_filename, rgbd.color)
                depth_filename = '{0}/depth/{1:05d}.png'.format(
                    self.output, idx)
                print('Writing to {}'.format(depth_filename))
                o3d.io.write_image(depth_filename, rgbd.depth)
                idx += 1
        try:
            vis.update_geometry(rgbd)
        except NameError:
            pass
        vis.poll_events()
        vis.update_renderer()
    self.reader.close()