HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
Zulko
moviepy
Python2014–2024
Zulko / moviepy

moviepy

Video editing with Python

14Distinct people
17Mentions
0Explicit recommenders
15.1KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Video editing with Python

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year17 dated mentions

Observed mentions: 2014-01-26 02:05:50 UTC to 2024-06-11 17:51:53 UTC.

0123452014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 5 mentions; 3 submissions, 2 comments2024

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC101
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC000
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC000
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC202
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC110
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC303
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC110
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC312
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC000
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC532

What Hacker News says

17 sources
hkonsti·Jun 11, 2024Submission

Show HN: Revideo – Create Videos with Code

Hey HN! We’re building Revideo (https://github.com/redotvideo/revideo), an open source framework for programmatic video editing. Revideo lets you create video templates in Typescript and render them with dynamic inputs through an API. It also comes with a <Player /> component that lets you preview your projects in the browser and integrate video editing functionality into web apps. The project is useful for anyone who wants to build apps that automate certain video editing tasks. A lot of companies in the space build their own custom stack for this, like Opus (https://www.opus.pro/), which automatically creates highlight videos from podcasts, or Clueso (https://www.clueso.io/), which lets you create stutter-free product walkthroughs with AI voiceovers. Revideo is based on the HTML Canvas API and is forked from Motion Canvas (https://githu
Read the rest
b.com/motion-canvas/motion-canvas), a tool that lets you create canvas animations. While Motion Canvas is intended by its maintainer to exclusively be a standalone application [1], we have turned Revideo into a library that developers can integrate into their apps, while specifically focusing on video use cases. To support this, we have, among other things, added the ability to do headless rendering, made video rendering much faster and added support for syncing and exporting audio. We’re excited about programmatic video editing because of the possibility to automate content creation with AI. One of our users is building StoriesByAngris (https://storiesbyangris.com/), which lets you create video-based RPG stories from language prompts. Other users are marketing-tech companies that help their customers generate and A/B test different versions of video ads. We started to work on video tooling because we ourselves explored a bunch of product ideas in the space of AI-based video creation earlier this year. For example, we built apps that automatically create educational short videos and tinkered with apps that let you create memes. While building these products, we were frustrated with the video editing frameworks we used: Moviepy (https://github.com/Zulko/moviepy), which we used initially, doesn’t work in the browser, so we’d often have to wait minutes for a video to render just to test our code changes. Remotion (https://github.com/remotion-dev/remotion), which we switched to later, is pretty good, but we didn’t want to rely on it as it is not FOSS (source-available only). We had already followed Motion Canvas for some time and really liked it, so we thought that extending it would get us to something useful much faster than building an animation library from scratch. We initially tried to build Revideo as a set of Motion Canvas plugins, but we soon realized that the changes we were making were too drastic and far too complex to fit into plugins. This is why we ultimately created a fork. We’re unsure if this is the right way to go in the long term, and would prefer to find a way to build Revideo without feeling like we’re dividing the community - if you have experience with this (keeping forks with complex changes in sync with upstream) or other suggestions on how to solve this, we’d love your input. Our current focus is improving the open source project. In the long term, we want to make money by building a rendering service for developers building apps with Revideo. We’d love to hear your feedback and suggestions on what we can improve! You can find our repo at https://github.com/redotvideo/revideo, and you can explore example projects at https://github.com/redotvideo/examples [1] “Motion Canvas is not a normal npm package. It's a standalone tool that happens to be distributed via npm.” - https://github.com/orgs/motion-canvas/discussions/1015
298 points · Open discussion
justusm·Apr 22, 2024Submission

Show HN: Revideo – Create Videos Programmatically

Hey HN! We’re building Revideo (https://github.com/redotvideo/revideo), an open source toolkit that lets you create videos programatically using the animation library Motion Canvas (https://github.com/motion-canvas/motion-canvas). This is useful whenever you want to build apps that automate certain video editing tasks, which is increasingly possible using AI tools - for instance, one of our first users is building an app that turns code documentation into video tutorials. Revideo extends Motion Canvas with features that are essential for creating video, such as the ability to export audio tracks, a nodejs package for headless, parameterized & much faster rendering, and audio components that make audio editing and syncing easier. While Motion Canvas aims to be a standalone editor [1], we want to build a set of libraries that lets developer
Read the rest
s integrate video editing functionality into their apps. Our goal is to provide an open-source alternative to Remotion (https://github.com/remotion-dev/remotion). At the start of this year, we explored a bunch of product ideas in the space of AI-based video creation. For example, we’ve built apps that automatically create educational short videos and have experimented with automatically A/B testing and personalizing video ads. While building these products, we were frustrated with the video editing frameworks we used: Moviepy (https://github.com/Zulko/moviepy), which we relied on initially, doesn’t offer a way to preview your videos, so we’d often have to wait minutes for a video to render to test our code changes. Remotion (https://github.com/remotion-dev/remotion), which we switched to later, is really good, but we didn’t want to rely on it as it is not open source (source-available only). That’s why we decided to build Revideo. We’d already been following Motion Canvas for some time and really liked using it, so we thought that extending it would get us to something useful much faster than building an animation library from scratch. Initially, we tried to build our features as Motion Canvas plugins, but this did not provide enough flexibility to achieve the desired functionality. Additionally, video-specific features (such as audio support) were generally considered out of scope by the Motion Canvas maintainers, which is why we ultimately ended up creating a fork. We’re unsure if this is the right way to go in the long term, and would prefer to find a way to build Revideo without diverging from Motion Canvas too much - if you have suggestions on how to solve this, we’d love your input. Compared to Remotion, which builds on top of React, Motion Canvas uses the HTML Canvas API and makes you define animation flows with generator functions. Its API is more “procedural”, as it makes you define the things that happen in your animation as a sequence of yields, whereas Remotion gives you a frame number and lets you declare how your video should look like at that frame. Our current focus is improving the open source project. In the long term, we want to make money by building a rendering service for developers building apps with Revideo. Such a service would offer a pretty similar deployment experience to Vercel, but instead of web apps, we let developers deploy Revideo projects and expose a rendering endpoint for them. Letting us manage the infrastructure will allow us to offer much faster rendering, as we can massively parallelize rendering jobs on our servers (e.g. spinning up 100 headless browsers that render 100 frames each to render a video with 10,000 frames). We’d love to hear your feedback and suggestions! You can find our repo at https://github.com/redotvideo/revideo, We’ve also released an example video editing app at https://github.com/redotvideo/revideo-saas-template. Thank you! [1] “Motion Canvas is not a normal npm package. It's a standalone tool that happens to be distributed via npm.” - https://github.com/orgs/motion-canvas/discussions/1015
2 points · Open discussion

Show HN: Revideo – Create Videos with Code

Hey HN! We’re building Revideo (https://github.com/redotvideo/revideo), an open source toolkit that lets you programmatically create and export videos with the animation library Motion Canvas (https://github.com/motion-canvas/motion-canvas). This is useful whenever you want to build apps that automate certain video tasks, which is increasingly possible using AI tools - for instance, one of our first users is building an app that turns code documentation into video tutorials. Revideo extends Motion Canvas with features that are essential for creating video, such as the ability to export audio tracks, a nodejs package for headless, parameterized & much faster rendering, and audio components that make audio editing and syncing easier. While Motion Canvas aims to be a standalone editor [1], we want to build a set of libraries that lets develo
Read the rest
pers integrate video editing functionality into their apps. Our goal is to provide an open-source alternative to Remotion (https://github.com/remotion-dev/remotion). At the start of this year, we explored a bunch of product ideas in the space of AI-based video creation. For example, we’ve built apps that automatically create educational short videos and have experimented with automatically A/B testing and personalizing video ads. While building these products, we were frustrated with the video editing frameworks we used: Moviepy (https://github.com/Zulko/moviepy), which we relied on initially, doesn’t offer a way to preview your videos, so we’d often have to wait minutes for a video to render to test our code changes. Remotion (https://github.com/remotion-dev/remotion), which we switched to later, is really good, but we didn’t want to rely on it as it is not open source (source-available only). That’s why we decided to build Revideo. We’d already been following Motion Canvas for some time and really liked using it, so we thought that extending it would get us to something useful much faster than building an animation library from scratch. Initially, we tried to build our features as Motion Canvas plugins, but this did not provide enough flexibility to achieve the desired functionality. Additionally, video-specific features (such as audio support) were generally considered out of scope by the Motion Canvas maintainers, which is why we ultimately ended up creating a fork. We’re unsure if this is the right way to go in the long term, and would prefer to find a way to build Revideo without diverging from Motion Canvas too much - if you have suggestions on how to solve this, we’d love your input. Compared to Remotion, which builds on top of React, Motion Canvas uses the HTML Canvas API and makes you define animation flows with generator functions. Its API is more “procedural”, as it makes you define the things that happen in your animation as a sequence of yields, whereas Remotion gives you a frame number and lets you declare how your video should look like at that frame. Our current focus is improving the open source project. In the long term, we want to make money by building a rendering service for developers building apps with Revideo. Such a service would offer a pretty similar deployment experience to Vercel, but instead of web apps, we let developers deploy Revideo projects and expose a rendering endpoint for them. Letting us manage the infrastructure will allow us to offer much faster rendering, as we can massively parallelize rendering jobs on our servers (e.g. spinning up 100 headless browsers that render 100 frames each to render a video with 10,000 frames). We’d love to hear your feedback and suggestions! You can find our repo at https://github.com/redotvideo/revideo, We’ve also released an example video editing app at https://github.com/redotvideo/revideo-saas-template. Thank you! [1] “Motion Canvas is not a normal npm package. It's a standalone tool that happens to be distributed via npm.” - https://github.com/orgs/motion-canvas/discussions/1015
8 points · Open discussion
The animations are made using MoviePy library which is quite popular but struggles with finding new contributors [0]. I tried to bring that information to broader audience without a success [1], so I will take the opportunity here for greater good. If you have ideas how rescue the MoviePy project or simply want to help. Please contribute to ongoing discussion on GH [0]. [0]https://github.com/Zulko/moviepy/issues/1874 [1] https://news.ycombinator.com/item?id=33864865
In Vector Animations with Python (2014)
If anyone else decides to give this a try on video files with multiple audio tracks, there doesn't seem to be an easy way to tell it to select a certain track. I got it working by manually adding `-map 0:2` (`2` being the trackid I'm interested in) when calling ffmpeg. You'll have to make that edit in both `videogrep/transcribe.py` as well as `moviepy/audio/io/readers.py`. And I'm not sure how easy adding real support for that would be, considering that moviepy doesn't currently have a way to support it (https://github.com/Zulko/moviepy/issues/1654)
In Automatic supercuts on the command line with Videogrep
I don't know where it ranks in terms of your question points, but MoviePy is another well liked Python library that seems to wrap ffmpeg, and will also make use of ImageMagick for some functions. I used MoviePy a few years ago to add subtitles to a short video. It was fairly easy to write a script to place bits of text at specific frames. I'm interested to learn more about the differences and similarities of ffmpeg-python and MoviePy and will put some energy into that. https://github.com/Zulko/moviepy
In Ffmpeg-Python: Python bindings for FFmpeg – with complex filtering support
In the past I have used moviepy (https://github.com/Zulko/moviepy) to programatically create videos in Python. At a very high level, it manages creation of image frames that are ultimately fed into ffmpeg. It is (was?) a bit buggy sometimes, but it gets the job done. Initially I used it because I couldn't bother with learning any of the free nonlinear video editors on Linux (many of which are pretty flaky/hard to use, or at least were back then). Having become actually become semi-familiar with a couple of NLEs since then, I can say moviepy is a bad NLE replacement for most use cases, but for others it's a real time saver.
In Video: A Language for Making Movies

Showing the 15 most recent of 17 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.