              The incoming frame filename.
          image: :class:`numpy.ndarray`
              The converted image to be written
          """
          logger.trace("Received frame: (filename: '%s', shape: %s",  # type: ignore
                       filename, image.shape)
          if not self._output_dimensions:
              input_dims = cast(Tuple[int, int], image.shape[:2])
              self._set_dimensions(input_dims)
              self._writer = self._get_writer(input_dims)
 
</s> remove         logger.trace("Loading image: '%s'", filename)  # type: ignore
 </s> add         logger.trace("Loading image: '%s'", filename)  # type:ignore[attr-defined] </s> remove         logger.trace("Loading video frame: %s", frame_no)  # type: ignore
        reader = imageio.get_reader(self._args.input_dir, "ffmpeg")
 </s> add         logger.trace("Loading video frame: %s", frame_no)  # type:ignore[attr-defined]
        reader = imageio.get_reader(self._args.input_dir, "ffmpeg")  # type:ignore[arg-type] </s> remove             logger.trace("Loading video frame: '%s'", filename)  # type: ignore
 </s> add             logger.trace("Loading video frame: '%s'", filename)  # type:ignore[attr-defined] </s> remove         reader = imageio.get_reader(self._args.input_dir, "ffmpeg")
        for i, frame in enumerate(reader):
 </s> add         reader = imageio.get_reader(self._args.input_dir, "ffmpeg")  # type:ignore[arg-type]
        for i, frame in enumerate(cast(Iterator[np.ndarray], reader)): </s> remove                 logger.trace("Next frame not ready. Continuing")  # type: ignore
 </s> add                 logger.trace("Next frame not ready. Continuing")  # type:ignore[attr-defined]
        logger.trace("Received frame: (filename: '%s', shape: %s",  # type:ignore[attr-defined]
              The incoming frame filename.
          image: :class:`numpy.ndarray`
              The converted image to be written
          """
        logger.trace("Received frame: (filename: '%s', shape: %s",  # type:ignore[attr-defined]
                       filename, image.shape)
          if not self._output_dimensions:
              input_dims = cast(Tuple[int, int], image.shape[:2])
              self._set_dimensions(input_dims)
              self._writer = self._get_writer(input_dims)
keep keep keep keep replace keep keep keep keep keep
 tests:
  - unit test: tools.alignments.media
  - Add mypy test
  - Typing fixes 
plugins/convert/writer/ffmpeg.py