of -1 lets the underlying movie encoder select the bitrate. extra_args : list of str or None, optional Extra command-line arguments passed to the underlying movie encoder. The default, None, means to use :rc:`animation.[name-of-encoder]_args` for the builtin writers. metadata : dict[str, str], default: {} Dictionary of keys and values for metadata to include in the output file. Some keys that may be of use include: title, artist, genre, subject, copyright, srcform, comment. extra_anim : list, default: [] Additional `Animation` objects that should be included in the saved movie file. These need to be from the same `.Figure` instance. Also, animation frames will just be simply combined, so there should be a 1:1 correspondence between the frames from the different animations. savefig_kwargs : dict, default: {} Keyword arguments passed to each `~.Figure.savefig` call used to save the individual frames. progress_callback : function, optional A callback function that will be called for every frame to notify the saving progress. It must have the signature :: def func(current_frame: int, total_frames: int) -> Any where *current_frame* is the current frame number and *total_frames* is the total number of frames to be saved. *total_frames* is set to None, if the total number of frames can not be determined. Return values may exist but are ignored. Example code to write the progress to stdout:: progress_callback = lambda i, n: print(f'Saving frame {i}/{n}') Notes ----- *fps*, *codec*, *bitrate*, *extra_args* and *metadata* are used to construct a `.MovieWriter` instance and can only be passed if *writer* is a string. If they are passed as non-*None* and *writer* is a `.MovieWriter`, a `RuntimeError` will be raised. Nc