Python最佳视频处理库是什么?

32

我想在编写的Python应用程序中包含一些简单的视频编辑功能,通过谷歌搜索,我找到了以下几个库:

  1. pymedia
  2. pyglet(使用媒体模块)
  3. gst-python

要求:

  1. 占用空间小。我已经在使用wxPython(只是因为它),这会使最终的EXE文件变得很臃肿,因此,我希望用于实现此视频编辑功能的任何内容都不应显著增加体积。
  2. 该库应仍在积极维护。
  3. 不应需要专有许可证,因此FMOD不在考虑范围内。
  4. 依赖关系最小化。
  5. 不是一个完整的视频编辑器。没有需要花哨的东西。只需能够跳转到视频的不同部分,并且可以获取帧或放置(多个)标记以剪切视频的开始和结束部分。
  6. 跨平台 - 应该能够在Windows、Linux和OS X上运行。

如果您在Python应用程序中使用过上述视频编辑库或其他我尚未发现的库,请告诉我每个库的缺点以及它们彼此之间的差异。如果您还知道avbin的Python绑定,我想知道在哪里找到它。

gst-python(带有Python绑定的Gstreamer)似乎没有很好的文档。它似乎也与pyGTK紧密耦合,而pyGTK是一个相当大的工具包。

4个回答

13
我建议您再次查看gst-python!它与pyGTK没有耦合。您可以完全独立地使用它,而不依赖于GTK的Python绑定或C库。我编写了几个使用gst-python而不是GTK的命令行实用程序。

确实,gst-python文档并不是很好。但是,C API和模块的文档真的非常详尽,并且从C API到Python API的映射非常简单。而且,Gstreamer社区非常活跃,我在邮件列表和IRC上寻求帮助时运气很好!


9
我现在正在使用pyglet进行项目开发,我非常喜欢它。他们的网站现在有点慢,但通常情况下,他们文档页面上的编程指南是介绍该库的绝佳入门材料。他们的标准API文档也非常详尽。
我现在不能具体说明我们的项目是什么,但当你说你需要

不是全功能视频编辑器。没有必要太花哨。只需要能够跳转到视频的不同部分,并抓取帧或放置(多个)标记来切除视频片段的起始和结束。

我可以证实,使用pyglet编写代码将变得轻而易举。
浏览您列表中的其余内容,我现在无法对文件大小发表意见,但是pyglet正在积极维护(事实上,开发人员在两周前的错误跟踪器上对我非常有帮助),采用BSD许可证,不需要依赖任何东西(可选择AVBIN支持其他文件格式),在Windows和Linux上都适用于我们。
到目前为止,我们遇到的唯一跨平台问题是就声音而言,在Linux上,您可以选择将立体声文件混合成单声道的OpenAL,而不会在播放声音时提供任何音量控制的ALSA。他们声称这两个问题都是上游存在的,并正在解决。

1
+1 for pyglet。它的文档非常完善。 - Jeff

6

gst-python并不与pygtk有任何耦合,它只是恰好共享一个通用对象模型(pygobject)和一种帮助生成绑定的方法。但是您可以轻松地在没有pygtk的情况下使用gst-python - 以Flumotion为例。


1
请修复演示的链接。 - Cristian Ciupitu
1
两个链接都无法打开 @Thomas - MAhipal Singh

3
我目前处于同样的困境。我很幸运能够联系到Ardome Media Library项目的开发人员。
这个库是基于过滤器图形系统的。它是基于http://www.khronos.org/openml/的免费版本,我想。
它目前在Linux和OS X上运行,并且正在等待Windows集成。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接