class_docstr: Base class of all clips (VideoClips and AudioClips).
  
  Attributes
  ----------
  
  start : float
    When the clip is included in a composition, time of the
    composition at which the clip starts playing (in seconds).
  
  end : float
    When the clip is included in a composition, time of the
    composition at which the clip stops playing (in seconds).
  
  duration : float
    Duration of the clip (in seconds). Some clips are infinite, in
    this case their duration will be ``None``.
class_docstr_tok: ["Base","class","of","all","clips","(","VideoClips","and","AudioClips",")",".","Attributes","--","--","--","--","--","start",":","float","When","the","clip","is","included","in","a","composition",",","time","of","the","composition","at","which","the","clip","starts","playing","(","in","seconds",")",".","end",":","float","When","the","clip","is","included","in","a","composition",",","time","of","the","composition","at","which","the","clip","stops","playing","(","in","seconds",")",".","duration",":","float","Duration","of","the","clip","(","in","seconds",")",".","Some","clips","are","infinite",",","in","this","case","their","duration","will","be","``","None","``","."]
docstr: Returns a copy of the clip with a new default fps for functions like
  write_videofile, iterframe, etc.
  
  Parameters
  ----------
  
  fps : int
    New ``fps`` attribute value for the clip.
  
  change_duration : bool, optional
    If ``change_duration=True``, then the video speed will change to
    match the new fps (conserving all frames 1:1). For example, if the
    fps is halved in this mode, the duration will be doubled.
docstr_tok: ["Returns","a","copy","of","the","clip","with","a","new","default","fps","for","functions","like","write_videofile",",","iterframe",",","etc",".","Parameters","--","--","--","--","--","fps",":","int","New","``","fps","``","attribute","value","for","the","clip",".","change_duration",":","bool",",","optional","If","``","change_duration=True","``",",","then","the","video","speed","will","change","to","match","the","new","fps","(","conserving","all","frames","1:1",")",".","For","example",",","if","the","fps","is","halved","in","this","mode",",","the","duration","will","be","doubled","."]
code: def with_fps(self, fps, change_duration=False):
      """Returns a copy of the clip with a new default fps for functions like
      write_videofile, iterframe, etc.
  
      Parameters
      ----------
  
      fps : int
        New ``fps`` attribute value for the clip.
  
      change_duration : bool, optional
        If ``change_duration=True``, then the video speed will change to
        match the new fps (conserving all frames 1:1). For example, if the
        fps is halved in this mode, the duration will be doubled.
      """
      if change_duration:
          from moviepy.video.fx.multiply_speed import multiply_speed
  
          newclip = multiply_speed(self, fps / self.fps)
      else:
          newclip = self.copy()
  
      newclip.fps = fps
      return newclip
  
imports: import copy
  from functools import reduce
  from numbers import Real
  from operator import add
  import numpy
  import proglog
  from moviepy.decorators import apply_to_audio, apply_to_mask, convert_parameter_to_seconds, outplace, requires_duration, use_clip_fps_by_default
label_desc: Use image node_id 11 for calling the Clip obj's underlying member method code with example usage: obj.with_fps(fps, change_duration) and returns: newclip