          return input_images
  
      def load(self):
          """ Load an image and yield it with it's filename """
          for filename in self.input_images:
              logger.trace("Loading image: '%s'", filename)
              try:
                  image = cv2.imread(filename)  # pylint: disable=no-member
 
</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         logger.info("Input Directory: %s", self.args.input_dir)
        input_images = get_image_paths(self.args.input_dir)
 </s> add     def get_input_images(self):
        """ Return the list of images or video file that is to be processed """
        if self.is_video:
            input_images = self.args.input_dir
        else:
            input_images = get_image_paths(self.args.input_dir) </s> remove         for filename in tqdm(self.images.input_images,
                             total=self.images.images_found,
                             file=sys.stdout):
 </s> add         for filename, image in tqdm(self.images.load(),
                                    total=self.images.images_found,
                                    file=sys.stdout):
        iterator = self.load_video_frames if self.is_video else self.load_disk_frames
        for filename, image in iterator():
            yield filename, image

    def load_disk_frames(self):
        """ Load frames from disk """
        logger.debug("Input is Seperate Frames. Loading images")
          return input_images
  
      def load(self):
          """ Load an image and yield it with it's filename """
        iterator = self.load_video_frames if self.is_video else self.load_disk_frames
        for filename, image in iterator():
            yield filename, image

    def load_disk_frames(self):
        """ Load frames from disk """
        logger.debug("Input is Seperate Frames. Loading images")
          for filename in self.input_images:
              logger.trace("Loading image: '%s'", filename)
              try:
                  image = cv2.imread(filename)  # pylint: disable=no-member
keep keep keep add 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 
scripts/fsmedia.py