TypeError:Gst.Bin.add()只取2个参数(给定5个)

时间:2018-04-03 13:20:36

标签: python-3.5 gstreamer python-gstreamer

几周后我一直在使用gstreamer。我仍然不太了解内部的运作方式。所以我在网上学习了一些教程,学习如何以高效的方式使用它。这是教程https://github.com/gkralik/python-gst-tutorial的Github链接。但每当我使用终端运行脚本时,我都会得到类似这样的内容

Traceback (most recent call last):
File "gst2.py", line 23, in <module>
pipeline.add(source, filter_vertigo, videoconvert, sink)
TypeError: Gst.Bin.add() takes exactly 2 arguments (5 given)

我不知道这里有什么问题。 gstreamer使用命令行直接从终端运行视频文件。但是当我编写一些代码时,它会产生类似于上面的错误或者根本不显示。在上面的教程链接中,第一个教程应该播放默认的电影预告片,但它不会向我显示任何输出。

请提出一些修正建议。我应该使用什么版本来正确或任何其他帮助。我在Ubuntu 16.04 LTS上。并使用python 3.5进行教程。 gi版本是3.20.0。

2 个答案:

答案 0 :(得分:0)

在脚本中更改以下行:

#!/usr/bin/env python3

#!/usr/bin/env python2.7 

使其有效。

我已经使用安装了python绑定

sudo apt-get install python-gst-1.0

但是,这并未使其在python3上起作用。  随时让我知道您是如何工作的。 我正在使用已安装python3、2.7、3.6、2的Ubuntu 18.04

答案 1 :(得分:0)

一个接一个地添加帮助我运行了应用程序

pipeline.add(source, filter_vertigo, videoconvert, sink)

需要修改为

pipeline.add(source)
pipeline.add(filter_vertigo)
pipeline.add(videoconvert)
pipeline.add(sink)