如何使用探针在 python 中创建 gstreamer 管道
How to create gstreamer pipeline in python with a probe
我正在尝试编写一个代码来获取图像输入,在其上写入一些文本,然后将其发送到接收器(应用程序、文件或 Gtk 显示)。
下面的代码在终端和通过 python:
pipeline = Gst.parse_launch(f"videotestsrc ! videoscale ! video/x-raw,width=1920,height=1080 ! autovideosink")
我需要一个探针来在图像上放置一些文本,所以我将其转换为 gi
格式以便对其进行操作。该代码不提供视觉或文本输出。代码有没有问题:
pipeline = Gst.Pipeline()
source = Gst.ElementFactory.make("videotestsrc", "video-source")
pipeline.add(source)
scale = Gst.ElementFactory.make("videoscale", "scale")
pipeline.add(scale)
caps = Gst.Caps.from_string("video/x-raw,width=1920,height=1080")
filter = Gst.ElementFactory.make("capsfilter", "filter")
filter.set_property("caps", caps)
pipeline.add(filter)
scale.link(filter)
sink = Gst.ElementFactory.make("autovideosink", "video-sink")
pipeline.add(sink)
filter.link(sink)
loop = GLib.MainLoop()
pipeline.set_state(Gst.State.PLAYING)
try:
loop.run()
except Exception as e:
print(e)
pipeline.set_state(Gst.State.NULL)
您没有 link 您的 videotestsrc
到您的 videoscale
元素。也就是说,你忘了
source.link(scale)
我正在尝试编写一个代码来获取图像输入,在其上写入一些文本,然后将其发送到接收器(应用程序、文件或 Gtk 显示)。
下面的代码在终端和通过 python:
pipeline = Gst.parse_launch(f"videotestsrc ! videoscale ! video/x-raw,width=1920,height=1080 ! autovideosink")
我需要一个探针来在图像上放置一些文本,所以我将其转换为 gi
格式以便对其进行操作。该代码不提供视觉或文本输出。代码有没有问题:
pipeline = Gst.Pipeline()
source = Gst.ElementFactory.make("videotestsrc", "video-source")
pipeline.add(source)
scale = Gst.ElementFactory.make("videoscale", "scale")
pipeline.add(scale)
caps = Gst.Caps.from_string("video/x-raw,width=1920,height=1080")
filter = Gst.ElementFactory.make("capsfilter", "filter")
filter.set_property("caps", caps)
pipeline.add(filter)
scale.link(filter)
sink = Gst.ElementFactory.make("autovideosink", "video-sink")
pipeline.add(sink)
filter.link(sink)
loop = GLib.MainLoop()
pipeline.set_state(Gst.State.PLAYING)
try:
loop.run()
except Exception as e:
print(e)
pipeline.set_state(Gst.State.NULL)
您没有 link 您的 videotestsrc
到您的 videoscale
元素。也就是说,你忘了
source.link(scale)