工具与资源github.com
用 Python 做视频剪辑:MoviePy
Video editing with Python
2018 — 2021,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
MoviePy 是一个用 Python 做视频编辑的开源库,提供以代码剪辑、拼接和组合视频、音频、文本的接口,底层依赖 FFMPEG 等工具。这个页面是它的 GitHub 仓库,适合批量处理、程序化生成视频以及把零散素材自动组装成片。
为什么经久不衰:它把复杂的 FFMPEG 操作封装成简洁可组合的 Python API,让程序化视频编辑更易写易维护,因此多年后仍被生产项目和创意项目采用。
HN 评论精选
生产环境重度使用 MoviePy,认可其封装 FFMPEG 的价值,并给出进度回调、预置转场和多线程方面的改进建议。
我是 Kapwing 的 CTO,我们的所有产品都用 MoviePy 来做在线视频编辑。文档有时让人费解,但整体上它让我们很容易搭建视频处理后端,不必深入底层去组合 ImageMagick 和 FFMPEG。有趣的是,MoviePy 编辑视频太方便,我们也用它编辑图片:用户上传图片后先转成视频格式,用 MoviePy 处理,再转回图片;有点低效,但比另写一套图片代码更合适。改进建议:1)增加视频编辑进度回调,方便输出到前端;2)提供预定义转场,目前转场要手动计算;3)改进多 CPU 线程,初步测试中 ffmpeg 自身的线程处理似乎更有效。
justswim查看英文原文
I'm the CTO at Kapwing (https://www.kapwing.com), where we use MoviePy for all of our products (all of which help users edit video online). Sometimes the documentation has been enigmatic but overall the library has made it really easy to create a video processing backend without having to dive deeply into combining ImageMagick and FFMPEG at a low level. Funny enough, MoviePy makes it so easy to edit videos that we also use it to edit images. But the way it works is when a user uploads an image, we convert the image into a video format, edit it with MoviePy, then convert it back into an image. A little inefficient, but it works better for us than writing a completely different branch of code to handle images. Having worked with MoviePy for a while my main ideas for improvement would be: 1) Create a callback for video editing progress so that it could be outputted to the frontend, etc, 2) Make predefined transitions - currently transitions need to be manually calculated, would be nice to have smarter presets to make it easier to create something like a slideshow, 3) improve threading over multiple CPUs - not sure how possible it would be for the library itself to handle this but from our initial tests ffmpeg by itself seems to handle threading more effectively
实际用它做过动画卡牌项目,认为库虽老但仍好用,只是有时要调底层 FFMPEG 参数。
几个月前我用 MoviePy 做了动画版万智牌卡牌。尽管 MoviePy 是个“较老”的库(2014 年就上过 HN),它仍然很好用,不过你可能需要折腾底层 FFMPEG 设置才能得到想要的效果。我挺惊讶它没有被更多人使用。
minimaxir查看英文原文
A few months ago I used MoviePy to create animated Magic: the Gathering cards (HN discussion: https://news.ycombinator.com/item?id=15449955 , technical writeup: http://minimaxir.com/2017/11/magic-the-gifening/) Even though MoviePy is an "older" library (original HN discussion from back in 2014: https://news.ycombinator.com/item?id=7121104), it still works pretty well, although you may have to fuss around with the low-level FFMPEG settings to get what you want. I'm surprised that there hasn't been more usage of MoviePy actually.
推荐 Vapoursynth 作为更偏高性能的程序化视频处理替代方案。
如果你对用 Python 做高性能视频处理感兴趣,想要的不只是花哨的 ffmpeg 封装,那我强烈推荐 Vapoursynth。它已经存在约 9 年,有相对较大的社区,最活跃的地方是 Doom9 论坛。我个人目前仍主要用 Avisynth,因为最熟悉它,但我也用过 Vapoursynth;如今想进入程序化视频处理,它绝对是该学的。
Daiz查看英文原文
If you're interested in high performance video processing with Python and want something more than just a fancy ffmpeg wrapper, then I can highly recommend checking out Vapoursynth: https://www.vapoursynth.com/ It's been around for ~9 years and has a relatively large community around it, most visibly found on the Doom9 forums: http://forum.doom9.org/forumdisplay.php?f=82 I'm personally still mostly using Avisynth these days since it's what I'm most familiar with, but I've also used Vapoursynth and it's definitely the one to learn if you want to get into programmatic video processing these days.
提到 3blue1brown 用 Python 的 manim 生成视频,作为程序化视频制作的知名案例。
我最近才知道,3blue1brown 的视频是用 Python 生成的:https://github.com/3b1b/manim
rayalez查看英文原文
I've recently learned that 3blue1brown's [1] videos are generated with python: https://github.com/3b1b/manim [1] https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw
历次讨论
同类还值得读
直接在浏览器中启动 Linux 内核
Boot a linux kernel right inside your browser.
Fabrice Bellard 的 JSLinux 页面,用 JavaScript 在浏览器里启动一个 Linux 内核,并提供一个可交互的终端环境。
工具与资源上首页 5 次 · 2011–2025bellard.orgHacker News 未公开功能与行为清单(2018)
A List of Hacker News's Undocumented Features and Behaviors (2018)
数据科学家 Max Woolf 整理的 Hacker News 未公开功能与行为清单,涵盖投票机制、排名算法、账号惩罚等社区运作细节。
工具与资源上首页 5 次 · 2019–2025github.comMapSCII:在终端中用盲文和 ASCII 渲染地图
MapSCII – Braille and ASCII map renderer for the console
MapSCII 是一个在命令行终端里渲染地图的开源工具,用盲文字符和 ASCII 字符把地理数据画成可交互浏览的字符地图。
工具与资源上首页 5 次 · 2017–2025github.com顶尖大学的免费在线课程
Free Online Courses from Top Universities
Open Culture 整理的一份免费在线课程合集,汇集了全球顶尖大学(如 MIT、斯坦福、耶鲁等)向公众开放的网络课程资源,涵盖音频、视频等多种形式。
工具与资源上首页 5 次 · 2010–2022openculture.com淘气字符串:容易引发用户输入问题的字符串清单
Naughty Strings: A list of strings likely to cause issues as user-input data
一个 GitHub 仓库,收录了大量容易让程序出问题的用户输入字符串,如特殊字符、emoji、SQL 注入片段、系统命令等,供开发者用于测试输入处理逻辑。
工具与资源上首页 4 次 · 2015–2020github.com