-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The Future of MoviePy project #1874
Comments
I second this nomination. Very important. Few to no alternatives. |
Support! I used to teach some lessons about how to use moviepy to automate the work of video making. Clearly people are interested in this since we are flooded by short videos today and Python is the easiest way many people can learn to automate video processing. I think one problem now is that moviepy itself is good but the community and other projects that build on it is not famous enough. Therefore not much sponsor would be interested in moviepy. My rough thoughts about the future of this project:
Just some random thoughs. Looking forward to your comments. |
Great to hear that, no doubt that moviepy is a great choice for automating video processing, however, it looks like not many hobbyists contributing back to the project.
IMHO the usage of the project is not a problem per se, it's more about how to convert more users to contributors.
That is an interesting idea but I don't see a clear way how to monetize the project eg. what are the "premium" features?
At the current state of the project and its trajectory, I think that people should not build upon an unmaintained library to avoid problems such as #1798 (comment) |
@B3QL Came across this project Remotion. Kind of similar to moviepy but more active. It offers a membership subscription. As for moviepy, I think cloud rendering and effects templates can be the premium features. When using moviepy to do some automated editing, I need to spend a lot of times to get the correct effects. Would be great if there is a "template market" to preview and get some effects template code. |
Hey, just checking in to say that I’m reading this discussion :) In the past I’ve found that when one or two enthusiastic people get involved in a project, that really helps me rejuvenate interest in it as well. |
@AndersonBY thanks for the inspiration :) @tburrows13 thanks for all your contributions so far and the will to participate further with additional help. Maybe you have any idea how to organize/improve collaboration to get the project back on track? |
Maybe it needs an overhaul like from TKinter to Kivy |
Is there a specific next step wanna-be contributor with a bit of python experience could have a look at? To add momentum? |
The one thing that's really held MoviePy back IMHO is the documentation. When I first started I had to go everywhere to look for basic MoviePy-related tutorials and steps. Not everyone's as motivated; a centralized documentation would create interest in users, and help to retain them. |
@korantu AFAIK there are no extra steps to contribute, just familiarize yourself with https://github.com/Zulko/moviepy/blob/master/CONTRIBUTING.md and that's it :) I don't know for sure what is the most urgent problem to work on but I try to sort it out and bring some more clarity. @tburrows13 correct me if I'm wrong here ☝️
@xonoma the documentation looks decent to me. |
Hi all! Very sorry for this situation. I've been spread thin for years now, and MoviePy has only been held together thanks to the efforts of @keikoro @tomburrows @mondeja and others. Here are my two cents: Regarding @AndersonBY's comments: I agree that we could have more docs and "official" collections of plugins and effects. But these require a significant time investment, and could also be developed by users independently. Anyone can write a tutorial, release a library of moviepy filters/utilities on Github or PyPI, or build a web service around MoviePy - and a few have. So I would classify that as important, but not blocked by this repo. The more problematic bottleneck is developer time on this repo (features, installation, test suite). Few users have contributed back to these areas, and occasionally when some attempted to contribute they were left hanging by lack of available reviewers. I agree that releasing @tomburrows's 2.0 version would be the best move - and the most significant project improvement in years. It would resolve some of the confusion caused by the current API, and so should reduce the number of issues. It would also put the project in phase with its README (which is using the 2.0 API now). Realistically, going to 2.0 would also mean quickly dropping support from pre-2.0 MoviePy, as supporting two APIs would spread developer time even thinner. A bit of an unpopular opinion but a new API also means a smaller userbase, which could make mistakes more forgiving, and MR review less stressfull. The 2.0 release in itself may not solve a harder problem the project is facing, which is managing dependencies like Summarizing:
Did that make sense? Did I miss anything? |
Just a quick note to say that part of the plan for 2.0 was to not need ImageMagick at all. I think currently it is only used for making GIFs and drawing text. IIRC there are 3 options currently for making GIFs so losing IM would be fine there. There were a couple of explorations for alternatives for text drawing which looked promising, but I think that was one of the main outstanding tasks to complete before 2.0. |
@Zulko thanks for the in-depth insights, it's great to hear back from you!
@tburrows13 would you take responsibility for the coordination of the 2.0 release with the help of current contributors?
IMHO the simplest way would be to make the ffmpeg a static dependency and ship it along and support one version at a time, but I may not be aware of all the potential consequences. For now, would be great if we can manage to make some decisions and based on that create smaller tasks for implementation.
I announced it on Reddit [0][1] & HN [3][4] already, but we can repeat it from time to time. |
Hi, thanks for starting this issue! I just wanted to comment that I (too) have been reading along but haven't yet had the time/energy to add to the discussion (or get my thoughts on this in order in the first place, ha). |
(A bunch of which revolve around communication/project management, a point which hasn't been raised yet.) |
I believe that that is the main pain point here, so that's why I decided to open the issue and try to coordinate ongoing efforts. BTW can we pin the issue for better visibility? |
Hi all, I'm the maintainer of the Debian package of moviepy, which is currently not on track to be included in the upcoming Debian 12 "bookworm". I just wanted to mention in this discussion that I'll be glad to provide any help I can related to packaging or testing with Debian. Feel free to poke me either here or on https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1004642 :-) |
Hi everyone in 2023! |
I did not get to try my idea yet 😒. |
What is the status on multi-core CPU processing AND/OR GPU processing? Is anyone working on it? |
Hey @ShakedDovrat, it's great to hear that :)
I know that it might not be the thing that you looking for but I'll be helpful if you give it a try :) Btw @keikoro you seem to be one of the most active contributors around here. Can you help me with creating the proper structure for the project to enable more people? |
Thanks @B3QL. I must say that what you are describing is far from my field of expertise. But I see why this might be the most efficient approach. I was thinking about something easier, which is to separate frames processing/rendering from the video writing, which will enable usage of Python's Given that "a very involved developer" is hard to find for the kind of work @Zulko is talking about, Do you think a change such as what I propose can be accepted? |
@ShakedDovrat unfortunately in the current situation there is no guarantee that the proposed feature will make it to the IMHO you can open a separate issue for the acceleration, describe the approach, and ask for feedback :) |
Hi all, I opened the PR to let know the broader audience about the project's state, please review it. Thanks for all the contributions to the project and overall support so far. |
Let me throw a wild pitch into this mix, @B3QL. My experience using MoviePy for one year is that there is something fundamentally lacking in its design, despite being invaluable to the Python language and open source. It does not compete with heavier editing tools (some of which may have open source APIs) nor does it compete with heavier production or render tools (an API into Blender can do a lot, for instance). And the opening and closing and clipping and cropping of movie files would be a far more constrained, though truly essential, smaller package, which MoviePy does not want to be. If I were to "take over" the construction (team) of "Movies in Python 2024", I would argue, and organize the team around (our) committee, to first-and-foremost refactor MoviePy to be "native Cloud Function" in design, and operate a pay-for service (via my LLC, or our open source) to execute those services in the cloud IaaS environment. I believe we would all see the growth and sustenance of such a model (and microservices architecture) (think RedHat Linux model) and the natural "room to grow" "Movies in Python 2024" into AI and APIs outbound. I would be delighted to "man" that team were the commitment small (a few hours per month) and objectives slow and time bound by external factors determined by (our) "construction team". What do we think? Form a quorum? 🙋♂️⭐ My LLC is Starlight, by the way. You are all welcome to email me in my email address provided in my GitHub bio. |
Agree with your assessment of the platforms & suggestion to stop promoting Reddit as an official resource/support platform. (If people wanna continue posting there, fine, but...) |
Hi everyone, I'm almost done, their is just one last little bug I want to fix in This being said, as many of you probably guessed, I'm not a native speaker, and though I'm not too worried about the code side of the PR, and even if I'm pretty confident that the new documentation is superior to the previous one, I also know for a fact that it will be riddled with grammatical mistakes, typos and downright atrocious writing (along with the occasional half-finished sentence inherent to any back and forth writing such as documentation). So, proof-reading by a native speaker with a good clear and simple writing need to happen, it may happen before publishing, it may happen after, the choice is yours, but it need to happen. So, as I can only imagine that one of or some combination of @davidbernat, @keikoro, @Zulko, @tburrows13 and @B3QL are the ones that will take care of it, how do you want to proceed? And should I open the PR as it is, and let you deal with it, or do you prefer keeping everything on the fork repo for now, that I add peoples in charge of updating the doc as collaborator on it, let you do all the proof-reading work, and only do the PR afterwards? Let me now :) By the way, my work on the doc is done, and I dont intend to do any major change on it anymore, so if someone want to start the proof-reading, it can be started now on https://github.com/OsaAjani/moviepy. PS: I was wondering about giving a shot at chatgpt to try automatically improve grammar and making the expression more idiomatic. But again, the opinion of a native speaker on the result would be needed. Did someone already tried that and would have advice/recommend tools, or maybe someone willing to assess the result for me (you can have an example with OsaAjani@218930c)? |
IMO in order to help "MoviePy project survive" I think type hints should be championed. I use this package occasionally and never remember the syntax. Would love type hint support from my IDE. #1962 I think reducing the learning curve will increase the popularity and community. |
heya - I'm a new coder and professional writer copywriter -- would it help for me to look over the documentation and give notes? |
Looking good so far, @OsaAjani. Are you ready for me to provide input with the Examples page? cc: @alexdobrenko There are a few of us that will be peer reviewing the updates to the documentation so tagging you in this post as well. |
I very much agree, I just didn't have to time to add proper typing, but it would be a very nice touch for some v2.1.
As I didn't received responses to my last post on how to organize things, and because I really wont have time for a few weeks, I have just opened the PR with my final shot at the v2.0. I will add everyone involved to my repo so people can fix what need to be fixed and push to keep the PR up to date. PS: If anyone want to participate and didn't received an invitation to become collaborator on my repo, do not hesitate to tag me and ask me to add you |
@OsaAjani The invitation to the new repository you issued me has expired. Can you re-send please? |
Hope you guys also think about moviepy's performance. I'm currently looking at alternatives for moviepy just because the waiting times are really frustrating. A 11 seconds clip with some text and a moving image takes 581 seconds to render. Then I look at it, consider moving the text up/down a bit and wait another 591 seconds. Takes me a week to build a script for a video of 2 minutes! My PC is an 12900KS (i9) with RTX3090 and 128GB DDR5. So really no problems there. (yes, Im using nvidia ffmeg settings). To get script generated video's right, people need to be able to run short & fast iterations just to look at it for the next iteration. When people actually save time, it is easier for them to contribute as well..... |
I agree. @HasseM. Ping me with an email if you want to chat (you can find this online). We had discussed this but the community here wanted to focus their energy elsewhere. I am working on a roadmap for a cloud-based python production facility for the end of 2024. The community here will eventually come around to my build. ;-) In the spirit of friendly competition. |
@davidbernat , yes I read your plans above. I'm an entrepeneur myself and I would for sure follow your route from a business perspective. And money coming in, means more project support! But as a user I won't follow that route. I'm working on some automated video pipelines that I want to run on my local machine. So it interacts with locally running stable diffusion models and Llama LLM model, TTS models and such. Reasons is simple: I don't want to be dependend on external parties changing stuff. So as long as I can run it locally, it's fine. When I can run it locally, I would be happy to move it over to a machine in the cloud that does run the automated tasks 24/7 (not just the video generation, also my other python scripts). But I can simply put it on a vps for that. I'm not sure why moviepy is so extremely slow. For sure you need to fix that if you want your plans to succeed. Just putting it on a cloud does not solve that problem. I would love to try it if you have something to try. |
Haven't read your details. In my experience, MoviePy does not respect the optimization need to only re-encode when necessary. It essentially is a cache of the most recently re-encoded frames; but then most operations launch re-encoding, which is slow. If that is not your problem then I am not helpful and I will revisit your problem when I cross that bridge. It is great that you respect the open source community and respect to building it up. The MoviePy team did great work. |
@davidbernat Yes, MoviePy is great in it's basis. Especially in these times. The whole point of script based video generation is to replay your script with different inputs and get a new video out. Combine it with all the AI stuff thats popping up and you can immediately see the value of MoviePy. New businesses can be build with it! My point is that time is also value. So the process of creating a script should be effective as well. It currently definitely is not. And I see many other people complain on the slowness without real solutions. So for a project like this to attract more users and get more support, it needs to add more value. Once the process of writing MoviePy scripts becomes effective, this whole project will likely take-off. There is currently an opportunity to become the No #1 video generation tool. |
...Yes. Nobody ever asked me what I was actually building. They just shot it down as outside the community. |
I wan say that for me performances are absolutely the next thing to work on, but to do so we needed the new API to be released first, and the documentation to be updated in order to keep moviepy usable in the meantime. @Zulko any news on the review process ? I will have some free time in November if you need help. |
Sorry for the radio silence. I should have time this weekend. I also had to use Moviepy recently that will help me re-contextualize. |
I will also have time this weekend if you have any questions!
David I will probably ping you in the near future to talk about what your working on if that's okay with you
Le 31 octobre 2023 04:02:07 GMT+01:00, Zulko ***@***.***> a écrit :
…Sorry for the radio silence. I should have time this weekend. I also had to use Moviepy recently that will help me re-contextualize.
--
Reply to this email directly or view it on GitHub:
#1874 (comment)
You are receiving this because you were mentioned.
Message ID: ***@***.***>
|
Just adding to this (as my fledgeling startup uses moviepy, we need to both succeed :) ) Have you thought about adding to tidelift? imageio is on tidelift. Alternatively, one can just use https://opencollective.com/ |
Hello guys, My startup is using moviepy as a tool(AI agent) to generate videos. We would love to help and participate in making moviepy better so that it can compete with davinci or premier pro, but run programmatically. We can have moviepy templates, akin to premier pro templates and that can be a revenue source for the project. I would love to contribute more, whom shall I talk to? |
Hi @afeezaziz. Happy to discuss. I have moved away from moviepy to direct ffmpeg because of speed improvements. |
General question: should it be possible to set up MoviePy with Poetry in future? I shot my last dev environment and currently seem unable to get it working again with the old instructions – not sure if they are outdated (will check @OsaAjani's work next) but I find them hard to debug either way because I hardly ever use |
@keikoro I use moviepy with poetry |
What about libopenshot? I'm using their Python wrapper with a decent performance. |
I'm opening the issue in an attempt to provide a platform for discussion on the project's future.
The project is unmaintained and it looks like the original contributors lost interest in it.
Currently, few fellows giving their best and taking care of reviewing PRs
and fixing the issues related to their projects but it's not enough to keep the project healthy.
The library is obsolete to the point that 3rd party open source software
that depends on it is having problems with being included in the next Debian release.
If we want to save the project we need to build a community around it
and/or seek some financial help from OSS foundations.
Nevertheless, we need YOUR help.
If you have an idea of how to help the MoviePy project survive, please contribute in the comment.
The text was updated successfully, but these errors were encountered: