如何使用探针在 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)