Dear gstreamer list,
I am trying to feed gstreamer with the output of glc*. But I cannot get it to work, here is my experiments. Open three shells and execute this commands, you should see that mplayer works. first shell, mplayer reads the stream. $ mkfifo mux $ mkfifo video $ mplayer -identify video second shell, glc converts from its internal format. $ glc-play mux -t -y 1 -o video third shell, glc starts the application and starts the screencast. $ glc-capture --disable-audio -s -o mux glxgears In my system mplayer gave some useful information about what gstreamer pipeline I might need: [lavf] stream 0: video (rawvideo), -vid 0 VIDEO: [I420] 300x300 0bpp 30.000 fps 0.0 kbps ( 0.0 kbyte/s) ID_VIDEO_FORMAT=I420 ID_VIDEO_WIDTH=300 ID_VIDEO_HEIGHT=300 So instead of mplayer in the first shell I try to execute: $ gst-launch-1.0 -tev filesrc location=video \ ! videoparse height=300 width=300 framerate=30 \ ! autovideosink The output is wrong, the gears appear distorted and after a while the gears stop altogether. Maybe there is some payload? So my question is, how is possible to feed gstreamer with glc video? Thanks, Paolo * https://github.com/nullkey/glc _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Administrator
|
Hi,
glc seems to output y4m streams (and not just raw video). Replace videoparse with y4mdec and it should do the trick. Edward On Mon, 2012-11-26 at 21:49 +0100, Paolo Bolzoni wrote: > Dear gstreamer list, > > I am trying to feed gstreamer with the output of glc*. But I cannot > get it to work, here is my experiments. > > Open three shells and execute this commands, you should see that > mplayer works. > > first shell, mplayer reads the stream. > $ mkfifo mux > $ mkfifo video > $ mplayer -identify video > > second shell, glc converts from its internal format. > $ glc-play mux -t -y 1 -o video > > third shell, glc starts the application and starts the screencast. > $ glc-capture --disable-audio -s -o mux glxgears > > In my system mplayer gave some useful information about what > gstreamer pipeline I might need: > > [lavf] stream 0: video (rawvideo), -vid 0 > VIDEO: [I420] 300x300 0bpp 30.000 fps 0.0 kbps ( 0.0 kbyte/s) > ID_VIDEO_FORMAT=I420 > ID_VIDEO_WIDTH=300 > ID_VIDEO_HEIGHT=300 > > So instead of mplayer in the first shell I try to execute: > $ gst-launch-1.0 -tev filesrc location=video \ > ! videoparse height=300 width=300 framerate=30 \ > ! autovideosink > > The output is wrong, the gears appear distorted and > after a while the gears stop altogether. Maybe there is some > payload? > > So my question is, how is possible to feed gstreamer with glc video? > > Thanks, > Paolo > > > * https://github.com/nullkey/glc > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
I am afraid that it was my first try...
Here is what happen if I use y4mdec: ----------------------------- >8 % gst-launch-1.0 -tev filesrc location=video \ ! y4mdec \ ! autovideosink Setting pipeline to PAUSED ... Pipeline is PREROLLING ... /GstPipeline:pipeline0/GstY4mDec:y4mdec0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)300, height=(int)300, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, framerate=(fraction)30/1 /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-raw, format=(string)I420, width=(int)300, height=(int)300, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, framerate=(fraction)30/1 /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstXvImageSink:autovideosink0-actual-sink-xvimage.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)300, height=(int)300, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, framerate=(fraction)30/1 /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0.GstGhostPad:sink: caps = video/x-raw, format=(string)I420, width=(int)300, height=(int)300, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, framerate=(fraction)30/1 ERROR: from element /GstPipeline:pipeline0/GstY4mDec:y4mdec0: Failed to parse YUV4MPEG frame Additional debug info: gsty4mdec.c(517): gst_y4m_dec_chain (): /GstPipeline:pipeline0/GstY4mDec:y4mdec0 ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... Freeing pipeline ... 8< ----------------------------- _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
It works with y4mparse*, but Gentrans is still at version 0.10.3 in my
distro. I tried to compile it manually, but I get this error: WARNING **: Can't find avdemux_yuv4mpegpipe element, y4mparse will not work I can just use gstreamer 0.10... but I would like to use the newer one. Paolo * http://gentrans.sourceforge.net/docs/head/gst-entrans-plugins/html/gst-entrans-plugins-y4mparse.html _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |