question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Moviepy Roadmap - version 2.0

See original GitHub issue

I’d like to propose an upcoming v2.0 which would allow us the opportunity to make a few small breaking changes, and remove some of the previously deprecated features.

Here’s some of the things that I’d like to include:

  • [#1103, #1106] Remove support for old Python versions (#1081)

    • Definitely 2.7 and 3.4, perhaps 3.5 as well?
    • Py3.5 is not EOL yet, accounts for about 2% of our installs (https://pypistats.org/packages/moviepy), and the number of new features in Py3.6 is very small (but it might be worth it just for the f-strings)
    • This would allow us to get rid of a lot of complicated and hacky code
  • I’d like to go through the backlog of complaints about resource usage and proper closing of clips and create a consistent cross-platform solution that can work for everyone, using some to-be-decided combination of .close(), .__del__() and context managers (with ...:). This would most likely not be backwards-compatible (#1016, #1059).

  • We could enforce use of “keyword-only” arguments with the * (https://www.python.org/dev/peps/pep-3102/)

    • For instance, the definition of VideoFileClip would become
      def __init__(self, filename, *, has_mask=False,
           audio=True, audio_buffersize=200000,
           target_resolution=None, resize_algorithm='bicubic',
           audio_fps=44100, audio_nbytes=2, verbose=False,
           fps_source='tbr'):
      
    • So VideoFileClip("file.mp4", True, True, 100000) would now be invalid
  • If it were possible to get rid of ImageMagick as a dependency, that would be amazing, its possible that everything that we use it for can now be done with imageio or one of our other, better behaved, dependancies. (Discussion in #908, #1472)

  • There are a lot of functions/methods with lots of optional parameters like https://github.com/Zulko/moviepy/blob/master/moviepy/video/fx/crop.py that require certain combinations of arguments to work. It would be nice to have a neat way of expressing this, maybe with decorators?

  • [#1115] We can remove old deprecations

  • [#1170] We could go even further and improve the API even more

    • set_duration -> with_duration etc is a common sticking point for new users not realising that it doesn’t act inplace (#886) (or do what pandas does and have an inplace=False parameter to everything, possibly handled by a decorator)
    • Similar improvements to the set_start (#995)

There are other things that need to be done, that, whilst they could be released at any time, would be good to include as part of a larger package

  • #1076 implements support for built-in Python operators
  • I’m working on improving the install/test/build/release system
  • Updated/checked examples would be great
  • Generally the documentation is lacking in some areas; at a minimum it should state every parameter that a function accepts
  • Any other small features (#924…)

~Since there’s a lot of changes here, I’d propose merging them into a v2 branch first, before finally merging that into master when we’re ready to release.~

Anything else that you can think of, agree/disagree with, let’s discuss either here or on gitter!

Issue Analytics

  • State:open
  • Created 4 years ago
  • Reactions:9
  • Comments:28 (1 by maintainers)

github_iconTop GitHub Comments

13reactions
hpp0hppcommented, Nov 14, 2020

I would ask again for the GPU supporting for write_videofile, I see lots of demanding for this. Thank you

13reactions
dheerajmpaicommented, Oct 26, 2020

I guess GPU support is one of the key feature with popular demand. It is preferred this is added in the settings file itself

Read more comments on GitHub >

github_iconTop Results From Across the Web

Updating to v2.0 — MoviePy 2.0.0.dev2 documentation
MoviePy v2.0 only supports Python 3.6+ and does not support Python 2. So you will first and foremost need to port your code...
Read more >
FAQ and troubleshooting — MoviePy 1.0.2 documentation
FAQ and troubleshooting¶. This section will fill up as MoviePy advances through the next steps of development (currently on the roadmap: MoviePy Studio, ......
Read more >
30 Days of Python - Automated Video Processing with Moviepy
30 Days of Python - Day 15 - Processing Videos with Moviepy. Create thumbnails from videos, mix audio, composite video, create intros, ...
Read more >
Probabilistic Roadmap - TOULIK DAS - Medium
0 has requirement networkx<2.0,>=1.8.1, but you'll have networkx 2.1 which is incompatible. moviepy 0.2.3.2 has requirement decorator==4.0.11, ...
Read more >
moviepy - PyPI
MoviePy (full documentation) is a Python library for video editing: cutting, ... If you want to use a specific version of FFMPEG, follow...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found