Me gustaría mostrar una imagen en Python usando enlaces gstreamer, pero sin usar GTK + (estoy en ARM).Mostrar imagen sin gtk
sé cómo escuchar música con pitón y 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)
sé cómo mostrar una imagen con gstreamer en la línea de comandos:
gst-launch-0.10 filesrc location=image.jpeg ! jpegdec ! freeze ! videoscale ! ffmpegcolorspace ! autovideosink
Lo que yo quiero es la exacta Lo mismo, pero usando Python.
Probé algunas cosas, el código se ejecuta sin errores, pero no se muestra nada en la pantalla.
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)
¿Alguna idea que pueda ayudarme?
¡Gracias por adelantado!
Por cierto, también tengo trabajos de audiotest y videotest. Aquí hay un ejemplo que funciona muy bien:
# 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)
¿Has probado otros receptores como 'xvimagesink' o' ximagesink'? – jcollado
Yo estaba, en este mismo momento. Obtuve un ejemplo funcional con videosink. Lo puse al final de mi publicación. gracias por la ayuda – jlengrand
@jlengrand: puede responder su propia pregunta y cerrar esto. Es normalmente como manejamos situaciones como esta. – Will