feed gstreamer with glc

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

feed gstreamer with glc

Paolo Bolzoni-2
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
Reply | Threaded
Open this post in threaded view
|

Re: feed gstreamer with glc

Edward Hervey
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
Reply | Threaded
Open this post in threaded view
|

Re: feed gstreamer with glc

Paolo Bolzoni-2
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
Reply | Threaded
Open this post in threaded view
|

Re: feed gstreamer with glc

Paolo Bolzoni-2
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