code: def create_presentation(self):
          
          # Avoid wasting time and bandwidth if we known that conversion will fail.
          if not self.overwrite and os.path.exists(self.output):
              raise ConversionError("File %s already exist and --overwrite not specified" % self.output)
  
          video = self.download_video()
          raw_slides = self.download_slides()
  
          # ffmpeg does not support SWF
          png_slides = self._convert_slides(raw_slides)
          # Create one frame per second using the time code information
          frame_pattern = self._prepare_frames(png_slides)
  
          return self._assemble(video, frame_pattern)
docs: Create the presentation.
  
          The audio track is mixed with the slides. The resulting file is saved as self.output
  
          DownloadError is raised if some resources cannot be fetched.
          ConversionError is raised if the final video cannot be created.