moviepy v2.0.0.dev1 Release Notes

Release Date: 2020-06-04 // over 3 years ago
  • Full Changelog

    ๐Ÿ›  This development version introduces many bug-fixes and changes. Please note that there may be large backwards-incompatible changes between dev versions! ๐Ÿ“š The online documentation has not been updated to reflect the changes in the v2.0.0 branch, so for help on how to use the new features please refer to the docstrings in the source code. โฌ†๏ธ Install with pip install moviepy --pre --upgrade.

    Important Announcements

    • ๐Ÿ‘Œ Support removed for Python versions 2.7, 3.4 & 3.5 #1103, #1106
    • 0๏ธโƒฃ If you were previously setting custom locations for FFmpeg or ImageMagick in and MoviePy still cannot autodetect the binaries, you will need to switch to the new method using enviroment variables. #1109
    • ๐Ÿšš All previously deprecated methods and parameters have been removed #1115

    โž• Added <!-- for new features -->

    • BitmapClip allows creating of custom frames using strings of letters
    • โœ… Clips can now be tested for equality with other clips using ==. This checks whether every frame of the two clips are identical
    • ๐Ÿ‘Œ Support for path-like objects as an option wherever filenames are passed in as arguments #1137
    • ๐Ÿ Autodetect ImageMagick executable on Windows #1109
    • ๐Ÿ”ง Optionally configure paths to FFmpeg and ImageMagick binaries with environment variables or a .env file #1109
    • Optional encoding parameter in SubtitlesClip #1043
    • Added new ffmpeg_stabilize_video() function in ffmpeg_tools
    • Optional temp_audiofile_path parameter in VideoClip.write_videofile() to specify where the temporary audiofile should be created #1144
    • VideoClip.set_layer() to specify the layer of the clip for use when creating a CompositeVideoClip #1176
    • ๐Ÿ“œ ffmpeg_parse_infos additionally returns "video_bitrate" and "audio_bitrate" values #930
    • Access to the source video's bitrate in a VideoFileClip or AudioFileClip through videoclip.reader.bitrate and audioclip.reader.bitrate #930

    ๐Ÿ”„ Changed <!-- for changes in existing functionality -->

    • vfx.scroll arguments w and h have had their order swapped. The correct order is now w, h but it is preferable to explicitly use keyword arguments
    • Removed extra . in the output file name of ffmpeg_extract_subclip() when targetname is not specified #939

    โœ‚ Removed <!-- for now removed features -->

    • ๐Ÿ‘Œ Support removed for Python versions 2.7, 3.4 & 3.5
    • 0๏ธโƒฃ Setting paths to ImageMagick and FFMpeg binaries in is no longer possible #1109
    • Removed config.get_setting() and config.change_settings() functions #1109
    • ๐Ÿ—„ All previously deprecated methods and parameters #1115:
      • AudioClip.to_audiofile() -> use AudioClip.write_audiofile()
      • VideoClip.to_videofile() -> use VideoClip.write_videofile()
      • VideoClip.to_images_sequence() -> use VideoClip.write_images_sequence()
      • concatenate() -> use concatenate_videoclips()
      • verbose parameter in AudioClip.write_audiofile(), ffmpeg_audiowriter(), VideoFileClip(), VideoClip.write_videofile(), VideoClip.write_images_sequence(), ffmpeg_write_video(), write_gif(), write_gif_with_tempfiles(), write_gif_with_image_io() -> Instead of verbose=False, use logger=None
      • verbose_print() -> no replacement
      • col parameter in ColorClip() -> use color

    ๐Ÿ›  Fixed <!-- for any bug fixes -->

    • When using VideoClip.write_videofile() with write_logfile=True, errors would not be properly reported #890
    • TextClip.list("color") now returns a list of bytes, not strings #1119
    •"colorname", "color") does not crash with a TypeError #1119
    • vfx.even_size previously created clips with odd sizes #1124
    • IndexError in vfx.freeze, vfx.time_mirror and vfx.time_symmetrize #1124
    • Using rotate() with a ColorClip no longer crashes #1139
    • AudioFileClip would not generate audio identical to the original file #1108
    • ๐Ÿ›  Fixed TypeError when using filename instead of txt parameter in TextClip #1201
    • Several issues resulting from incorrect time values due to floating point errors #1195, for example:
      • Blank frames at the end of clips #210
      • Sometimes getting IndexError: list index out of range when using concatenate_videoclips #646
    • ๐Ÿšš Applying resize with a non-constant newsize to a clip with a mask would remove the mask #1200
    • Using color_gradient() would crash with ValueError: The truth value of an array with more than one element is ambiguous #1212