我正在将程序从pygst 0.10移植到1.0,我遇到了管道问题。我在0.10版本中使用的管道运行良好,是:
t1: 0.654838958307
t2: 1.53977598714
t3: 6.7898791732
t5: 0.422228400305
对于1.0版本,管道应该是这样的:
In [8]: eudis1(v1,v2)
Out[8]: 64.60650122085238
In [9]: eudis2(v1,v2)
Out[9]: 64.60650122085238
In [10]: eudis3(v1,v2)
Out[10]: array([[ 64.60650122]])
In [11]: eudis5(v1,v2)
Out[11]: 64.60650122085238
代码是:
udpsrc name=src ! tsparse ! tsdemux ! queue ! ffdec_h264 max-threads=0 ! identity ! xvimagesink force-aspect-ratio=True name=video
我已设置调试标志和输出iS:
udpsrc name=src ! tsparse ! tsdemux ! queue ! avdec_h264 ! videoconvert ! xvimagesink force-aspect-ratio=True name=video
答案 0 :(得分:0)
我会这样做(不准确 - 你必须调试/调整它):
self.pipeline = Gst.Pipeline()
self.udpsrc = Gst.ElementFactory.make('udpsrc', 'src')
self.pipeline.add(self.udpsrc)
self.udpsrc.set_property("port", 1234)
self.udpsrc.set_property("caps", "your caps)
self.decodebin = Gst.ElementFactory.make("decodebin", None)
self.pipeline.add(self.decodebin)
self.imagesink = Gst.ElementFactory.make('xvimagesink', None)
self.pipeline.add(self.imagesink)
self.udpsrc.link(self.decodebin)
self.decodebin.link(self.imagesink)
答案 1 :(得分:0)
我认为以下行有错误:
self.udpsrc = Gst.ElementFactory.make('udpsrc', 'src')
self.pipeline.add(self.udpsrc)
self.udpsrc.set_property("socket",Gio.Socket().new_from_fd(self.videosocket.fileno()))
他们应该是:
self.udpsrc = Gst.ElementFactory.make('udpsrc', 'src')
self.udpsrc.set_property("socket",Gio.Socket().new_from_fd(self.videosocket.fileno()))
self.pipeline.add(self.udpsrc)