Changelog History
Page 1
-
v2.3.5 Changes
May 31, 2018π Fixed bugs:
Closed issues:
- 100% of GIF does not convert to MP4, gets cut short. #802
- How to add audio track to MP4? #794
- π ffmpeg 4.0 NVIDIA NVDEC-accelerated Support ? #790
- Help!!!! errors during installation on Mac #788
- π Blink fx uses deprecated(?) method
with\_mask\(\)
#786 - Built-in file downloader downloads files repeatedly? #779
- Error in compositing video and SubtitlesClip by CompositeVideoClip #778
- SubtitlesClip #777
- Video Background #774
π Merged pull requests:
- Progress bar optional for GIF creation #799 (mdfirman)
- β Added contributing guide and issue template #792 (tburrows13)
-
v2.0.0.dev2 Changes
October 05, 2020v2.0.0.dev2
β‘οΈ There are still no major breaking changes compared to v1.0.3. Expect them to come in the next dev update.
π Any new changes made to the master branch will now be instantly reflected at https://moviepy.readthedocs.io, which is where documentation for all versions will be in the future. [#1328]
β¬οΈ Install withpip install moviepy --pre --upgrade
.β Added
- New
pix_fmt
parameter inVideoFileClip
,VideoClip.write_videofile()
,VideoClip.write_gif()
that allows passing a custompix_fmt
parameter such as"bgr24"
to FFmpeg [#1237] - New
change_duration
parameter inClip.set_fps()
that allows changing the video speed to match the new fps [#1329]
π Changed
- π
ffmpeg_parse_infos()
andVideoFileClip
now have optionaldecode_file
parameter that ensures that the detected duration is correct, but may take a long time to run [#1063, #1222] - π
ffmpeg_parse_infos()
andVideoFileClip
now usefps
metadata instead oftbr
to detect a video's fps value [#1222] FFMPEG_AudioReader.close_proc()
->FFMPEG_AudioReader.close()
for consistency withFFMPEG_VideoReader
[#1220]
π Fixed
- Fixed
ffmpeg_tools.ffmpeg_extract_subclip
creating clips with incorrect duration metadata [#1317] OSError: MoviePy error: failed to read the first frame of video file...
would occasionally occur for no reason [#1220]- π Fixed warnings being suppressed [#1191]
- π Fixed
UnicodeDecodeError
crash when file metadata contained non-UTF8 characters [#959]
- New
-
v2.0.0.dev1 Changes
June 04, 2020π 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
config_defaults.py
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 inSubtitlesClip
#1043 - Added new
ffmpeg_stabilize_video()
function inffmpeg_tools
- Optional
temp_audiofile_path
parameter inVideoClip.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 aCompositeVideoClip
#1176- π
ffmpeg_parse_infos
additionally returns"video_bitrate"
and"audio_bitrate"
values #930 - Access to the source video's bitrate in a
VideoFileClip
orAudioFileClip
throughvideoclip.reader.bitrate
andaudioclip.reader.bitrate
#930
π Changed <!-- for changes in existing functionality -->
vfx.scroll
argumentsw
andh
have had their order swapped. The correct order is noww, h
but it is preferable to explicitly use keyword arguments- Removed extra
.
in the output file name offfmpeg_extract_subclip()
whentargetname
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
config_defaults.py
is no longer possible #1109 - Removed
config.get_setting()
andconfig.change_settings()
functions #1109 - π All previously deprecated methods and parameters #1115:
AudioClip.to_audiofile()
-> useAudioClip.write_audiofile()
VideoClip.to_videofile()
-> useVideoClip.write_videofile()
VideoClip.to_images_sequence()
-> useVideoClip.write_images_sequence()
concatenate()
-> useconcatenate_videoclips()
verbose
parameter inAudioClip.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 ofverbose=False
, uselogger=None
verbose_print()
-> no replacementcol
parameter inColorClip()
-> usecolor
π Fixed <!-- for any bug fixes -->
- When using
VideoClip.write_videofile()
withwrite_logfile=True
, errors would not be properly reported #890 TextClip.list("color")
now returns a list of bytes, not strings #1119TextClip.search("colorname", "color")
does not crash with a TypeError #1119vfx.even_size
previously created clips with odd sizes #1124IndexError
invfx.freeze
,vfx.time_mirror
andvfx.time_symmetrize
#1124- Using
rotate()
with aColorClip
no longer crashes #1139 AudioFileClip
would not generate audio identical to the original file #1108- π Fixed
TypeError
when usingfilename
instead oftxt
parameter inTextClip
#1201 - Several issues resulting from incorrect time values due to floating point errors #1195, for example:
- π Applying
resize
with a non-constantnewsize
to a clip with a mask would remove the mask #1200 - Using
color_gradient()
would crash withValueError: The truth value of an array with more than one element is ambiguous
#1212
-
v1.0.3 Changes
May 07, 2020 -
v1.0.2 Changes
March 26, 2020v1.0.2 (2020-03-26)
π Note that this is likely to be the last release before v2.0, which will drop support for Python versions 2.7, 3.4 & 3.5 and will introduce other backwards-incompatible changes.
π Notable bug fixes:
- π Fixed bug that meant that some VideoFileClips were created without audio [#968]
- π Fixed bug so now the
slide_out
effect works [#795]
π Fixed bugs:
- π Fixed potential crash trying to call the logger string as a function #1082 (tburrows13)
- Get ffmpeg to use all audio streams #1008 (vmaliaev)
- Reorder FFMPEG_VideoWriter command arguments #968 (ThePhonon)
- β Test that the temporary audio file exists #958 (ybenitezf)
- π Fix slide out #795 (knezi)
- Correct the error message to new filename. #1057 (jwg4) π Merged pull requests
π Merged pull requests:
- β Remove timer in stdout flushing test #1091 (tburrows13)
- β‘οΈ Update github issue and PR templates #1087 (tburrows13)
- Clean up imports #1084 (tburrows13)
- π¨ refactor Pythonic sake #1077 (mgaitan)
- β¬οΈ Upgrade pip by calling via python (in appveyor). #1067 (jwg4)
- π Improve afx.audio_normalize documentation #1046 (dspinellis)
- β Add Travis support for Python 3.7 and 3.8 #1018 (tburrows13)
- π Hide pygame support prompt #1017 (tburrows13)
Closed issues
Closed issues:
- ImageSequenceClip write_videofile #1098
- Formatting code with Black #1097
- π Make effects be callable classes #1096
- π URGENT - Documentation is inaccessible #1086
- β¬οΈ Drop support for python < 3.6 #1081
- TextClip filenotfounderror winerror2 #1080
- unable to create video from images #1074
- π Crash on loading the video, windows 10 #1071
- Audio Issue while concatenate_videoclips'ing ImageClip and VideoFileClip (contains audio already) #1064
- AttributeError: 'NoneType' object has no attribute 'stdout' #1054
- Overlay a video on top of an image with Moviepy #1053
- get_frame fails if not an early frame #1052
- from google.colab import drive drive.mount('/content/drive') import cv2 import numpy as np from skimage import morphology from IPython import display import PIL image = cv2.imread('/content/drive/My Drive/CAR3/11.JPG',cv2.IMREAD_COLOR) from google.colab.patches import cv2_imshow #image = cv2.resize(image,(384,192)) cv2_imshow(image) #1051
- Segmentation fault (core dumped) #1048
- zip over two iter_frames functions doesn't render proper result #1047
- CompositeVideoClip([xxx]).rotate(90) ValueError: axes don't match array #1042
- to_soundarray Index error #1034
- write_videofile does not add audio #1032
- moviepy.video.io.VideoFileClip.VideoFileClip.set_audio does not set audio #1030
- loop for concatenate_videoclips #1027
- How to resize ImageClip? #1004
- Pygame pollutes stdio with spammy message #985
- Issue with ffmpeg version #934
- π No release notes for 1.0.0? #917
- Imageio's new use of imageio-ffmpeg #908
ModuleNotFound: No module named 'imageio\_ffmpeg'
, or imageio v2.5.0 is breaking ffmpeg detection in config #906- CompositeVideoClip has no audio #876
- Handling of the ffmpeg dependency #859
- π§ 'ffmpeg-linux64-v3.3.1' was not found on your computer; downloading it now. #839
- Typo in variable name in transitions.py(t_s instead of ts) #692
- π version 0.2.3.2 TypeError: must be str, not bytes #650
- AWS Lambda - Moviepy Error - #638
- β Adding conda-forge package #616
- Several YouTube examples in Gallery page are unable to load. #600
- ffmpeg not installed on Mac #595
- FFMPEG not downloaded #493
- π Fix documentation #482
- Moviepy is producing garbled videos #356
- π Help with contributing to the documentation? #327
- π audio custom filter documentation? #267
- Mistake in doc, clips.html part. #136
-
v1.0.1 Changes
October 01, 2019v1.0.1 (2019-10-01)
π New features
- β Added support for Windows CI
- π Lots of bug fixes
Full details
π Merged pull requests π Merged pull requests: β‘οΈ Update maintainer list in the README #1022 (tburrows13) π fixed small error in 'Clip' documentation #1002 (thomasmatt88) Specify Coverage version explicitly. #987 (Julian-O) β‘οΈ Updating Docs for ImageMagick Installing Guide #980 (ABODFTW) π Several ImageMagick related bug fixes #972 (KiLLAAA) π More resilient Windows CI regarding fetching ImageMagick binaries #941 (Overdrivr) π§ WIP: Auto-detect image magick latest 6.9.X-Y version #936 (Overdrivr) π Windows-based testing #931 (Overdrivr) Fix formatting in logger #929 (tnoff) Fix for #926 #927 (Overdrivr) Invalid video URL in docs/getting_started/compositing #921 (gepcel) π¦ Do not install tests in site-packages #880 (cgohlke) FIX changed order of specifications -ss befor -i for ffmpeg_extract_subclip() #848 (grszkthfr) Closed issues Closed issues: Thoughts on re-routing tqdm progress bar for external use? #412 Progress bar #128 website video examples broken videos #1019 Audio glitches when using concatenate_videoclips. #1005 txt_clip = TextClip(filename='learn.srt') --bug:TypeError: stat: path should be string, bytes, os.PathLike or integer, not NoneType #984 txt_clip = TextClip(filename='learn.srt') --bug:TypeError: stat: path should be string, bytes, os.PathLike or integer, not NoneType #983 txt_clip = TextClip(filename='learn.srt')path should be string, bytes, os.PathLike or integer, not NoneType #982 write_videofile writes blank black when writing grayscale #973 i dont understand this question #967 Thank you guys! #957 Saving an opencv stream #953 Issue with reader not being defined #950 π On Windows, ImageMagick needs to be installed with Utility mode for the convert.exe file to exist #937 extract subtitles #932 π ffmpeg_parse_infos silently hangs on Windows when MP4 file contains enough metadata #926 crop missing from moviepy.video.fx.all #914 Segmentation Error on VPS #912 Error when installing with imageio #911 Backwards compatibility #889 frozen seconds in beginning of subclip using ffmpeg_extract_subclip() #847 π§ [Errno 3] No such process : on Windows Sub Linux (ubuntu 16.x) #765 Progress bar newline error in Jupyter #740 Refer to magick on https://zulko.github.io/moviepy/install.html #689 π§ Configure Appveyor support #628 tqdm progress bar write_videofile send to iterator #568 ffmpeg_extract_subclip returns black frames #508 π Windows: specifying path to ImageMagick in config_defaults.py #378 AttributeError: 'NoneType' object has no attribute 'start' #191 ImageMagick write gif success but no file found #113
-
v1.0.0 Changes
February 17, 2019v1.0.0 (2019-02-17)
π New features
π Moviepy now supports much better progress bars, using Proglog. Support for custom callbacks and more!
Full details
π Merged pull requests New version of imageio with imageio_ffmpeg for python 3.4+ #907 (Zulko) fix typo that introduces audio regression #894 (chrox) fixing the git remote syntax in documentions #887 (ishandutta2007) π modified max duration error for better understanding #875 (kapilkd13) π Fixed typo in docstring for VideoClip class #871 (Armcollector) Fix a small typing error #845 (yuvallanger) Closed issues Can't overlay gizeh animation onto video with transparency/mask #898 [0.2.4.0] Garbled audio when exporting mp3 from mp4? #891 Error with VideoFileClip(filePath) #868 I am trying to run this code #867 π» Out of memory exception #862 simple problem on the first step: importing moviepy.editor #852 MoviePy insert multiple images in a video #840 π Videogrep can't works with Moviepy in Windows #834 File "<stdin>", line 1 error #832 ImageMagick error - Ubuntu 16.04 #831 Combining thousands of small clips into one file #827 TypeError: 'ImageClip' object is not iterable #824 OSError: [WinError 6] The handle is invalid... concatenating clips #823 How to add audio tracks. not to replace it. #822 Missing 'ffmpeg-win32-v3.2.4.exe' #821 No sound with an audio clip add to an video in quicktime #820 Pip fails when trying to install #812 PermissionError after trying to delete a file after it's purpose is done #810 video clip from URI #780 Fails on FreeBSD #756 inconsistent behaviour of clip.get_frame() #751 Error with write_videofile #727 Trying to use moviepy on lambda, but has problem with ffmpeg #642 Unexpected Behavior With negative t_start in Subclip #341 Could not find a format to read the specified file in mode 'i' #219 π WindowsError[5] and AttributeError Exception #170 Can't make VideoFileClip 'utf8' #169 Rendered output missing first frame #155 Incorrect output when concatenate_videoclips two quicktime videos #144 a bytes object is recognised as a string #120
-
v0.2.3.5 Changes
May 31, 2018v2.3.5 (2018-05-31)
π New features
- Progress bar optional for GIF creation #799 (mdfirman)
- β Added contributing guide and issue template #792 (tburrows13)
Full details
π Merged pull requests π Fixed bugs: Removed Hz from audio_fps match in ffmpeg_parse_infos #665 (qmac) π Merged pull requests: Progress bar optional for GIF creation #799 (mdfirman) Added contributing guide and issue template #792 (tburrows13) Closed issues Closed issues: 100% of GIF does not convert to MP4, gets cut short. #802 How to add audio track to MP4? #794 π ffmpeg 4.0 NVIDIA NVDEC-accelerated Support ? #790 Help!!!! errors during installation on Mac #788 π Blink fx uses deprecated(?) method with_mask() #786 Built-in file downloader downloads files repeatedly? #779 Error in compositing video and SubtitlesClip by CompositeVideoClip #778 SubtitlesClip #777 Video Background #774
-
v0.2.3.4 Changes
April 22, 2018v0.2.3.4 (2018-04-22)
π New features
- β Added
pcm_s24le
codec for.wav
files (#769) - β Added
fullscreen
parameter topreview
(#773) - β Added support for closing previews with quit button (#773)
Full details
π Merged pull requests π Merged pull requests: Added fullscreen parameter to preview #773 (tburrows13) add pcm_s24le codec #769 (lsde) Closed issues Closed issues: fail to install #771 install moviepy #758 How to prepend hexadecimal data to a binary file? #757 π Itβs time for a new release #742 wrong video duration value when concatenating videos with method = compose #574
- β Added
-
v0.2.3.3 Changes
April 18, 2018π Change Log
v0.2.3.3 (2018-04-17)
Main Changes
- β Removed support for Python 3.3 (#688, #713)
- π Lots of bug fixes, including better support for Python 3.x and Windows
- π Some documentation updates
- β Test coverage increased from 53% to 65%
- π Credits tool fixed. Check it out here! π Merged pull requests π Fixed bugs: Issue with nesting context managers #655 Is there one potential bug in FFMPEG_READER? #546 vfx.scroll giving TypeError: slice indices must be integers or None or have an index method #527 IndexError when converting audio to_soundarray() #246 Unable to use unicode strings with Python 2 #76 Added ffmpeg download when importing moviepy.editor #731 (tburrows13) π Fixed bugs, neater code, changed docstrings in audiofiles #722 (tburrows13) Resolve undefined name execfile in Python 3 #718 (cclauss) β Fix credits, added tests #716 (tburrows13) res β> size to align with line 62 #710 (cclauss) Add gap=0 to align with lines 40, 97, and 98 #709 (cclauss) import numpy as np for lines 151 and 178 #708 (cclauss) Convert advanced_tools.py to valid Python #707 (cclauss) Added missing '%' operator for string formatting. #686 (taylorjdawson) Addressing #655 #656 (gyglim) initialize proc to None #637 (gyglim) sometimes tempfile.tempdir is None, so use tempfile.gettempdir() function instead #633 (earney) Issue629 #630 (Julian-O) Fixed bug in Clip.set_duration() #613 (kencochrane) Fixed typo in the slide_out transition #612 (kencochrane) Exceptions do not have a .message attribute. #603 (Julian-O) Issue #574, fix duration of masks when using concatenate(.., method="compose") #585 (earney) Fix out of bounds error #570 (shawwn) π fixed ffmpeg error reporting on Python 3 #565 (narfdotpl) Add int() wrapper to scroll to prevent floats #528 (tburrows13) Fix issue #464, repeated/skipped frames in ImageSequenceClip #494 (neitzal) π fixes #248 issue with VideoFileClip() not reading all frames #251 (aldilaff) Implemented enhancements: Use feature detection instead of version detection #721 (cclauss) Fixed Optional Progress Bar in cuts/detect_scenes #587 (scherroman) π Fix travis build and enable pip caching #561 (mbeacom) 0οΈβ£ Avoid mutable default arguments #553 (mbeacom) π» add ImageSequenceClip image size exception #550 (earney) π Merged pull requests: π transitions.py: pep8 and a change to docstring #754 (tburrows13) π· Make TextClip work on Travis CI #747 (tburrows13) Added tests, new duration arg in to_ImageClip() #724 (tburrows13) let there be (more) colour #723 (bashu) Resolve undefined name unicode in Python 3 #717 (cclauss) Credits.py PEP 8 #715 (tburrows13) Added info about tag wiki #714 (tburrows13) π Remove testing support for Python 3.3, closes #688 #713 (tburrows13) More PEP8 compliance #712 (tburrows13) More PEP8 compliance #711 (tburrows13) β flake8 test to find syntax errors, undefined names #705 (cclauss) fix typo #687 (msrks) β‘οΈ Update Readme.rst #671 (rlphillips) β‘οΈ Update Dockerfile to add requests module #664 (edouard-mangel) π fixed typo in library include #652 (Goddard) Use max fps for CompositeVideoClip #610 (scherroman) Add audio normalization function #609 (dspinellis) #600: Several YouTube examples in Gallery page won't load. #606 (Julian-O) π Two small corrections to documentation. #605 (Julian-O) PEP 8 compatible #582 (gpantelis) β add additional ImageSequenceClip test #551 (earney) β General tests cleanup #549 (mbeacom) β‘οΈ Update docs #548 (tburrows13) β add tests for most fx functions #545 (earney) Closed issues Overly Restrictive Requirements #767 Using a gif as an ImageClip? #764 How can I include a moving 'arrow' in a clip? #762 How to call moviepy.video.fx.all.crop() ? #760 ImportError: Imageio Pillow requires Pillow, not PIL! #748 Fail to call VideoFileClip() because of WinError 6 #746 concatenate_videoclips with fadein fadeout #743 Ignore - sorry! #739 Image becomes blurr with high fps #735 Https protocol not found with ffmpeg #732 Storing Processed Video clip takes a long time #726 image corruption when concatenating images of different sizes #725 How to install MoviePy on OS High Sierra #706 Issue when running the first example of text overlay in ubuntu 16.04 with python3 #703 Extracting frames #702 π Error - The handle is invalid - Windows Only #697 ImageMagick not detected by moviepy while using SubtitlesClip #693 Textclip is not working at all #691 π Remove Python 3.3 testing ? #688 In idle, 25 % CPU #676 Audio error #675 Insert a ImageClip in a CompositeVideoClip. How to add nil audio #669 Output video is garbled, single frames output are fine #651 'missing handle' error #644 issue with proc being None #636 Looping parameter is missing from write_gif_with_image_io() #629 π¦ would it be optionally possible to use pgmagick package ? (instead of ImageMagick binary) #625 concatenate_videoclips() can't handle TextClips #622 Writing movie one frame at a time #619 Fatal Python error: PyImport_GetModuleDict: no module dictionary! #618 line 54, in requires_duration return #601 β test_duration() fails in test_TextClip() #598 Geting framesize from moviepy #571 Write_videofile results in 1930x1080 even when I force clip.resize(width=1920,height=1080) before write_videofile #547 AttributeError: AudioFileClip instance has no attribute 'afx' #513 ImageSequenceClip repeats frames depending on fps #464 manual_tracking format issue #373 resize video when time changed trigger a error #334 π WindowsError: [Error 5] Access is denied #294 TypeError in Adding Soundtrack #279 0οΈβ£ Defaults fail for ImageSequenceClip() #218 audio normalization #32 Unclosed processes. #19