      def set_output(self):
          """ Set the output folder path """
          now = datetime.now().strftime("%Y%m%d_%H%M%S")
          folder_name = "drawn_landmarks_{}".format(now)
          output_folder = os.path.join(self.frames.folder, folder_name)
          logger.debug("Creating folder: '%s'", output_folder)
          os.makedirs(output_folder)
          return output_folder
  
      def process(self):
 
</s> remove             sysbrowser = "context"
 </s> add             sysbrowser = ["context"]
        logger.debug("sysbrowser: %s, filetypes: '%s'", sysbrowser, filetypes) </s> remove     def check_folder_exists(self):
        """ makes sure that the faces folder exists """
 </s> add     @property
    def count(self):
        """ Number of faces or frames """
        if self.vid_cap:
            retval = int(self.vid_cap.get(cv2.CAP_PROP_FRAME_COUNT))  # pylint: disable=no-member
        else:
            retval = len(self.file_list_sorted)
        return retval

    def check_input_folder(self):
        """ makes sure that the frames or faces folder exists
            If frames folder contains a video file return video capture object """ </s> remove         sysbrowser = "folder"
 </s> add         sysbrowser = ["folder"] </s> remove         src = os.path.join(self.folder, filename)
        logger.trace("Loading image: '%s'", src)
        image = cv2.imread(src)  # pylint: disable=no-member
 </s> add         if self.vid_cap:
            image = self.load_video_frame(filename)
        else:
            src = os.path.join(self.folder, filename)
            logger.trace("Loading image: '%s'", src)
            image = cv2.imread(src)  # pylint: disable=no-member
        return image

    def load_video_frame(self, filename):
        """ Load a requested frame from video """
        frame = os.path.splitext(filename)[0]
        logger.trace("Loading video frame: '%s'", frame)
        frame_no = int(frame[frame.rfind("_") + 1:])
        self.vid_cap.set(cv2.CAP_PROP_POS_FRAMES, frame_no)  # pylint: disable=no-member
        _, image = self.vid_cap.read() </s> remove         self.count = len(self.file_list_sorted)
 </s> add 
        if self.frames.vid_cap:
            dest_folder = os.path.split(self.frames.folder)[0]
        else:
            dest_folder = self.frames.folder
        output_folder = os.path.join(dest_folder, folder_name)
      def set_output(self):
          """ Set the output folder path """
          now = datetime.now().strftime("%Y%m%d_%H%M%S")
          folder_name = "drawn_landmarks_{}".format(now)
        if self.frames.vid_cap:
            dest_folder = os.path.split(self.frames.folder)[0]
        else:
            dest_folder = self.frames.folder
        output_folder = os.path.join(dest_folder, folder_name)
          logger.debug("Creating folder: '%s'", output_folder)
          os.makedirs(output_folder)
          return output_folder
  
      def process(self):
keep keep keep keep replace keep keep keep keep keep
 Add ability to extract from and convert from a video file (#559)

* Add ability to extract from and convert from a video file

* Update cli helptext. Add filebrowser button for GUI input

* Add video support to Alignments Tool 
tools/lib_alignments/jobs.py