gpt4 book ai didi

python - 不使用 gtk 显示图像

转载 作者:太空狗 更新时间:2023-10-29 21:55:39 28 4
gpt4 key购买 nike

我想使用 gstreamer 绑定(bind)在 Python 中显示图像,但不使用 GTK+(我在 ARM 上)。

我知道如何用 python 和 gstreamer 听音乐:

#!/usr/bin/python
# Simply initiates a gstreamer pipeline without gtk
import gst
import gobject
import sys

mainloop = gobject.MainLoop()
my_bin = gst.element_factory_make("playbin")
my_bin.set_property("uri", "file:///home/Lumme-Badloop.ogg")
my_bin.set_state(gst.STATE_PLAYING)

try:
mainloop.run()
except KeyboardInterrupt:
sys.exit(0)

我知道如何在命令行中使用 gstreamer 显示图像:

gst-launch-0.10 filesrc location=image.jpeg ! jpegdec ! freeze ! videoscale ! ffmpegcolorspace ! autovideosink

我想要的是完全相同的东西,但使用 Python。

我尝试了一些东西,代码运行没有错误,但屏幕上没有任何显示。

pipe = gst.Pipeline("mypipe")

source = gst.element_factory_make("filesrc", "filesource")
demuxer = gst.element_factory_make("jpegdec", "demuxer")
freeze = gst.element_factory_make("freeze", "freeze")
video = gst.element_factory_make("videoscale", "scaling")
ffm = gst.element_factory_make("ffmpegcolorspace", "muxer")
sink = gst.element_factory_make("autovideosink", "output")

pipe.add(source, demuxer, freeze, video, ffm, sink)

filepath = "file:///home/image.jpeg"
pipe.get_by_name("filesource").set_property("location", filepath)

pipe.set_state(gst.STATE_PLAYING)

你有什么想法可以帮助我吗?

提前致谢!

顺便说一下,我还有音频测试和视频测试。这是一个运行良好的示例:

# Create GStreamer pipeline
pipeline = gst.Pipeline("mypipeline")
# Set up our video test source
videotestsrc = gst.element_factory_make("videotestsrc", "video")
# Add it to the pipeline
pipeline.add(videotestsrc)
# Now we need somewhere to send the video
sink = gst.element_factory_make("xvimagesink", "sink")
# Add it to the pipeline
pipeline.add(sink)
# Link the video source to the sink-xv
videotestsrc.link(sink)

pipeline.set_state(gst.STATE_PLAYING)

最佳答案

尝试:

文件路径 = "/home/image.jpeg"

filesrc 的 location 属性采用文件路径,而不是 URI。您应该检查管道总线上的错误消息。或者使用 GST_DEBUG=*:3 yourapp.py 运行您的代码以查看是否存在问题/错误。

另外,你可以这样做

pipeline = gst.parse_launch("filesrc location=/home/foo/image.jpg !jpegdec !....")

而不是自己构建管道(对于简单的事情,无论如何,parse_launch 有点受限)。

关于python - 不使用 gtk 显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8790127/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com