这是用于从服务器捕获流视频的 python 代码。但我需要编写一个函数来从流中提取一帧。这将是一个按钮。单击它将显示当前帧。我没有想法。谁能帮我这个???
self.player = gst.Pipeline("player")
self.source = gst.element_factory_make("uridecodebin", "video-source")
#self.source = gst.element_factory_make("playbin2", "video-source")
sink = gst.element_factory_make("xvimagesink", "video-output")
colorspace = gst.element_factory_make("ffmpegcolorspace")
scale = gst.element_factory_make("videoscale")
self.source.set_property("uri",\
"http://10.10.25.4:12345/webcam.flv")
caps = gst.Caps("video/x-raw-yuv, width=640, height=480, framerate=20/1")
myfilter = gst.element_factory_make("capsfilter", "myfilter")
myfilter.set_property("caps", caps) # ################
clr_sink = colorspace.get_pad("sink")
self.source.connect("pad-added", self.on_pad_added, clr_sink)
self.player.add(self.source, colorspace, scale, myfilter, sink)
gst.element_link_many(colorspace, scale, myfilter, sink)
self.bus = self.player.get_bus()
self.bus.add_signal_watch()
self.bus.connect('message', self.__on_message)
self.player.set_state(gst.STATE_PLAYING)
如果可以使用 playbin2,则可以使用“convert-frame”动作信号。否则看看实现和重用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)